首页 / 资讯中心 / 文章详情

openrig 本地 AI 编程环境搭建:Node.js、tmux 与 Claude Code/Codex 配置指南

openrig 本地 AI 编程环境搭建:Node.js、tmux 与 Claude Code/Codex 配置指南 ★ FEATURED ARTICLE
1. 从 openrig 这个名字说起它到底想解决什么问题第一次看到openrig这个词我脑子里蹦出来的不是某个具体工具而是一种把散件拼成整机的直觉。Rig 在英文里本意是装配、搭建一套设备比如矿机叫 mining rig直播设备叫 streaming rig。前面加个 open意思就很明确了这是一套开放的、可自由组合的本地开发环境装配方案。结合热搜词里高频出现的 Claude Code、Codex、Node.js、tmux 这几个关键词我基本能判断出 openrig 的定位——它不是一个单独的软件而是一套围绕本地 AI 编程助手运行环境的搭建思路和配置集合。为什么这类东西会突然火起来因为现在用 Claude Code、Codex 这类命令行 AI 编程工具的人越来越多但真正卡住大家的从来不是工具本身好不好用而是环境搭不起来。Node.js 版本不对、终端会话一关就断、多个模型供应商的接口配置互相打架、Windows 和 Ubuntu 下的路径行为不一致……这些问题单看都是小事凑在一起就能让人折腾一整天。openrig 想做的就是把这些零碎的坑一次性填平给你一套可以照着抄的装配方案。我自己的判断是openrig 的核心价值不在安装这个动作而在于它把运行环境、会话管理、模型接入这三件事当成一个整体来设计。很多人搭环境是走一步看一步装完 Node.js 装 CLI装完 CLI 发现终端一关进程就没了再去补 tmux补完 tmux 又发现模型接口连不上。这种线性折腾的方式返工率极高。而 openrig 这类方案的本质是先把我要长期稳定地跑一个 AI 编程助手这个目标拆成几个必须同时满足的条件然后一次性配齐。这篇文章我打算按真实搭建顺序来讲从 Node.js 这个地基开始到 tmux 会话保活再到 Claude Code 和 Codex 的接入与模型配置最后重点讲那些热搜词里反复出现的报错到底是怎么回事。适合谁看如果你正在 Windows、Ubuntu 或者 VS Code 里折腾 Claude Code 和 Codex被各种安装报错和配置冲突搞得头大那这篇就是写给你的。如果你只是想搞清楚 Node.js 是干什么的、tmux 有什么用也能从里面找到答案。2. Node.js 是整个装配的地基版本选错后面全白搭2.1 为什么这类工具都绕不开 Node.js热搜词里node.js是干什么的node.js安装node.js官网下载出现频率极高说明大量新手卡在第一步。我先把这个基础问题讲透。Claude Code、Codex CLI 这类工具本质上是用 JavaScript/TypeScript 写的命令行程序它们运行的时候需要一个 JavaScript 运行时环境Node.js 就是这个运行时。你可以把它理解成让 JS 代码能在你电脑上直接跑起来的那层底座。没有它那些claude、codex命令根本不存在。这里有个很多人忽略的点Node.js 不只是装了就完事它同时自带了一个包管理器 npm。你后面执行npm install -g anthropic-ai/claude-code或者安装 codex 的 CLI靠的都是 npm。所以 Node.js 装得好不好直接决定了后面所有 CLI 工具能不能正常安装和升级。我见过太多人 Node.js 装了个半残版本结果 npm 全局安装各种权限报错最后把问题归咎于 Claude Code 本身其实是地基没打牢。2.2 LTS 版本怎么选以及那个 v24.21.0 报错热搜里有一条特别典型的报错error installing 24.21.0: node.js v24.21.0 is not yet released or is not available。这个错误的本质是你或者某个脚本指定了一个还不存在的版本号。Node.js 的版本发布是有节奏的偶数版本号进入 LTS长期支持通道奇数版本是过渡版本。当你看到某个版本not yet released说明这个版本要么还没发布要么已经被标记为不可用。正确的做法是永远优先选 LTS 版本。截至我写这篇的时候Node.js 20.x 和 22.x 都是稳定的 LTS 线。热搜里node.js lts下载这个词也印证了大家的共识——LTS 才是生产环境该用的。具体操作上我强烈建议不要直接去官网下安装包手动装而是用版本管理工具。原因很简单你以后可能会遇到某个工具要求 Node 18另一个要求 Node 20手动装只能装一个切换极其痛苦。在 Ubuntu 上我习惯用 nvmNode Version Manager# 安装 nvm curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash # 重新加载 shell 配置 source ~/.bashrc # 安装并切换到 LTS 版本 nvm install --lts nvm use --lts # 验证 node -v npm -v在 Windows 上如果你不想折腾命令行直接用 nvm-windows 或者官方的 LTS 安装包都行。但我要提醒一句Windows 下 npm 全局安装经常遇到权限问题最省事的办法是以管理员身份运行终端或者干脆把 npm 的全局目录改到一个你有写权限的路径下npm config set prefix C:\Users\你的用户名\nodejs\npm-global改完之后记得把这个路径加到系统环境变量 PATH 里否则装完的命令找不到。2.3 装完 Node.js 之后必须做的两件验证很多人装完 Node.js 就直接去装 Claude Code 了结果报一堆莫名其妙的错。我的经验是装完 Node.js 后先做两件事第一确认 npm 的全局 bin 目录在 PATH 里。执行npm config get prefix看看输出的路径有没有出现在你的环境变量里。如果没有后面claude命令会提示command not found。第二确认网络能正常访问 npm registry。国内环境下有时候 npm 拉包会很慢甚至超时可以临时切到国内镜像源npm config set registry https://registry.npmmirror.com这一步不是必须的但如果你装包时一直卡在fetch阶段八成就是源的问题。切完源再装速度会有肉眼可见的提升。等环境稳定了如果你有需要也可以再切回官方源。3. tmux 不是可选项让 AI 编程助手在后台稳定跑着3.1 为什么终端一关你的 Claude Code 就没了这是新手最容易踩的坑也是热搜里 tmux 频繁出现的原因。你在 SSH 连着的服务器上跑 Claude Code或者跑一个长时间的 Codex 任务结果网络一抖、终端一关进程直接被系统杀掉前面跑的全白费。这不是工具的问题是 Linux 终端会话的机制决定的——你登录时开的那个 shell 是前台会话会话结束挂在它下面的所有子进程都会收到终止信号。tmux 解决的就是这个问题。它创建一个独立于你当前登录会话的持久化终端你的程序跑在 tmux 里面就算你断开连接tmux 会话依然在后台活着。下次连上来tmux attach一下界面原封不动地回来了。打个比方普通终端像是你站在桌边用手扶着杯子你一走杯子就倒了tmux 像是给杯子配了个底座你人走了杯子还稳稳立着。3.2 tmux 的核心操作记住这几条就够用tmux 的快捷键体系一开始会让人觉得别扭但常用的就那么几个。我把它整理成一张表你照着练几遍就熟了操作命令/快捷键说明新建会话tmux new -s work创建一个名为 work 的会话查看会话列表tmux ls列出所有后台会话重新接入tmux attach -t work回到名为 work 的会话临时离开Ctrlb然后按ddetach会话继续在后台跑关闭会话tmux kill-session -t work彻底结束某个会话会话内分屏Ctrlb然后按%或左右或上下分屏这里的关键是理解Ctrlb是 tmux 的前缀键所有 tmux 自己的操作都要先按它再按功能键。刚开始你可能会和终端本身的快捷键搞混多按几次就形成肌肉记忆了。3.3 把 Claude Code 和 Codex 放进 tmux 的正确姿势我的实际做法是这样的登录服务器后第一件事不是直接跑工具而是先建一个专门的 tmux 会话tmux new -s ai-dev进去之后再启动 Claude Code 或者 Codex。这样即使我关掉电脑、断网、换设备这个会话里的任务都还在跑。等需要看结果的时候重新 SSH 上来tmux attach -t ai-dev就回到现场了。有个细节值得说如果你在 tmux 里跑的是需要长时间交互的任务建议把 tmux 的滚动缓冲区调大一点否则输出多了之后往前翻看不到历史记录。在~/.tmux.conf里加一行set-option -g history-limit 50000改完tmux kill-server重启一下生效。这个配置对调试 AI 编程助手特别有用因为它们的输出往往很长默认的缓冲区很快就不够用了。提示tmux 会话是绑定在服务器上的服务器重启后会话会丢失。如果你需要跨重启保活那是另一个层面的方案比如 systemd 服务tmux 本身不负责这个。4. Claude Code 与 Codex 的接入从安装到跑通第一条命令4.1 Claude Code 安装的完整链路热搜里claude code安装claude code下载安装claude code 入门教程扎堆出现说明这是当前最热的需求。Claude Code 的安装本身不复杂前提是你的 Node.js 环境是好的npm install -g anthropic-ai/claude-code装完之后在项目目录下直接输入claude就能启动。第一次启动会引导你完成认证。这里有个热搜词值得单独拎出来说your organization has disabled claude subscription access for claude code。这个报错的意思是你当前登录的账号所属的组织把 Claude Code 的订阅访问权限给关了。这不是你本地环境的问题而是账号权限层面的限制。遇到这个你需要确认自己用的是个人账号还是组织账号组织账号的话得找管理员确认策略。另一个高频问题是note: claude code might not be available in your country。这类提示通常和账号所在区域、订阅状态有关属于服务可用性层面的信息本地怎么折腾都改不了。我的建议是先把本地环境确认无误再去排查账号层面的问题别一上来就怀疑自己装错了。4.2 在 VS Code 里用 Claude Code 的配置要点vscode配置claude codeclaude code for vs codevscode接入claude code这几个词说明很多人想在编辑器里直接用。思路其实很简单VS Code 内置了终端你在终端里跑claude命令效果和在外面跑是一样的。但有几个细节能让体验好很多。第一把 VS Code 的默认终端设成你配置好的那个 shell。如果你在 Ubuntu 上用 bash就确保 VS Code 终端也是 bash别一会儿 zsh 一会儿 bash环境变量会乱。第二如果你在 Windows 上用 VS Code 连远程 Ubuntu 开发这是很常见的组合那 Claude Code 要装在远程那台 Ubuntu 上不是装在你本地 Windows 上。很多人搞混这一点在本地装了半天结果远程终端里claude命令根本不存在。第三VS Code 终端里跑 tmux 完全没问题我经常这么干在 VS Code 的终端里tmux attach一边看代码一边看 AI 助手的输出效率很高。4.3 Codex 的安装与那个无法加载组织设置的坑Codex 这边热搜里codex安装codex clicodex使用教程codex安装 windows桌面版都很典型。Codex CLI 的安装同样走 npm 这条路装完之后用codex命令启动。但热搜里有个报错特别值得展开codex无法加载组织设置。这个问题的根源通常有两个方向。一是认证信息过期或者配置里指向了一个已经不存在的组织二是本地配置文件和账号实际权限不匹配。排查顺序我建议这样走先确认登录状态是否有效重新走一遍登录流程再检查本地配置文件里有没有残留的、指向旧组织的字段。Codex 的配置一般放在用户目录下的配置文件夹里找到对应的配置文件把可疑的旧字段清掉重新登录一次多数情况能解决。还有一个热搜词是codex is ignoring 1 unrecognized configuration setting. check for typos or d...。这个提示相对友好意思是你的配置文件里有一个它不认识的配置项可能是拼写错了也可能是版本更新后这个字段被废弃了。它只是忽略不影响主流程运行但如果你是个强迫症就去配置文件里把那个字段找出来删掉或者改对。我的经验是遇到这种 unrecognized 提示先看拼写再看是不是版本升级导致的字段变更基本就这两类原因。4.4 让 Codex 接入第三方模型的配置思路热搜里codex接入deepseek使用cc switch 接入 deepseek v4, qwen, glm等模型第三方api使用技巧这几个词指向同一个需求不想只用官方模型想接自己的模型服务。这个需求非常合理尤其是当你已经有某个模型服务的 API 额度时。核心思路是Codex 和 Claude Code 这类工具底层都是通过一个接口地址 密钥 模型名来调用模型的。你要做的就是把这些参数指向你自己的服务。配置一般写在配置文件里形如# 示例结构具体字段名以你所用版本为准 model your-model-name api_base https://your-endpoint/v1 api_key your-key这里我要重点提醒一个热搜里出现的报错cc switch local proxy failed while handling codex endpoint /responses。这个错误的关键词是local proxy failed说明中间有一层本地代理在转发请求时失败了。常见原因有三个代理进程没起来、端口被占用、或者目标接口的路径不对比如/responses这个端点你的服务根本不支持。排查的时候先用 curl 直接打一下你的接口地址确认服务本身是通的再去查代理层。很多人一看到这个错就去改 Codex 配置其实问题出在代理那一层方向就错了。5. 那些反复出现的报错我按根因给你归了类5.1 安装类报错版本、权限、网络三座大山把热搜里的安装类报错捋一遍基本逃不出这三类。版本问题的典型就是前面说的node.js v24.21.0 is not yet released解法是改用 LTS 版本别追新。权限问题在 Windows 上尤其常见npm 全局安装报 EACCES 或者 EPERM解法是改 npm 全局目录或者用管理员权限。网络问题表现为装包卡住、超时解法是换镜像源或者检查网络连通性。我个人的排查习惯是看到安装报错先看错误信息里有没有版本号有就先怀疑版本没有版本号但提到 permission、EACCES就往权限方向查如果只是卡住不动那基本是网络。这个分类法能帮你快速缩小范围不用每次都从头试。5.2 配置类报错字段冲突和路径问题配置类报错最烦人因为它不报致命错误只是忽略或者警告但功能就是不对。codex is ignoring 1 unrecognized configuration setting是典型代表。这类问题的排查核心是对照官方文档的字段定义一个字段一个字段地核对。我建议你把配置文件里的字段列出来和文档里的标准字段做个对照表多出来的、拼写不一样的就是嫌疑对象。路径问题也很常见尤其是跨平台的时候。Windows 用反斜杠Linux 用正斜杠Windows 的配置文件在%USERPROFILE%下Linux 在~下。如果你在 Windows 上配好了换到 Ubuntu 上直接用同一份配置路径全错。我的做法是每个平台维护一份独立的配置别想着通用。5.3 认证与权限类报错本地改不动的那部分your organization has disabled claude subscription access和codex无法加载组织设置都属于这一类。这类报错的特点是本地环境完全正常问题出在账号或组织策略层面。遇到这类我的建议是别在本地瞎折腾直接去确认账号状态、订阅状态、组织策略。本地能做的只有确认登录的是正确的账号、清理掉过期的认证缓存、重新登录一次。剩下的本地无能为力。这里分享一个我踩过的坑有一次我死活连不上排查了半天本地环境最后发现是登录的账号根本不是我以为的那个。所以遇到认证类问题第一步永远是whoami式的确认——我到底是用哪个账号在操作。5.4 运行时会话类报错tmux 和进程管理这类问题热搜里没直接体现但实际使用中极其常见。表现是任务跑着跑着断了、终端关了进程没了、多个任务互相干扰。根因基本都是没做好会话隔离。我的标准做法是一个任务一个 tmux 会话别把所有东西塞进一个会话里。这样某个任务崩了不会影响其他任务排查的时候也清晰。另外如果你在 tmux 里跑的任务需要看实时输出记得用tmux attach进去看而不是去翻日志文件。实时输出能看到进度和报错日志文件往往滞后。6. 我实际装配 openrig 这类环境时的几条经验6.1 先画环境地图再动手装我现在搭任何一套开发环境第一步都不是装东西而是先在纸上或者脑子里画一张环境地图我要跑哪些工具它们各自依赖什么它们之间会不会冲突以 openrig 这个场景为例地图大概是这样的Node.js 是地基Claude Code 和 Codex 是上层应用tmux 是运行容器模型接口是外部依赖。画完这张图你就知道安装顺序应该是 Node.js → tmux → CLI 工具 → 模型配置而不是乱装一气。这个习惯帮我省了大量返工时间。很多人装环境是遇到什么装什么结果装到一半发现版本冲突前面的全得推倒重来。先画地图能让你在动手前就发现潜在的冲突点。6.2 版本锁定比用最新更靠谱热搜里那个v24.21.0 is not yet released的报错本质就是追新惹的祸。我的经验是生产环境永远锁定 LTS 版本并且记录下来。你可以在项目里放一个.nvmrc文件写上你用的 Node 版本号这样团队成员或者未来的你nvm use一下就能切到正确版本不会因为版本漂移导致在我机器上能跑的经典问题。同理CLI 工具的版本也建议记录。Claude Code 和 Codex 更新很频繁有时候新版本会改配置字段导致你原来的配置失效。锁定一个稳定版本等确认新版本没问题了再升比无脑追新稳妥得多。6.3 配置文件要能一眼看懂我见过太多人的配置文件字段堆了一大堆注释一个没有过两个月自己都看不懂。我的做法是配置文件里每个非默认字段都加一行注释写清楚这个字段是干什么的、为什么这么设。比如模型接口那块我会注明这个地址指向的是哪个服务、这个模型名对应的是哪个版本。这样下次出问题排查起来快得多。另外配置文件建议纳入版本管理比如 git但密钥类的字段绝对不要提交。用环境变量或者单独的、被 gitignore 的本地配置文件来存密钥。这个习惯能避免很多安全事故。6.4 遇到报错先复现再定位最后才改这是我最想强调的一条经验。很多人一看到报错就急着改配置改了半天发现方向错了。正确的顺序是先稳定复现这个报错确保每次都能触发再定位是哪一层出的问题是 Node.js是 CLI是网络是账号最后才动手改。前面那个cc switch local proxy failed的例子就是典型——如果你不复现、不定位直接去改 Codex 配置那永远改不对因为问题在代理层。复现的时候尽量把操作步骤记下来把完整的报错信息复制下来别只截一半。完整的报错信息里往往藏着关键线索比如具体的文件路径、具体的端口号、具体的字段名。这些细节是定位问题的钥匙。6.5 给环境留一个干净重装的退路折腾环境最怕的是什么是把系统搞乱了想重来又不知道从哪下手。我的习惯是所有安装步骤都写成脚本或者文档确保任何时候都能从零重建。Node.js 用 nvm 装卸载干净CLI 工具用 npm 装npm uninstall -g能清掉配置文件单独存放删了重写就行。这样即使环境彻底搞崩了我也能在半小时内重建一套干净的。这个习惯的价值在于它让你敢于折腾。知道有退路就不会因为怕搞坏而畏手畏脚。而折腾恰恰是掌握这类工具最快的路径。最后分享一个我自己的小技巧每次成功配好一套环境后我会把关键的配置片段和踩过的坑记在一个 markdown 文件里放在项目根目录。下次换机器或者帮别人配的时候直接照着这个文件走效率翻倍。这个文件不用写得多正式就是给自己看的备忘录但它的价值会随着时间越来越大。
阅读完成 · 觉得有帮助?
咨询建站