ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

openrig 工作台:Claude Code 与 Codex 多工具环境整合实战

openrig 工作台:Claude Code 与 Codex 多工具环境整合实战 1. 从 openrig 说起一个把 Claude Code 和 Codex 装进同一副骨架的终端工作台第一次看到openrig这个名字我脑子里蹦出来的不是某个具体工具而是一类东西——rig在英文里是钻井平台装备架的意思。搞过音频或者舞台的人对这个词更熟rig 就是那一整套搭起来的家伙事儿主机、线材、接口、支架缺一样都跑不起来。放到 AI 编程助手这个语境里openrig想干的事情其实很直白把 Claude Code、Codex 这类命令行 AI 编程工具连同它们依赖的 Node.js 运行时、tmux 会话管理、本地模型接入、第三方 API 转发全部整合到一套可复用、可切换、可维护的装备架上。为什么会有这个需求因为过去大半年我身边几乎所有认真用 AI 写代码的人都经历过同一个混乱阶段今天装 Claude Code明天试 Codex后天想把本地 LM Studio 的模型接进来大后天又发现某个第三方 API 更便宜想切过去。每换一次就是一轮 Node.js 版本折腾、环境变量重配、配置文件改来改去。openrig这类项目的核心价值就是把这堆零散的东西收敛成一套统一的工作台让你在 Claude Code、Codex、本地模型、第三方 API 之间平滑切换而不是每次都从头搭一遍。这篇文章适合三类人看第一类是完全没接触过 Claude Code 或 Codex想搞清楚这套东西到底怎么落地的新手第二类是已经装了但被 Node.js 版本、tmux 会话、代理转发这些问题反复折磨的中级用户第三类是想把多个 AI 编程工具统一管理、甚至接入本地模型和第三方 API 的老手。我会从整体设计思路讲到具体实操把踩过的坑和验证过的方案都摊开说。2. 整体设计与思路拆解为什么是这套组合2.1 核心矛盾工具太多环境太乱先说清楚问题本身。Claude Code 和 Codex 都是命令行 AI 编程助手它们的共同点是跑在终端里能读写你的项目文件能执行命令能理解代码上下文。但它们的实现路径不一样。Claude Code 是 Anthropic 官方出的 CLI 工具通过 npm 分发依赖 Node.js 运行时Codex 是 OpenAI 的 CLI 编程代理同样走 npm 生态。两个工具都要 Node.js但对 Node.js 版本的要求经常打架——这就是第一个大坑。我实测下来Claude Code 对 Node.js 版本相对宽容LTS 版本基本都能跑但 Codex 在某些版本上会直接报错比如你可能会遇到error installing 24.21.0: node.js v24.21.0 is not yet released or is not available这种提示本质是你指定的版本号在镜像源里根本不存在或者你的包管理器缓存指向了一个还没正式发布的版本。这种错误看着吓人其实就是版本号写错了或者源不对。openrig这类整合方案的设计思路第一条就是用版本管理器隔离 Node.js而不是全局装一个版本硬扛。常见做法是用nvmNode Version Manager或者fnmFast Node Manager给 Claude Code 和 Codex 各自准备一个干净的 Node 环境。这样即使两个工具要求的版本不同也不会互相污染。2.2 为什么选 tmux 做会话层第二个设计决策是 tmux。很多人第一次听说AI 编程工具要配 tmux会懵这俩有啥关系关系大了。Claude Code 和 Codex 都是长时运行的交互式进程你启动它之后它会持续读你的输入、执行命令、输出结果。如果你直接在普通终端里跑一旦网络抖动、SSH 断线、或者你不小心关了窗口整个会话就没了之前积累的上下文可能全丢。tmux 解决的就是这个问题。它把终端会话托管在一个后台服务里你的窗口只是连上去看。断线了重新连会话还在原地。对于需要长时间跑 AI 编程任务的场景这是刚需。而且 tmux 还支持分屏你可以一个窗格跑 Claude Code一个窗格跑 Codex一个窗格看日志一个窗格跑测试效率直接翻倍。openrig把 tmux 作为会话层本质上是把AI 编程从一次性命令升级成可持续的工作环境。这个思路我觉得是对的因为 AI 编程本来就不是敲一条命令就完事它更像是在跟一个结对程序员长时间协作。2.3 本地模型与第三方 API 的接入逻辑第三个设计决策是模型接入层。Claude Code 默认走 Anthropic 的 APICodex 默认走 OpenAI 的 API但很多人想用本地模型比如 LM Studio 跑的模型或者第三方 API比如 DeepSeek、Qwen、GLM 这些。这就需要一个转发层把工具发出的请求转接到你想要的模型端点。这里有个关键概念叫endpoint 映射。Claude Code 和 Codex 各自有自己期望的 API 路径比如 Codex 会往/responses这个端点发请求。如果你用第三方转发工具比如 cc switch 这类它需要正确识别并转发这些路径。我见过最常见的报错就是cc switch local proxy failed while handling codex endpoint /responses意思是转发层不认识 Codex 的/responses端点请求打到一半就断了。解决思路通常是升级转发工具版本或者手动在配置里补上这个路径的映射规则。openrig把这一层也纳入进来意味着它不只是装工具而是装工具 配路由 管会话的完整方案。这个定位比单纯的安装脚本高一个层次。2.4 方案选型的取舍为什么不用 Docker 一把梭我试过Docker 确实能隔离环境但对 AI 编程工具来说有几个硬伤第一工具需要访问你的项目文件挂载卷配置麻烦第二工具需要调用你本地的模型服务比如 LM Studio 跑在宿主机上容器网络要额外配置第三交互式终端的体验在容器里会打折扣。所以openrig选择宿主机 版本管理器 tmux这套组合而不是容器化是有道理的。为什么不用全局安装因为全局安装的 Node.js 版本是唯一的Claude Code 和 Codex 一旦版本需求冲突就无解。版本管理器让你可以按项目、按工具切换 Node 版本这是更灵活的方案。3. 核心细节解析与实操要点Node.js、tmux、工具安装的硬骨头3.1 Node.js 安装别再用官网下载那一套了新手最容易踩的坑就是去 Node.js 官网下载安装包双击安装。这在 Windows 上勉强能用但在需要多版本切换的场景下就是灾难。正确做法是用版本管理器。Linux / macOS 上推荐 nvmcurl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash装完之后重新加载 shell 配置source ~/.bashrc # 或者 ~/.zshrc然后装一个 LTS 版本nvm install --lts nvm use --lts nvm alias default lts/*Windows 上推荐 nvm-windows 或者 fnm。nvm-windows 有个坑安装前必须先卸载已有的 Node.js否则路径会冲突。fnm 更现代一些支持跨平台安装也简单。注意如果你看到error installing 24.21.0: node.js v24.21.0 is not yet released or is not available这种报错八成是你手动指定了一个不存在的版本号。先用nvm ls-remote看看有哪些版本可用别凭记忆写版本号。装完 Node.js 之后验证一下node -v npm -v两个命令都能输出版本号说明环境通了。如果node -v报command not found说明 PATH 没配好检查你的 shell 配置文件里有没有 nvm 的初始化脚本。3.2 tmux 安装与基础配置tmux 在 Linux 上基本一条命令sudo apt install tmux # Debian/Ubuntu sudo yum install tmux # CentOS/RHELmacOS 上用 Homebrewbrew install tmux装完之后建议先改一下默认前缀键。tmux 默认前缀是Ctrlb但很多人习惯Ctrla因为 screen 是这个。改法是在~/.tmux.conf里加一行set-option -g prefix C-a bind-key C-a send-prefix再配几个常用快捷键比如用|和-分屏bind | split-window -h bind - split-window -v这样你按Ctrla再按|就水平分屏按Ctrla再按-就垂直分屏。跑 AI 编程任务时一个窗格跑 Claude Code一个窗格跑 Codex一个窗格看 git status非常顺手。实操心得tmux 会话命名很重要。别用默认的 0、1、2用有意义的名字比如tmux new -s claude-work、tmux new -s codex-test。这样你tmux ls的时候一眼就知道哪个会话在干什么。3.3 Claude Code 安装npm 全局装还是本地装Claude Code 的安装方式官方推荐 npm 全局安装npm install -g anthropic-ai/claude-code装完之后在项目目录里直接敲claude就能启动。第一次启动会引导你登录走 Anthropic 的账号体系。但这里有个坑如果你用 nvm 管理 Node.js全局安装的包是绑定到当前 Node 版本的。你nvm use切到另一个版本claude命令就找不到了。解决办法有两个一是每个 Node 版本都装一遍二是用nvm alias default固定一个版本所有全局工具都装在这个版本下。Windows 用户注意Claude Code 在 Windows 上的支持相对晚一些早期版本在原生 Windows 终端里跑会有问题建议用 WSL2。如果你在 VS Code 里用可以装 Claude Code 的 VS Code 扩展体验会好一些。3.4 Codex 安装版本兼容性是最大变量Codex 的安装同样是 npmnpm install -g openai/codex但 Codex 对 Node.js 版本更敏感。我遇到过codex is ignoring 1 unrecognized configuration setting. check for typos or d...这种警告意思是你的配置文件里有个它不认识的字段。这种警告通常不影响使用但看着烦建议把配置文件里多余的字段删掉。还有一个常见问题是codex无法加载组织设置。这通常跟账号权限有关不是本地环境问题。如果你用的是个人账号一般不会遇到如果是企业账号可能需要管理员在后台开启相应权限。注意Codex 和 Claude Code 的配置文件位置不一样。Claude Code 的配置通常在~/.claude/目录下Codex 的配置在~/.codex/目录下。别把两者的配置搞混了否则会出现改了配置没生效的诡异现象。3.5 第三方 API 接入cc switch 这类工具怎么用想把 Claude Code 或 Codex 接到 DeepSeek、Qwen、GLM 这些第三方模型上需要一个转发层。cc switch 是这类工具里比较常见的一个它的作用是拦截工具发出的 API 请求转发到你指定的端点。配置的核心是端点映射。以 Codex 为例它默认往 OpenAI 的/responses端点发请求。如果你用第三方 API需要在 cc switch 里配置一条规则把/responses映射到第三方 API 的对应路径。如果映射没配好就会出现cc switch local proxy failed while handling codex endpoint /responses这个报错。排查这个问题的步骤确认 cc switch 版本是最新的老版本可能不支持 Codex 的新端点。检查配置文件里的端点映射规则确认/responses有对应的转发目标。用curl手动测试第三方 API 的端点是否可达。看 cc switch 的日志确认请求到底卡在哪一步。4. 实操过程与核心环节实现从零搭一套 openrig 工作台4.1 环境准备清单在动手之前先把要装的东西列清楚组件作用推荐方案Node.js 版本管理器隔离不同工具的 Node 版本nvmLinux/macOS、fnmWindowsNode.js LTS运行时通过版本管理器安装tmux会话管理系统包管理器安装Claude CodeAI 编程助手npm 全局安装CodexAI 编程助手npm 全局安装转发工具接入第三方 APIcc switch 或同类工具本地模型服务本地推理LM Studio 或同类工具4.2 第一步搭好 Node.js 多版本环境先装 nvm然后装两个 Node 版本一个给 Claude Code一个给 Codexnvm install 20 nvm install 22为什么装两个因为不同工具对 Node 版本的兼容性不一样多装一个版本遇到兼容性问题时可以快速切换。装完之后默认用 20nvm alias default 20然后在这个版本下装 Claude Codenvm use 20 npm install -g anthropic-ai/claude-code切到 22装 Codexnvm use 22 npm install -g openai/codex这样两个工具各自跑在独立的 Node 环境里互不干扰。用的时候nvm use切一下就行。4.3 第二步配置 tmux 工作区建一个专门的 tmux 会话tmux new -s airig在这个会话里分三个窗格窗格 1跑 Claude Code窗格 2跑 Codex窗格 3跑测试或看日志分屏操作Ctrla然后|水平分Ctrla然后-垂直分。切换窗格用Ctrla加方向键。如果你想让 tmux 会话在后台常驻按Ctrla然后d脱离detach。下次想回来tmux attach -t airig4.4 第三步接入本地模型以 LM Studio 为例它默认在本地起一个 API 服务端口通常是 1234。启动 LM Studio 后在它的设置里开启Local Server确认端口。然后配置 Claude Code 或 Codex 走这个本地端点。具体配置方式取决于你用的转发工具。以环境变量为例很多工具支持通过ANTHROPIC_BASE_URL或OPENAI_BASE_URL这类变量指定端点export ANTHROPIC_BASE_URLhttp://localhost:1234/v1但要注意本地模型的 API 格式可能跟官方不完全一致需要转发工具做格式转换。这就是为什么 cc switch 这类工具存在——它不只是转发还做协议适配。实操心得本地模型跑 AI 编程任务对显存要求很高。我试过用 7B 级别的模型跑 Claude Code响应速度还行但代码质量跟云端大模型差距明显。如果你的机器显存有限建议本地模型只用来做简单任务复杂任务还是走云端 API。4.5 第四步接入第三方 API第三方 API 的接入核心是拿到 API Key 和端点地址。以 DeepSeek 为例你需要在它的平台上申请 Key然后拿到端点地址。配置 cc switch 时关键字段是base_url第三方 API 的根地址api_key你的 Keymodel要调用的模型名endpoint_mapping端点映射规则端点映射这块最容易出错。Codex 的/responses端点需要映射到第三方 API 对应的路径。如果第三方 API 不支持这个路径就需要转发工具做转换。我建议先用curl手动测一下第三方 API 的端点确认能通再配到 cc switch 里。4.6 第五步验证整套环境全部配完之后做一轮验证node -v确认 Node 版本正确claude --version确认 Claude Code 能跑codex --version确认 Codex 能跑在 tmux 会话里启动 Claude Code发一条简单指令确认能正常响应切到 Codex同样发一条指令确认能正常响应如果接了第三方 API确认请求确实走到了第三方端点看日志或看 API 平台的用量统计5. 常见问题与排查技巧实录5.1 安装类问题速查表报错信息可能原因解决方法error installing 24.21.0: node.js v24.21.0 is not yet released版本号不存在或源不对用nvm ls-remote查可用版本command not found: claude全局包没装或 PATH 不对确认当前 Node 版本下装了包检查 PATHcodex is ignoring 1 unrecognized configuration setting配置文件有冗余字段删掉不认识的字段codex无法加载组织设置账号权限问题检查账号类型联系管理员cc switch local proxy failed while handling codex endpoint /responses端点映射没配好升级转发工具补全映射规则your organization has disabled claude subscription access组织策略限制用个人账号或联系管理员5.2 Node.js 版本冲突的排查思路版本冲突的典型表现是Claude Code 能跑Codex 报错或者反过来。排查步骤先确认当前 Node 版本node -v查两个工具各自要求的版本范围看官方文档或 npm 页面如果冲突用 nvm 给它们分配不同的 Node 版本每个版本下单独装对应的工具我自己的做法是Claude Code 固定在 Node 20 LTSCodex 固定在 Node 22 LTS。两个版本都装好用的时候切一下。虽然多占点磁盘空间但省去了反复排查兼容性的时间。5.3 tmux 会话丢失的预防tmux 会话丢失通常有两个原因一是机器重启二是 tmux 服务被意外杀掉。预防措施机器重启后tmux 会话不会自动恢复。可以用tmux-resurrect插件做会话持久化重启后能恢复。别用killall tmux这种粗暴命令会杀掉所有会话。定期tmux ls看看有哪些会话在跑清理不用的。5.4 第三方 API 转发的常见坑第一个坑是协议不兼容。Claude Code 用的是 Anthropic 的 API 格式Codex 用的是 OpenAI 的格式第三方 API 可能两种都不完全兼容。转发工具需要做格式转换如果转换不完整就会出现请求失败或响应解析错误。第二个坑是流式响应。AI 编程工具通常用流式响应streaming如果转发工具不支持流式响应会卡住或者一次性返回体验很差。第三个坑是超时设置。第三方 API 的响应时间可能比官方长如果转发工具的超时设置太短请求会被中断。建议把超时设到 60 秒以上。5.5 本地模型接入的性能调优本地模型跑 AI 编程性能瓶颈通常在显存和推理速度。几个调优方向用量化模型比如 4-bit 量化显存占用能降一半以上。调整上下文长度别一上来就设 32K先设 8K 试试不够再加。用GPU 加速确认 LM Studio 或同类工具确实在用 GPU 而不是 CPU。如果显存实在不够考虑用小模型 云端大模型混合的方案简单任务本地跑复杂任务走云端。6. 我个人的一些实操体会搭这套环境的过程中我最大的感受是别追求一步到位。很多人一上来就想把 Claude Code、Codex、本地模型、第三方 API 全部配好结果每个环节都出问题最后哪个都用不了。我的建议是分阶段来先把 Node.js 和 tmux 搞定再装一个工具比如 Claude Code跑通了再加第二个最后才折腾第三方 API 和本地模型。每加一个环节都验证一遍确保前面的没被搞坏。另一个体会是日志是你的朋友。不管是 Node.js 的报错、tmux 的会话状态、还是转发工具的请求日志出问题的时候第一时间看日志比瞎猜快得多。我习惯在 tmux 里专门留一个窗格跑tail -f看日志出问题一眼就能看到。最后分享一个小技巧把常用的环境切换命令写成 shell 函数比如cc() { nvm use 20 /dev/null claude $ } cx() { nvm use 22 /dev/null codex $ }这样你敲cc就是启动 Claude Code敲cx就是启动 Codex不用每次手动切 Node 版本。这种小优化看着不起眼但每天用下来能省不少事。这套 openrig 工作台搭好之后我基本就不再为环境问题分心了注意力可以完全放在代码和任务上。如果你也在用多个 AI 编程工具强烈建议花半天时间把这套环境理顺后面省下的时间远超投入。
返回列表