资讯动态

openrig 工作台:AI 编程助手环境搭建与 tmux 编排实战

发布时间:2026/10/17 2:17:18 来源:尧图企业网站定制
1. 从“openrig”这个名字说起它到底想解决什么问题第一次看到“openrig”这个词我脑子里蹦出来的不是某个具体软件而是一种“开放式工作台”的意象。rig 在英文里本意是“装配、搭建”在工程语境里常指一套成套的设备或支架比如采矿用的钻井平台就叫 rig舞台灯光架也叫 rig。前面加个 open意思就很明确了——这是一套开放的、可自由拼装的工具台。结合热搜词里高频出现的 Claude Code、Codex、Node.js、tmux 这几个关键词我基本能判断出 openrig 的定位它大概率是一个围绕 AI 编程助手Claude Code、Codex CLI 这类终端智能体搭建的本地运行环境或编排框架把 Node.js 运行时、tmux 会话管理、模型接入配置这些东西打包成一套可复用的“工作台”。为什么我会有这个判断因为热搜词里几乎全是围绕“怎么把 AI 编程工具跑起来”这个痛点展开的claude code 安装、codex 安装教程、node.js 安装、ubuntu 配置 claude code、vscode 配置 claude code、codex 接入 deepseek、claude code 调用 lmstudio 的本地模型……这些词拼在一起就是一幅典型的“我想用 AI 帮我写代码但环境配置把我卡死了”的众生相。openrig 要做的就是把这堆零散的配置动作收敛成一个统一的入口。这篇文章适合谁看三类人。第一类是被 Node.js 版本、npm 全局安装、PATH 环境变量折腾到怀疑人生的新手你想用 Claude Code 或 Codex但连第一步都没迈过去第二类是想把 AI 编程助手接入本地模型或第三方 API 的进阶用户你已经在用 CLI 工具但想让它们更听话、更省钱、更可控第三类是喜欢折腾终端工作流的老手你想知道 tmux 和这些 AI 工具怎么配合才能发挥最大价值。我会从环境搭建讲到模型接入再讲到 tmux 会话编排最后聊聊实际用下来踩过的坑。需要先说明一点openrig 这个项目本身在公开渠道能查到的完整文档并不多所以下文里涉及具体实现的部分我会基于“一个合格从业者在搭建这类 AI 编程工作台时最可能采用的合理方案”来补全并明确标注哪些是通用实践、哪些是我的个人推断。这样你读的时候心里有数不会把推断当成官方文档。2. Node.js 环境所有 AI 编程 CLI 工具的地基2.1 为什么这些工具都绕不开 Node.jsClaude Code、Codex CLI 这类工具本质上是用 JavaScript/TypeScript 写的命令行程序通过 npm 分发。npm 是 Node.js 的包管理器所以你想装它们第一步必然是装 Node.js。这就像你想用 Python 的 pip 装包得先有 Python 解释器一样没有捷径。热搜词里有一条特别扎眼“error installing 24.21.0: node.js v24.21.0 is not yet released or is not available”。这个报错我太熟了它通常出现在你用 nvmNode Version Manager或者某个版本管理工具去装一个还不存在的版本号时。Node.js 的版本号是有严格发布节奏的偶数版本是 LTS长期支持版奇数版本是 Current尝鲜版而且大版本号不是随便跳的。有人看到别人说“用 24 版本”就照着敲nvm install 24.21.0结果这个具体的小版本根本还没发布自然报错。正确的做法是先查当前 LTS 版本。截至我写这篇内容的时候Node.js 的 LTS 主线在 20.x 和 22.x 之间具体小版本号会随时间变化。你可以直接去 Node.js 官网看首页那个大按钮上写的版本号那就是官方推荐的 LTS。或者用命令查nvm ls-remote --lts | tail -5这条命令会列出远程所有 LTS 版本取最后一个就是最新的 LTS。装的时候只写大版本号让 nvm 自己选最新的小版本nvm install --lts nvm use --lts nvm alias default lts/*最后一行是把 LTS 设为默认版本这样你新开终端不用每次手动nvm use。2.2 Windows、macOS、Ubuntu 三平台的安装差异热搜词里同时出现了“node.js下载”“node.js官网下载”“安装node.js”“node.js lts下载”“ubuntu 安装claude code”“claude code windows”说明跨平台是刚需。我把三个平台的关键差异列一下这些都是实测下来最容易卡住的地方。平台推荐安装方式最容易踩的坑Windows官网下载 LTS 的 .msi 安装包或 winget安装时没勾选“Add to PATH”导致命令行找不到 nodemacOSHomebrew 或 nvm系统自带的老版本 node 和 brew 装的冲突PATH 顺序不对Ubuntunvm 或 NodeSource 源用 apt 装的是系统仓库里的老版本版本太低跑不了新工具Windows 用户特别注意如果你用 .msi 安装安装向导里有一个“Add to PATH”的选项默认是勾上的但如果你之前装过又卸载过注册表里可能残留导致新装的 node 没进 PATH。验证方法是开一个新的 PowerShell 窗口敲node -v如果提示“不是内部或外部命令”就是 PATH 没配好。手动加 PATH 的路径通常是C:\Program Files\nodejs\。Ubuntu 用户注意sudo apt install nodejs装出来的版本往往很老因为 Ubuntu 的软件源更新滞后。我见过有人用 apt 装了 Node 12然后去装 Claude Code直接报引擎不兼容。正确做法是用 nvm或者加 NodeSource 的源curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash - sudo apt-get install -y nodejs但说实话我更推荐 nvm因为它不污染系统环境切换版本也方便卸载的时候删掉~/.nvm目录就干净了。2.3 npm 全局安装的权限问题与解决方案装完 Node.js下一步就是npm install -g装 Claude Code 或 Codex。这里有一个经典报错EACCES: permission denied。原因是 npm 默认把全局包装到系统目录比如/usr/local/lib/node_modules普通用户没写权限。网上流传的解决方案是sudo npm install -g我强烈不建议这么做。用 sudo 装全局包会把包的所有者变成 root后续升级、卸载都可能出权限问题而且有安全风险。正确的做法有两种第一种用 nvm 管理 Node.js。nvm 会把全局包装在用户目录下~/.nvm/versions/node/vXX/lib/node_modules天然没有权限问题。这也是我推荐 nvm 的另一个理由。第二种如果你坚持用系统 Node.js就改 npm 的全局目录到用户目录mkdir -p ~/.npm-global npm config set prefix ~/.npm-global然后把~/.npm-global/bin加到 PATH 里。在~/.bashrc或~/.zshrc里加一行export PATH~/.npm-global/bin:$PATH改完记得source ~/.bashrc或者重开终端。提示如果你已经用 sudo 装过全局包先卸载干净再改配置否则残留的 root 权限文件会继续捣乱。卸载命令是sudo npm uninstall -g 包名。3. Claude Code 与 Codex 的安装配置两条路线怎么选3.1 Claude Code 的安装与首次登录Claude Code 的安装命令很简单npm install -g anthropic-ai/claude-code装完之后在终端敲claude就能启动。首次启动会引导你登录通常是打开浏览器完成 OAuth 授权。热搜词里有一条“your organization has disabled claude subscription access for claude code”这个报错的意思是你所在的组织企业账号的管理员关闭了 Claude Code 的订阅访问权限。如果你用的是个人账号一般不会遇到如果是公司统一采购的账号就得找管理员开通。还有一条“note: claude code might not be available in your country”这是地区可用性提示。遇到这个说明当前网络环境或账号地区不在支持范围内这个我没法展开讲你懂的合规使用就好。登录完成后Claude Code 会在你的项目目录下工作。它的核心能力是读取你当前目录的文件理解代码上下文然后根据你的自然语言指令修改代码、执行命令。热搜词里“claude code如何直接执行终端命令”这个问题答案是它在获得你授权后可以直接跑 shell 命令比如让它“跑一下测试”它会执行npm test并把结果读回来分析。3.2 Codex CLI 的安装与配置要点Codex CLI 的安装通常是npm install -g openai/codex或者通过其他包名具体以官方文档为准。装完后敲codex启动。热搜词里“codex登录”“codex配置”“codex安装 windows桌面版”“codex cli”都指向同一个需求把它跑起来并配好。Codex 的配置一般放在用户目录下的配置文件里比如~/.codex/config.toml或类似路径。热搜词里有一条“codex is ignoring 1 unrecognized configuration setting. check for typos or d”这是配置文件里写了它不认识的字段。遇到这个先检查拼写再对照官方文档确认这个字段在当前版本是否还存在。AI 工具迭代快配置文件格式经常变旧教程里的字段可能已经废弃了。还有一条“codex无法加载组织设置”这通常和账号权限或网络请求有关。如果是企业账号可能是组织策略限制了某些功能如果是个人账号检查一下配置文件里的 API 端点是否正确。3.3 两条路线的选型对比Claude Code 和 Codex 不是非此即彼的关系很多人两个都装。我把它们的差异整理成表方便你按需选择。维度Claude CodeCodex CLI分发方式npm 全局包npm 全局包登录方式浏览器 OAuth浏览器 OAuth 或 API Key本地模型支持可通过配置接入兼容 API可通过配置接入兼容 API终端命令执行支持需授权支持需授权配置文件相对简单TOML 格式字段较多适合场景深度代码理解、长上下文重构快速补全、脚本生成我的个人经验是Claude Code 在理解大型项目、跨文件重构上更稳Codex 在单文件快速生成和命令行脚本上更利索。两个都装按任务切换是最实用的策略。4. 接入本地模型与第三方 API省钱和可控的关键4.1 为什么要接入本地模型热搜词里“claude code 调用 lmstudio 的本地模型”“codex接入deepseek”“使用cc switch 接入 deepseek v4, qwen, glm等模型”这几条指向一个共同需求不想只用官方云端模型想接入本地跑的模型或者第三方 API。动机无非三个。第一是成本官方 API 按 token 计费用量大了肉疼本地模型跑在自己的机器上电费而已。第二是隐私有些代码不方便发到云端本地模型全程不出机器。第三是灵活性不同模型擅长不同任务DeepSeek 写代码强Qwen 中文理解好GLM 在某些场景有优势能切换就多一种选择。LM Studio 是一个可以在本地跑大模型的桌面应用它启动后会暴露一个兼容 OpenAI 格式的 API 端点通常是http://localhost:1234/v1。Claude Code 和 Codex 如果支持自定义 API 端点就能指向这个地址从而用上本地模型。4.2 配置本地模型端点的通用思路虽然 Claude Code 和 Codex 的具体配置字段不同但思路是一致的找到配置文件里设置 API Base URL 和 API Key 的地方改成你本地或第三方的地址。以接入 LM Studio 为例通用步骤是启动 LM Studio加载一个模型比如 Qwen 或 DeepSeek 的量化版开启本地服务器记下端口号。找到 AI 工具的配置文件把 base URL 改成http://localhost:1234/v1。API Key 随便填一个非空字符串因为本地服务通常不校验。把模型名称改成 LM Studio 里加载的模型标识。这里有个坑不是所有模型都支持工具调用function calling。Claude Code 和 Codex 这类工具高度依赖模型返回结构化的工具调用指令如果本地模型不支持它就没法执行终端命令或读写文件只能聊天。所以选本地模型时优先选官方明确支持 tool use 的比如 Qwen 系列的某些版本、DeepSeek 的某些版本。4.3 cc switch 这类切换工具的价值热搜词里“使用cc switch 接入 deepseek v4, qwen, glm等模型”提到的 cc switch我理解是一个配置切换工具让你在不同模型供应商之间快速切换不用手动改配置文件。这类工具的价值在于你可能有多个 API Key分别对应 DeepSeek、Qwen、GLM每次切换都要改 base URL、API Key、模型名很烦。有了切换工具一条命令搞定。如果你不想用第三方切换工具也可以自己写个简单的 shell 脚本用环境变量控制#!/bin/bash # switch-model.sh case $1 in deepseek) export OPENAI_BASE_URLhttps://api.deepseek.com/v1 export OPENAI_API_KEY你的deepseek key export OPENAI_MODELdeepseek-chat ;; qwen) export OPENAI_BASE_URLhttps://dashscope.aliyuncs.com/compatible-mode/v1 export OPENAI_API_KEY你的qwen key export OPENAI_MODELqwen-max ;; local) export OPENAI_BASE_URLhttp://localhost:1234/v1 export OPENAI_API_KEYlocal export OPENAI_MODELlocal-model ;; esac echo 已切换到 $1然后source switch-model.sh deepseek就能切换。前提是 AI 工具支持从环境变量读取这些配置大部分 CLI 工具都支持。注意第三方 API 的兼容性参差不齐。有些供应商声称兼容 OpenAI 格式但工具调用、流式输出、多轮对话的细节实现有差异可能导致 AI 工具行为异常。接入前先用 curl 测一下基本的 chat completions 接口通不通。5. tmux让 AI 编程助手在后台稳定干活5.1 tmux 解决的核心痛点热搜词里出现 tmux不是偶然。AI 编程助手跑任务往往耗时较长比如让它重构一个模块、跑一遍完整测试、生成一批文件可能几分钟到几十分钟。如果你直接在终端前台跑一旦网络波动、SSH 断开、或者你不小心关了窗口任务就中断了前面的进度可能白费。tmux 是一个终端复用器它让你在一个终端窗口里开多个会话会话可以脱离窗口在后台持续运行。你 SSH 连上服务器开一个 tmux 会话在里面跑 Claude Code然后 detach分离关掉 SSH任务继续跑。下次连上来 attach附着回去接着看结果。这就是 tmux 对 AI 编程工作流最大的价值任务不中断。5.2 一套实用的 tmux 工作流我平时用 tmux 配合 AI 工具的习惯是这样的# 新建一个名为 ai-work 的会话 tmux new -s ai-work # 在会话里启动 claude 或 codex claude # 按 Ctrlb 然后按 d分离会话任务继续在后台跑 # 下次连上来重新附着 tmux attach -t ai-work # 查看所有会话 tmux ls # 杀掉某个会话 tmux kill-session -t ai-work如果你想让 tmux 里开多个窗格一个跑 AI 工具一个看日志一个跑测试可以这样# 在 tmux 会话里按 Ctrlb 然后按 % 垂直分屏 # 按 Ctrlb 然后按 水平分屏 # 按 Ctrlb 然后按方向键切换窗格这样你让 Claude Code 在左边改代码右边窗格实时看npm run dev的输出效率比来回切窗口高很多。5.3 tmux 与 AI 工具配合的进阶技巧一个很实用的技巧是用 tmux 的send-keys命令给后台运行的 AI 工具发指令。比如你有一个长时间跑的 Codex 会话想让它中途执行某个命令可以tmux send-keys -t ai-work 请检查一下刚才生成的代码有没有语法错误 Enter这条命令会把文字发到 ai-work 会话的当前窗格并模拟回车。这样你可以在脚本里编排 AI 工具的行为实现半自动化。另一个技巧是日志留存。tmux 默认的滚动缓冲区有限AI 工具输出长了会滚掉。你可以在 tmux 配置里加大历史行数# ~/.tmux.conf set-option -g history-limit 50000这样往上翻能看更多历史输出。或者更彻底一点用tmux pipe-pane把窗格输出实时写到文件tmux pipe-pane -t ai-work -o cat ~/ai-work.log这样 AI 工具的所有输出都会追加到~/ai-work.log方便事后复盘。6. 编辑器集成VS Code 里怎么用这些工具6.1 VS Code 集成 Claude Code 的两种方式热搜词里“vscode配置claude code”“claude code for vs code”“vscode接入claude code”出现多次说明很多人不满足于纯终端想在编辑器里用。第一种方式是 VS Code 内置终端。Claude Code 本身是 CLI 工具你在 VS Code 里按Ctrl打开集成终端直接敲claude就能用。这种方式最简单零配置而且 VS Code 的终端支持分屏你可以一边看代码一边和 AI 对话。第二种方式是装扩展。如果官方或社区有 Claude Code 的 VS Code 扩展装完后可以在侧边栏或命令面板里直接调用。扩展的好处是能和编辑器深度集成比如选中一段代码直接让 AI 解释、修改。但扩展的更新往往滞后于 CLI功能可能不全。我的建议是主力用 CLI扩展作为补充。6.2 在 VS Code 里管理多个 AI 会话如果你同时用 Claude Code 和 Codex可以在 VS Code 里开多个终端标签一个跑 Claude一个跑 Codex。VS Code 的终端标签可以重命名右键标签选“Rename”改成“Claude”和“Codex”一目了然。更进一步你可以用 VS Code 的 Task 功能把启动 AI 工具配置成任务。在.vscode/tasks.json里加{ version: 2.0.0, tasks: [ { label: Start Claude Code, type: shell, command: claude, presentation: { panel: dedicated, reveal: always } }, { label: Start Codex, type: shell, command: codex, presentation: { panel: dedicated, reveal: always } } ] }然后按CtrlShiftP输入“Run Task”选对应的任务就能启动。这样比每次手敲命令快。6.3 编辑器集成的常见坑一个常见的坑是VS Code 集成终端的环境变量和系统终端不一致。比如你在~/.zshrc里配了 API Key但 VS Code 的终端用的是 bash读的是~/.bashrc结果 AI 工具找不到 Key。解决办法是确认 VS Code 默认终端是哪个 shell在设置里搜“terminal integrated default profile”选对你配置了环境变量的那个。另一个坑是路径问题。VS Code 打开的项目目录和终端的工作目录可能不一致。Claude Code 默认读取当前工作目录的文件如果目录不对它就读不到你的代码。启动前先pwd确认一下或者用cd切到项目根目录再启动。7. 实际使用中踩过的坑与排查思路7.1 安装阶段的典型报错“error installing 24.21.0”这个报错我在前面解释过了是版本号不存在。还有一个变体是“npm ERR! code EBADENGINE”意思是当前 Node.js 版本不满足包的引擎要求。比如某个 AI 工具要求 Node 18你用的是 16就会报这个。解决办法就是升级 Node.js 到 LTS。“codex is ignoring 1 unrecognized configuration setting”这个报错是配置文件里有它不认识的字段。排查步骤先看报错里有没有提示具体是哪个字段有的话对照官方文档确认没有的话把配置文件里最近加的字段逐个注释掉二分法定位。7.2 登录与权限阶段的报错“your organization has disabled claude subscription access”是企业账号权限问题找管理员。“codex无法加载组织设置”可能是网络请求失败或账号配置问题先检查网络再检查账号是否有对应权限。“note: claude code might not be available in your country”是地区限制提示这个不展开。7.3 运行阶段的异常行为AI 工具跑起来后最常见的异常是“它不执行命令”或“它读不到文件”。原因通常是模型不支持工具调用或者工作目录不对。排查顺序先确认当前目录是不是项目根目录再确认用的模型是否支持 function calling最后看工具的日志输出有没有报错。还有一个坑是 API 超时。第三方 API 或本地模型响应慢AI 工具等不及就报超时。解决办法是找工具配置里的超时设置调大一点。本地模型如果跑在性能一般的机器上首 token 延迟可能十几秒超时设太短就会频繁失败。7.4 我的排查工具箱遇到问题我通常按这个顺序排查node -v和npm -v确认基础环境。which claude或which codex确认工具装在哪、PATH 对不对。看工具的日志文件通常在~/.claude/或~/.codex/目录下。用 curl 直接测 API 端点通不通。换一个最简单的任务测试排除是任务本身太复杂导致的失败。这套流程能解决八成以上的问题。剩下的两成通常是版本兼容性或供应商 API 的细节差异只能查文档或社区 issue。8. 把 openrig 当成一套可复用的工作台来搭回到 openrig 这个名字。我理解它的野心不是做一个新工具而是把 Node.js、Claude Code、Codex、tmux、本地模型接入这些零散的东西整合成一套开箱即用的工作台。你不需要每次从零配环境而是有一套脚本或配置模板clone 下来改几个参数就能跑。如果你要自己搭这么一套东西我的建议是分三层底层是 Node.js 版本管理nvm中间层是 AI 工具的安装和配置npm 全局包 配置文件模板上层是会话编排tmux 脚本 模型切换脚本。三层解耦哪层出问题换哪层不会牵一发动全身。具体落地时我会在项目根目录放一个setup.sh内容大致是检查 nvm 是否存在不存在就装用 nvm 装 LTS Node.jsnpm 全局装 Claude Code 和 Codex把配置文件模板复制到用户目录最后打印一段使用说明。这样新机器上跑一遍脚本五分钟就能进入干活状态。配置文件模板这块我习惯把 API Key 抽成环境变量配置文件里只写$OPENAI_API_KEY这样的占位符避免把密钥提交到仓库。模型切换用前面说的 shell 脚本或者用 direnv 这类工具按目录自动加载环境变量。最后分享一个我自己的小习惯给每个长期跑的 AI 会话起有意义的名字比如refactor-auth、gen-tests而不是默认的0、1。tmux 会话名支持这些tmux new -s refactor-auth就行。这样tmux ls的时候一眼能看出哪个会话在干什么不用一个个 attach 进去看。这个习惯在同时跑三四个 AI 任务的时候特别有用省下的切换时间积少成多。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑