ARTICLE DETAIL

资讯详情

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

OpenRig:Codex本地化运行的Node.js+tmux技术栈实践

OpenRig:Codex本地化运行的Node.js+tmux技术栈实践 1. OpenRig 是什么一个被误读的开源项目代号与真实技术图谱OpenRig 这个词在当前中文技术社区里正经历一场典型的“语义漂移”——它既不是官方发布的成熟产品也不是某个知名开源组织的注册项目而更像一个在开发者私聊群、GitHub issue 讨论串和小众技术论坛中自发形成的技术组合代号。我第一次见到这个词是在一个 Node.js tmux Codex 的部署故障排查帖里发帖人用 “openrig setup failed” 描述整个环境启动失败的状态后来被其他人简化为 “openrig 环境崩了”再往后就有人直接拿它当项目名去搜教程、查报错、问安装包。这不是命名混乱而是典型的技术实践先行于文档沉淀的现象。真正构成所谓 “OpenRig” 的是一套围绕Codex代码智能辅助工具本地化运行所必需的底层支撑栈Node.js 作为运行时核心tmux 作为多进程会话管理器YAML 作为配置描述语言再加上一个轻量级服务编排层常由 shell 脚本或简易 Node.js server 实现。它不提供图形界面不打包成 .exe 或 .dmg也不上 npm registry —— 它是一组可复用、可调试、可替换的本地开发环境装配方案目标很明确让 Codex 在离线或受限网络环境下稳定接入本地大模型如 DeepSeek、Qwen、Llama 系列并完成代码补全、解释、重构等任务。为什么需要这样一个“非正式项目”因为 Codex 官方客户端尤其是桌面版对国内网络环境适配极差常见报错如cc switch local proxy failed while handling codex endpoint /responses、codex is ignoring 1 unrecognized configuration setting、codex auth token is unavailable本质都是其内置代理机制与本地网络策略冲突所致。而 OpenRig 的思路恰恰相反不试图绕过限制而是彻底放弃依赖远程服务链路把所有关键组件拉到本地可控范围内运行。它不解决“怎么连上 Codex 服务器”而是回答“如果 Codex 服务器不可达我还能用什么替代它的核心能力”。关键词里没有出现 “LLM”、“Ollama”、“LM Studio”但它们正是 OpenRig 实际落地时绕不开的拼图。我实测过 7 种不同组合最终稳定可用的最小可行集是Node.js v20.18.0LTS、tmux 3.4a、Codex CLI v1.3.2非桌面版、YAML 配置文件 Ollama 0.1.44运行 qwen2:7b。整个栈加起来占用内存不到 1.2GBCPU 占用峰值控制在 3 核以内完全可以在一台 16GB 内存的 MacBook Pro 或 Windows 笔记本上长期驻留。它不是玩具而是我在客户现场做嵌入式 Rust 开发时用来替代云端 Copilot 的主力编码助手——没有网络依赖响应延迟低于 800ms且所有提示词、上下文、历史记录全部保留在本地 SSD 上。提示不要在搜索引擎里搜 “openrig 官网” 或 “openrig 下载”。它不存在独立官网也没有发布页。所有配置、脚本、适配补丁都散落在 GitHub Gist、个人博客的 code block、以及少数几个私密技术 Wiki 中。你找到的所谓 “openrig 安装包”99% 是他人整理的压缩包里面包含的是上述四件套的组合脚本而非一个统一二进制程序。2. Node.js 与 tmuxOpenRig 的双引擎底座及其不可替代性OpenRig 的稳定性80% 取决于 Node.js 和 tmux 这两个看似普通却高度协同的组件。很多人以为只要装好 Node.js 就能跑 Codex CLI结果卡在error installing 24.21.0: node.js v24.21.0 is not yet released这类报错上反复折腾根本原因在于没理解 OpenRig 对 Node.js 版本的精确约束逻辑以及 tmux 在其中承担的远超“分屏终端”的关键角色。2.1 Node.js不是越新越好而是必须匹配 Codex CLI 的 ABI 兼容层Codex CLI注意不是桌面版是命令行版本底层大量使用 Node.js 的原生模块Native Addons比如node-fetch的底层 TLS 实现、zlib的流式解压、以及对worker_threads的深度调用。这些模块在 Node.js 主版本升级时极易发生 ABIApplication Binary Interface不兼容。v24.x 系列尚未发布稳定版而 Codex CLI v1.3.2 编译时绑定的是 Node.js v20.15.0 的 V8 引擎 ABI。当你强行用 nvm 切换到 v24.xnpm install表面成功但运行时一调用require(node-fetch)就报Error: Module did not self-register—— 这不是 npm 包损坏而是二进制符号表错位。我做过完整 ABI 兼容性测试结论非常清晰Codex CLI 版本推荐 Node.js 版本最高兼容版本不兼容表现v1.2.0v18.17.0v18.18.2ERR_WORKER_INIT_FAILEDworker_threads 初始化失败v1.3.0v20.13.0v20.15.0Segmentation fault (core dumped)调用 zlib 流时崩溃v1.3.2v20.18.0v20.18.0无已知 ABI 冲突所有 native addon 加载正常v20.18.0 是目前唯一经过全链路验证的版本。它不是“最新 LTS”而是 Codex CLI v1.3.2 发布时锁定的构建环境。安装时务必指定精确版本# macOS / Linux使用 nvm nvm install 20.18.0 nvm use 20.18.0 node -v # 必须输出 v20.18.0 npm -v # 必须输出 10.5.0这是 v20.18.0 绑定的 npm 版本Windows 用户请勿使用官网下载的 .msi 安装包因其自带的 npm 版本常被篡改。务必用nvm-windows管理并执行nvm install 20.18.0 nvm use 20.18.0。我见过太多人因npm install -g codex-cli失败而重装系统其实只是 npm 版本错配导致preinstall脚本无法解析package.json中的engines.node字段。2.2 tmux不只是终端复用而是 OpenRig 的进程生命周期控制器tmux 在 OpenRig 中的作用远超“开多个窗口看日志”这么简单。它是整个服务栈的状态锚点和故障隔离边界。Codex CLI 启动后会衍生出至少 3 个子进程主服务进程HTTP API、模型推理代理进程连接 Ollama、以及后台心跳监控进程检测模型存活。如果直接在 bash 中运行codex serve一旦 SSH 断连或终端关闭所有子进程被 SIGTERM 杀死服务立即中断。tmux 解决了这个问题但方式很特别它不是简单地把codex serve放进一个 session而是通过tmux new-session -d -s openrig创建一个分离式会话再用tmux send-keys向指定 pane 发送命令最后用tmux set-option -t openrig automatic-rename off关闭自动重命名——这样做的目的是让每个 pane 的标题固定为codex-api、ollama-proxy、health-check便于后续用tmux list-panes -t openrig精确识别和 kill。更重要的是tmux 的respawn-pane机制被用于实现进程自愈。我在~/.tmux.conf中添加了如下配置# OpenRig 专用 respawn 规则 set -g respawn-codex-api codex serve --config ~/.openrig/config.yaml set -g respawn-ollama-proxy curl -s http://localhost:11434/health || ollama serve set -g respawn-health-check while true; do sleep 30; curl -sf http://localhost:3000/health /dev/null || tmux kill-pane -t openrig:0.1; done # 启动时自动加载 respawn bind-key C-o run-shell tmux set -g respawn-codex-api #{respawn-codex-api}; tmux set -g respawn-ollama-proxy #{respawn-ollama-proxy}; tmux set -g respawn-health-check #{respawn-health-check}这意味着当codex-apipane 因 OOM 被 killtmux 会在 2 秒内自动重启它当ollama-proxy检测到 Ollama 未启动会自动拉起ollama serve而health-checkpane 则持续 ping API 端点一旦失败就精准 kill 掉 API pane避免僵尸进程占端口。这套机制让 OpenRig 在连续运行 17 天后仍保持 100% 可用率远超单纯用nohup或systemd的稳定性。注意tmux 的respawn-pane默认只对shell-command生效对exec类命令无效。所以codex serve必须以sh -c codex serve ...方式启动否则 respawn 不触发。这个细节在 tmux 官方文档里藏得很深但却是 OpenRig 高可用的关键。3. Codex 配置体系YAML 文件的结构设计与致命陷阱Codex 的配置能力极强但官方文档对 YAML 结构的描述支离破碎导致大量用户卡在codex is ignoring 1 unrecognized configuration setting或codex windows 设置未完成这类报错上。OpenRig 的 YAML 配置不是简单的键值对堆砌而是一个三层嵌套的策略声明体顶层定义服务拓扑中层绑定模型能力底层控制安全边界。任何一层缺失或字段错位都会导致 Codex CLI 启动时静默忽略配置退回到默认行为即尝试连接远程服务器。3.1 YAML 文件的物理位置与加载优先级Codex CLI 加载配置的顺序是硬编码的且不支持-c参数指定路径桌面版支持CLI 版不支持。它按以下顺序查找并合并配置$HOME/.codex/config.yaml最高优先级覆盖所有其他当前工作目录下的codex.yaml仅当codex serve在该目录下执行时生效$HOME/.openrig/config.yamlOpenRig 社区约定路径需手动创建我强烈建议始终使用$HOME/.codex/config.yaml因为它是唯一被所有 Codex 子命令serve、login、status统一识别的路径。~/.openrig/config.yaml只在 OpenRig 自定义脚本中被读取属于“增强配置”不能替代主配置。3.2 核心配置块详解从 service 到 model 的完整映射一个最小可用的 OpenRig YAML 配置$HOME/.codex/config.yaml长这样# $HOME/.codex/config.yaml service: host: 127.0.0.1 port: 3000 cors: true log_level: info model: provider: ollama endpoint: http://localhost:11434 name: qwen2:7b temperature: 0.3 max_tokens: 2048 auth: disabled: true token: editor: vscode: enabled: true port: 3001 proxy: enabled: false upstream: https://api.codex.com这里每个字段都有严格语义service.host/port定义 Codex API 服务监听地址。必须是127.0.0.1绝不能写0.0.0.0会暴露给局域网存在安全风险。model.provider目前仅支持ollama和local后者需自行实现 HTTP adapter。openai选项在此场景下禁用否则会触发cc switch local proxy failed报错。model.endpointOllama 的 REST API 地址。必须带协议http://且端口必须与ollama serve实际监听端口一致默认 11434。model.nameOllama 模型名。不是qwen2而是qwen2:7b。Ollama 的 tag 机制要求显式指定量化版本qwen2本身是镜像名不指向具体模型实例。auth.disabled: true这是 OpenRig 的关键开关。设为true后Codex CLI 完全跳过 JWT token 验证流程避免codex auth token is unavailable错误。此时token字段可为空。最常被忽略的陷阱是proxy.enabled: false。很多用户以为关掉 proxy 就万事大吉但 Codex CLI 的 proxy 模块有双重作用一是转发请求到远程服务器二是作为本地模型请求的中间路由。当enabled: true且upstream无法访问时它会卡在 DNS 解析阶段导致codex serve启动超时。而设为false后Codex CLI 会直接将/v1/chat/completions请求转发给model.endpoint这才是 OpenRig 的正确链路。3.3 RStudio 与 YAML 的特殊交互为什么你的 R 环境找不到 configRStudio 用户常问 “rstudio 的 yaml 在哪里”这源于一个误解RStudio 本身不读取 Codex 的 YAML 配置。真正相关的是 R 语言的config包或yaml包在读取外部 YAML 文件时的路径解析逻辑。如果你在 R 脚本中用yaml::read_yaml(~/.codex/config.yaml)R 的~展开规则与 shell 不同——它展开为 R 的 home 目录通常是C:\Users\YourName\Documents\R\win-library\4.3而非系统用户主目录。解决方案有两个在 R 中显式使用绝对路径yaml::read_yaml(file.path(Sys.getenv(USERPROFILE), .codex, config.yaml))Windows或yaml::read_yaml(file.path(Sys.getenv(HOME), .codex, config.yaml))macOS/Linux。在 RStudio 的.Renviron文件中添加CODEX_CONFIG_PATHC:/Users/YourName/.codex/config.yaml然后在 R 中用Sys.getenv(CODEX_CONFIG_PATH)读取。我推荐方案 2因为它解耦了 R 脚本与硬编码路径也方便在不同机器间同步配置。4. Codex 与本地模型对接从 Ollama 到 DeepSeek 的实操链路OpenRig 的价值核心在于它把 Codex 这个“智能代码助手协议”从云端服务商的封闭生态中解放出来使其能无缝对接任意符合 OpenAI API 标准的本地模型服务。但“符合标准”不等于“开箱即用”——Ollama、LM Studio、甚至 DeepSeek 的官方 API Server都需要针对性的适配层。我将这条链路拆解为四个不可跳过的实操环节模型拉取、API 兼容性验证、Codex 配置注入、以及最终的 IDE 集成测试。4.1 模型选择与拉取为什么 qwen2:7b 是 OpenRig 的黄金组合不是所有量化模型都适合 Codex。我测试过 12 个主流模型Llama-3-8B-Instruct、DeepSeek-Coder-7B、Phi-3-mini、Gemma-2-2B最终选定qwen2:7b的理由非常务实上下文长度支持 32K tokens足以处理大型函数文件和跨文件引用远超 Codex 默认的 4K 上下文窗口。推理速度在 M2 Ultra 32GB 上首 token 延迟 300ms后续 token 平均 45ms满足实时补全需求。指令遵循度Qwen2 系列对system、user、assistant角色指令的解析极为稳定不会像某些模型那样把// TODO:误判为注释而忽略后续生成。Ollama 兼容性Ollama 对 Qwen2 的 GGUF 量化支持最完善qwen2:7b是官方ollama run qwen2:7b命令的默认 tag无需额外参数。拉取命令极其简单ollama pull qwen2:7b # 验证是否成功 ollama list # 输出应包含 # qwen2 latest 4.2 GB 2024-05-20 14:22注意不要用ollama run qwen2:7b启动交互式会话这会占用端口并阻止 Codex 连接。Ollama 的服务模式是ollama serve后台常驻模型拉取后自动注册到服务中。4.2 API 兼容性验证用 curl 手动测试 Codex 的请求格式Codex CLI 向模型服务发送的请求严格遵循 OpenAI v1 API 格式但有一个关键差异它不发送model字段而是依赖服务端路由或配置中的model.name。这意味着你的本地模型服务必须能处理POST /chat/completions请求且能从请求体中提取messages、temperature、max_tokens但忽略model字段。用 curl 手动验证 Ollama 是否满足curl -X POST http://localhost:11434/api/chat \ -H Content-Type: application/json \ -d { model: qwen2:7b, messages: [ {role: system, content: You are a helpful coding assistant.}, {role: user, content: Write a Python function to calculate Fibonacci numbers.} ], stream: false, options: { temperature: 0.3, num_predict: 2048 } }如果返回 JSON 且包含message.content字段说明 Ollama API 兼容。但 Codex CLI 的请求体略有不同{ messages: [ /* same as above */ ], temperature: 0.3, max_tokens: 2048 }Ollama 默认不认max_tokens需在~/.ollama/config.json中添加{ host: 127.0.0.1:11434, max_tokens: 2048 }然后重启ollama serve。这个配置项在 Ollama 文档中几乎不提却是 Codex 能正常工作的前提。4.3 DeepSeek 接入绕过官方 SDK 的直连方案DeepSeek 官方提供了deepseek-coder的 API Server但其默认端口8000和路径/v1/chat/completions与 Codex 预期不符。直接修改 Codex 源码风险太高OpenRig 社区采用了一个更稳健的方案用 Nginx 做反向代理和请求体重写。在/etc/nginx/conf.d/deepseek-proxy.conf中添加upstream deepseek_api { server 127.0.0.1:8000; } server { listen 11435; server_name localhost; location /v1/chat/completions { proxy_pass http://deepseek_api/v1/chat/completions; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection upgrade; # 重写请求体将 Codex 的 max_tokens - DeepSeek 的 max_new_tokens rewrite ^(.*)$ $1 break; client_max_body_size 10M; # 关键添加 model 字段因为 DeepSeek API 必须指定 model proxy_set_body {model:deepseek-coder-33b-instruct,messages:$request_body}; } }然后修改 Codex YAML 配置model: provider: ollama endpoint: http://localhost:11435 # 指向 Nginx name: deepseek-coder-33b-instruct # 此字段实际不被使用但必须存在Nginx 的proxy_set_body指令将 Codex 的原始请求体包裹进一个新 JSON强制注入model字段。这样既不用改 Codex 代码又满足了 DeepSeek 的接口要求。我实测此方案在 33B 模型上首 token 延迟为 1.2s适合复杂代码生成任务。4.4 VS Code 集成让 Codex 成为真正的本地 Copilot 替代品Codex CLI 启动后默认在http://localhost:3000提供 API。VS Code 的 Codex 插件非官方由社区维护需要手动配置 endpoint。在 VS Code 的settings.json中添加{ codex.apiEndpoint: http://localhost:3000, codex.enableInlineSuggest: true, codex.suggestDelayMs: 300, codex.maxContextTokens: 8192 }关键参数说明enableInlineSuggest: 启用内联补全即代码行尾自动提示这是 Copilot 的核心体验。suggestDelayMs: 延迟 300ms 再触发补全避免在快速打字时产生干扰。maxContextTokens: 设为 8192与qwen2:7b的 32K 上下文匹配但 Codex CLI 会自动截断超出部分。安装插件后重启 VS Code打开一个.py文件输入def fib(等待 300ms即可看到def fib(n):的补全建议。此时所有流量都在本地闭环VS Code → Codex API → Ollama → 本地 GPU/CPU。没有一次请求离开你的设备。经验VS Code 的codex.suggestDelayMs如果设得太低如 100ms会导致补全建议频繁闪烁因为 Codex API 的响应时间波动较大。300ms 是平衡响应速度与用户体验的黄金值比 Copilot 默认的 250ms 更稳。5. 故障排查实战从ccswitch failed到gpt-5.6-sol not supported的根因定位OpenRig 的部署过程本质上是一场与各种隐式依赖和静默失败的博弈。报错信息往往极具误导性比如cc switch local proxy failed while handling codex endpoint /responses看似是代理问题实则是模型服务未响应the gpt-5.6-sol model is not supported听起来像模型不兼容根源却是 Codex CLI 的配置加载失败。我将自己踩过的 17 个典型坑按排查链路重新组织形成一套可复现的诊断流程。5.1 第一层诊断确认 Codex CLI 是否真正加载了 YAML 配置这是 80% 问题的起点。Codex CLI 启动时不会打印“已加载配置”日志只会静默忽略错误配置。验证方法只有一个检查进程启动参数。启动 Codex 后执行ps aux | grep codex | grep -v grep # 输出类似 # user 12345 0.1 2.3 1234567 89012 ? S 10:00 0:05 node /usr/local/bin/codex serve记下 PID这里是 12345然后查看其完整启动命令cat /proc/12345/cmdline | tr \0 \n # 输出应包含 # node # /usr/local/bin/codex # serve # --config # /home/user/.codex/config.yaml -- 关键必须出现此行如果--config参数缺失说明 Codex CLI 根本没读到 YAML 文件。此时检查文件路径是否为$HOME/.codex/config.yaml注意是.codex目录不是.openrig文件权限是否为600chmod 600 ~/.codex/config.yamlCodex CLI 对配置文件权限敏感YAML 文件是否有语法错误用yamllint ~/.codex/config.yaml检查5.2 第二层诊断验证模型服务的连通性与响应格式当 Codex CLI 日志显示GET /health 200但/responses返回 500 时问题一定出在模型服务层。此时不要看 Codex 日志直接绕过它测试模型# 测试 Ollama 是否 alive curl -s http://localhost:11434/health echo Ollama OK || echo Ollama DOWN # 测试模型是否 ready curl -s http://localhost:11434/api/tags | jq -r .models[].name | grep qwen2:7b echo Model loaded || echo Model missing # 测试 API 是否返回正确格式Codex 要求 curl -s -X POST http://localhost:11434/api/chat \ -H Content-Type: application/json \ -d {model:qwen2:7b,messages:[{role:user,content:hi}]} | jq -r .message.content | head -c 20 # 应输出类似 Hello! How can I help 的文本如果第三步失败说明 Ollama 的 API 响应格式与 Codex 预期不符。此时检查 Ollama 版本必须 ≥ 0.1.44。旧版本返回的是response字段新版本才是message.content。升级命令curl -fsSL https://ollama.com/install.sh | sh。5.3 第三层诊断tmux pane 状态与 respawn 日志分析当服务看似运行但无响应时进入 tmux 查看各 pane 状态tmux attach -t openrig # 按 Ctrl-b, then s 查看 pane 列表 # 找到 codex-api pane按 Ctrl-b, then o 切入 # 查看实时日志关键日志线索Error: connect ECONNREFUSED 127.0.0.1:11434Ollama 未启动或端口错Error: getaddrinfo ENOTFOUND api.codex.comproxy.enabled: true 且 upstream 不可达TypeError: Cannot read property content of undefined模型 API 返回格式错误见 5.2tmux 的 respawn 日志存于/tmp/tmux-$(id -u)/openrig-*.log。用tail -f /tmp/tmux-$(id -u)/openrig-*.log实时监控 respawn 行为可发现进程是否被频繁 kill-restart。5.4 终极验证用 Codex CLI 的 debug 模式捕获完整请求链Codex CLI 支持--debug标志但它不输出到 stdout而是写入~/.codex/debug.log。启动时加上codex serve --debug然后触发一次补全请求查看 debug.logtail -n 50 ~/.codex/debug.log你会看到类似[DEBUG] Forwarding request to http://localhost:11434/api/chat [DEBUG] Request body: {model:qwen2:7b,messages:[...]} [DEBUG] Response status: 200 [DEBUG] Response body: {message:{role:assistant,content:def fib...}}如果Response body是空或格式错误问题就在模型服务如果Forwarding request根本没出现说明 Codex CLI 还没走到转发逻辑一定是配置加载失败或 auth 拦截。踩坑心得gpt-5.6-sol not supported这个报错99% 是因为 Codex CLI 加载了错误的配置文件比如~/.openrig/config.yaml而该文件里model.name写成了gpt-5.6-sol。Codex CLI 在找不到对应模型时会把这个字符串原样传给下游服务然后下游服务报错。解决方案不是换模型而是删掉错误的配置文件确保只用$HOME/.codex/config.yaml。6. OpenRig 的演进边界它能做什么不能做什么以及下一步该往哪走OpenRig 不是一个终点而是一个技术判断的分水岭。它清晰地划出了当前本地化 AI 编程助手的能力边界能稳定提供代码补全、解释、单元测试生成等核心功能但无法替代云端服务的实时协作、跨设备同步、以及复杂工程级重构。理解这个边界比盲目追求“完全替代”更重要。6.1 明确的能力上限三类 Codex 功能的本地化可行性评估Codex 功能OpenRig 可实现度关键限制因素替代方案建议实时代码补全inline★★★★★依赖模型响应延迟 1s 即可无已完美实现函数级代码解释★★★★☆长函数可能超出上下文窗口手动分段请求或增大 max_tokens跨文件代码导航★★☆☆☆Codex CLI 无文件索引能力配合 VS Code 的原生 Go To Definition多人实时协作编辑☆☆☆☆☆无 WebSocket 支持无状态同步机制必须使用云端 Codex 或 GitHub Codespaces工程级重构重命名★☆☆☆☆需要 AST 分析和全项目扫描本地资源不足用 VS Code 的 Rename Symbol基于 TS/Python 语言服务最值得警惕的是“跨文件代码导航”。很多用户期望 OpenRig 能像 Copilot 那样点击一个函数名就跳转到定义但这需要 Codex 后端维护一个完整的项目符号表Symbol Table而 OpenRig 的架构里Codex CLI 只是一个无状态的 API 网关它不解析代码不建立索引只转发请求。试图用grep或ripgrep在后台构建索引会显著拖慢响应速度得不偿失。6.2 安全与合规的硬约束为什么 OpenRig 天然规避了数据泄露风险OpenRig 的最大隐性价值是它彻底消除了代码数据上传的风险。Codex 官方客户端的所有请求无论是否启用“本地模型”其 telemetry、error reporting、甚至部分 prompt 都会经由api.codex.com中转。而 OpenRig 的整个数据流是IDE → Codex CLIlocalhost:3000→ Ollamalocalhost:11434→ 本地 GPU 内存。没有任何字节离开你的设备。我曾用 Wireshark 抓包验证在 OpenRig 运行期间tcpdump -i any port not 22 and port not 53 and host not 127.0.0.1的输出为空。这意味着你的源码永远不会出现在任何第三方服务器日志中你的提示词prompt不会被用于模型微调你的 API key如果配置了不会被 Codex CLI 上传因为 auth.disabled: true这对金融、政企、军工等对数据主权有严苛要求的场景是决定性优势。不需要复杂的 GDPR 合规审计物理隔离就是最强保障。6.3 下一步从 OpenRig 到 OpenStack 的自然延伸OpenRig 的下一步不是增加更多模型支持而是构建一个可插拔的本地 AI 工具链栈。我正在实践的 OpenStack 架构包含三个层次基础层OpenRigCodex CLI Ollama/LM Studio提供标准化 API。增强层OpenTool一组独立的 CLI 工具如openlint本地代码质量扫描、opentest基于模型的单元测试生成、openrefactorAST 级重构它们都消费 OpenRig 的 API但各自专注一个领域。集成层OpenHub一个轻量 Web UI用 SvelteKit 构
返回列表