AI编程助手Claude Code、Codex、OpenCode一站式Docker环境
-
- 一、为什么要搭建这样一个环境?
- 二、相关截图
- 二、整体架构与核心概念
- 三、准备工作(是什么 & 为什么)
- 四、详细操作步骤(如何操作)
-
- 步骤1:如果你在Windows上,先安装WSL(可选)
- 步骤2:安装Docker(如果没有)
- 步骤3:启动Ollama服务(宿主机或外部服务器)
- 步骤4:测试Ollama服务(可选)
- 步骤5:创建并运行Docker容器
- 步骤6:初始化默认配置
- 步骤7:切换模型供应商(以使用本地qwen3.5:9b为例)
- 步骤8:集成飞书机器人(OpenClaw,可选)
- 步骤9:配置Web SSH(easynode,可选)
- 步骤10:使用三款AI编程工具
- 步骤11:其他有用命令
- 步骤12:进阶——使用MCP(模型上下文协议)
- 五、常见问题与排错
- 六、结语
你是否好奇过不同AI编程助手(如Claude Code、Codex、OpenCode)在处理同一个任务时的表现差异?想知道它们谁更聪明、谁更省token、谁更适合你的工作流?本文将搭建一个开箱即用的对比实验环境,让你能在同一台机器上、使用同一个模型(甚至同一份提示词),快速切换测试这三款主流AI编程工具。所有服务都运行在Docker容器内,既安全又整洁,还支持通过浏览器访问,方便部署在云端服务器。
1.1 背景与动机
AI编程助手正在改变我们写代码的方式。Claude Code(Anthropic出品)、Codex(OpenAI)和OpenCode(开源社区)各有特色。然而:
- 不同工具需要不同的安装和环境配置,容易污染本地系统。
- 在本地运行大模型(比如qwen3.5:9b)需要GPU资源,部署在云端更划算。
- 想对比它们在相同任务下的表现,需要一个可复现、可切换的统一环境。
因此,这里采用Docker方案:
- 隔离性:所有依赖封装在容器里,宿主机干干净净。
- 可访问性:通过Web SSH和Web UI,随时随地用浏览器操作。
- 低成本:默认集成Ollama,可使用本地模型(如qwen3.5:9b),也可切换至云端模型(通过OpenRouter等)。
- 可对比:一个容器内集成了三款主流CLI编程工具,一键切换模型供应商,方便做A/B测试。
1.2 你能得到什么
- 一个运行着SSH服务、Web SSH管理界面(easynode)、三款AI编程工具(Claude Code, Codex, OpenCode)的Docker容器。
- 预配置的Ollama客户端,可以连接本地或远程的Ollama服务,使用任意模型。
- 一套切换模型的Python脚本,支持自定义API地址、模型名、API Key和代理。
- 一个可选集成的飞书机器人(OpenClaw),方便在聊天中调用AI能力。
在开始操作前,先理解几个关键组件:
3.1 基础环境
- 一台Linux服务器(或Windows + WSL) :如果你用的是Windows,建议先安装WSL(Windows Subsystem for Linux),体验原生Linux环境。
- 为什么:Docker在Linux上运行最稳定,大多数AI工具也针对Linux优化。
- Docker :容器运行时,我们用它创建和管理容器。
- 为什么:Docker能保证环境一致性,避免"在我电脑上能跑"的问题。
3.2 可选:Ollama服务
你可以选择在宿主机上运行Ollama(若你有GPU),也可以使用云端Ollama或OpenRouter。本教程以本地Ollama为例。
- 为什么:本地模型免费、无网络延迟;云端模型可能更强,但需付费。通过Ollama,我们可以无缝切换。
下面每一步都会说明"是什么"、"为什么"和"如何操作"。请逐条执行,注意替换示例中的IP地址、密钥等为你的实际信息。
步骤1:如果你在Windows上,先安装WSL(可选)
是什么:WSL让你能在Windows上运行Linux系统,无需虚拟机。
为什么:大多数AI工具和Docker原生支持Linux,在WSL里操作更顺畅。
如何操作:
步骤2:安装Docker(如果没有)
是什么:Docker是容器引擎,我们用它拉取和运行镜像。
为什么:容器内已经打包好所有工具,你只需一行命令就能启动完整环境。
如何操作(以Ubuntu为例):
GPT plus 代充 只需 145
步骤3:启动Ollama服务(宿主机或外部服务器)
是什么:Ollama是一个大模型服务,提供与OpenAI兼容的API接口。我们需要它来驱动AI编程助手。
为什么:容器内的AI工具会通过Ollama API调用模型。你可以选择在宿主机运行Ollama(利用本地GPU),也可以使用远程Ollama实例。
如何操作(在宿主机执行,假设你已有Ollama二进制):
注意:如果宿主机没有GPU,Ollama会使用CPU运行,速度较慢。此时可以考虑使用OpenRouter等云端API。
步骤4:测试Ollama服务(可选)
是什么:发送一个简单请求,验证Ollama是否正常工作。
为什么:确保API可用,避免后续AI工具调用失败。
如何操作:
GPT plus 代充 只需 145 如果返回包含"3"的JSON,说明服务正常。
步骤5:创建并运行Docker容器
是什么:从Docker Hub拉取预构建镜像,创建容器并进入交互式Shell。
为什么 :镜像已包含所有工具和依赖,你无需手动安装。
如何操作:
参数解释:
- :容器名。
- :容器内的主机名。
- :赋予容器特权,以便启动SSH等系统服务。
- :使用宿主机网络,方便容器访问宿主机上的Ollama(若Ollama在宿主机)。
- :将当前目录挂载到容器的,方便交换文件。
- :工作目录设为。
执行后,你会进入容器的bash提示符。后续操作均在容器内进行。
步骤6:初始化默认配置
是什么 :运行容器内的脚本,它会重置一些工具的默认配置,确保环境干净。
为什么:避免之前使用残留的配置影响当前实验。
如何操作:
GPT plus 代充 只需 145
步骤7:切换模型供应商(以使用本地qwen3.5:9b为例)
是什么:运行Python脚本,修改AI工具的配置文件,让它们指向你的Ollama服务。
为什么:Claude Code、Codex等默认使用官方API(如Anthropic、OpenAI),我们需要将它们重定向到自己的Ollama端点。
如何操作:
参数解释:
- :Ollama API地址(容器内访问宿主机用127.0.0.1)。
- :模型名称。
- :Ollama不需要真实key,填任意值。
- :无需代理
脚本会修改、等文件,将API基础URL指向你的Ollama。
步骤8:集成飞书机器人(OpenClaw,可选)
是什么:OpenClaw是一个AI网关,可以将飞书群聊中的消息转发给模型,并返回应答。
为什么:如果你想在团队协作中测试AI能力,或者用飞书作为交互界面,这个配置很有用。
如何操作:
8.1 设置模型及飞书App ID/Secret
GPT plus 代充 只需 145 8.2 启动网关
8.3 浏览器访问管理界面
打开 即可查看状态。
步骤9:配置Web SSH(easynode,可选)
是什么:easynode是一个基于Web的SSH客户端,让你在浏览器里就能操作容器终端,无需安装额外软件。
为什么:方便从任何设备(包括手机)登录容器,尤其当容器部署在云端时。
如何操作:
9.1 设置SSH密码并启动SSH服务
9.2 启动easynode
9.3 获取自动生成的登录凭据
示例输出:
9.4 浏览器访问
打开 ,输入上面的用户名和密码,即可获得Web终端。
步骤10:使用三款AI编程工具
现在环境已就绪,你可以开始体验了!
10.1 Claude Code
首次运行会提示登录,按指引操作(若已配置模型切换,会直接使用你的Ollama)。之后即可在终端中与Claude对话,让它帮你写代码、解释代码等。
10.2 Codex(OpenAI Codex)
注意: 参数会绕过安全确认,适合实验环境。
10.3 OpenCode
OpenCode是一个开源实现,界面类似。输入可以切换模型。
步骤11:其他有用命令
11.1 更新工具到最新版本
11.2 切换不同模型/供应商的示例
支持多种场景:
GPT plus 代充 只需 145 11.3 针对OpenCode的特殊说明
OpenCode默认使用Anthropic API,如果你通过OpenRouter使用Claude模型,需要先登录OpenRouter:
步骤12:进阶——使用MCP(模型上下文协议)
是什么:MCP是一种让AI模型调用外部工具(如股票查询、数据库查询)的协议。通过MCP,你可以赋予AI编程助手实时获取信息的能力。
为什么:比如让Claude帮你查股票行情,它需要调用外部API,MCP就是桥梁。
如何操作(以股票MCP为例):
- 在容器外 (或另一个终端)启动MCP服务:
GPT plus 代充 只需 145
之后在Claude Code中提问关于股票的问题,它会自动调用MCP工具获取数据。
Q:容器内无法访问宿主机的Ollama?
A:检查是否使用了,并确认宿主机Ollama监听在(而非)。在容器内用测试。
Q:AI工具报错"Invalid API Key"?
A:Ollama不需要真实key,但工具可能要求非空,脚本已填入"test"。如果使用OpenRouter,务必填入有效密钥。
Q:easynode无法访问?
A:确认防火墙开放了8092端口,并且容器内正常运行。查看日志。
Q:我想用其他模型(如DeepSeek)?
A:通过指定对应模型的base_url和model_name。如果是Ollama模型,先。
通过本文,你应该能成功搭建一个集成了Claude Code、Codex、OpenCode的Docker环境,并自由切换不同模型。这个环境不仅是对比测试的利器,也是学习AI编程助手、探索MCP的绝佳平台。希望你能用这个环境发现更多有趣的用法,也欢迎分享你的测试结果和心得!
如果你在搭建过程中遇到问题,或有改进建议,欢迎在评论区留言交流。祝你玩得开心!
资源链接
- 股票MCP仓库:https://github.com/xinkuang/china-stock-mcp
- 社区Skill分享:https://awesomeclaude.ai/
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/242583.html