1. 前言 oh-my-codex,简称 OMX,可以理解为 Codex CLI 的工作流增强层。它本身不是 VS Code 插件,也不是一个独立 IDE,而是在命令行里给 Codex CLI 增加 agents、skills、hooks、team runtime、tmux 管理、计划执行等能力。
在 Mac 上使用它做远程调试和开发,推荐的方式是:
1 2 3 4 5 6 Mac Terminal / iTerm2 -> SSH -> Remote Linux Server -> tmux session -> omx / codex -> edit code, run tests, inspect logs, restart service
也就是说,真正执行代码读取、修改、测试、调试命令的是远程服务器上的 omx 和 codex。Mac 只负责 SSH 连接和恢复会话。
2. Mac 本地最佳实践 Mac 本地建议使用 Terminal 或 iTerm2。VS Code 可以负责编辑代码,但不建议把 oh-my-codex 当成 VS Code 扩展使用。
安装基础依赖:
1 2 3 4 brew install node tmux npm install -g @openai/codex oh-my-codex codex login omx setup
安装完成后做真实验证:
1 2 3 omx doctor codex login status omx exec --skip-git-repo-check -C . "Reply with exactly OMX-EXEC-OK"
omx doctor 只说明安装结构基本正常,omx exec 才能验证当前 shell、认证、模型路由和执行链路是否真的可用。
3. 远程服务器安装 以 Ubuntu/Debian 服务器为例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ssh user@server curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash - sudo apt-get install -y nodejs git tmux npm install -g @openai/codex oh-my-codex codex login omx setup omx doctor codex login status omx exec --skip-git-repo-check -C . "Reply with exactly OMX-EXEC-OK"
如果是生产服务器,不建议直接用 root 跑长期开发任务。更稳妥的方式是创建单独的 dev 用户,只给项目目录、日志目录和必要服务授权。
4. 远程日常开发方式 登录服务器后创建 tmux 会话:
1 2 ssh user@server tmux new -s dev
进入项目目录启动 OMX:
1 2 cd /srv/your-project omx --madmax --high
断线后恢复:
1 2 ssh user@server tmux attach -t dev
小任务可以不用 team/tmux runtime:
1 2 cd /srv/your-project omx --direct --high
更重的任务可以使用更高推理强度:
5. VS Code 配合方式 如果想在 VS Code 里使用,建议用两种方式之一:
1 2 方式一:VS Code 本地打开项目,Mac 终端 SSH 到服务器跑 omx 方式二:VS Code Remote SSH 打开服务器项目,VS Code 远程终端里跑 omx
重点是 omx 应该运行在代码和运行环境所在的机器上。远程项目就让 omx 运行在远程服务器上,避免在 Mac 本地反复通过 ssh "command" 间接操作。
6. 调试任务怎么交给 OMX 可以先让它做只读调查:
1 检查当前服务为什么启动失败。先只读查看 package.json、日志、端口占用和环境变量,不要修改文件,最后给出修复计划。
如果问题明确,再让它修复:
1 按计划修复当前服务启动失败的问题,修复后运行测试和健康检查。
常见排查命令包括:
1 2 3 4 5 6 7 rg "error|listen|PORT" . npm test npm run build systemctl status your-service journalctl -u your-service -n 200 --no-pager docker compose logs --tail=200 app curl -I http://127.0.0.1:3000/health
在 OMX 会话中,大任务建议按这个顺序处理:
1 2 3 4 $deep-interview "澄清需求、现象、日志路径、复现方式和不能动的边界" $ralplan "制定调试和修复计划" $ralph "按计划持续执行到完成并验证" $team 3:executor "把已确认计划拆成 3 个并行执行任务"
使用判断:
1 2 3 4 5 需求不清:先 $deep-interview 多文件改动:先 $ralplan 单线程持续推进:用 $ralph 明确能拆分的大任务:用 $team 只想读代码:用 omx explore
7. 项目内 AGENTS.md 建议每个项目根目录放一个 AGENTS.md,把项目约定写清楚。OMX 会把项目里的 AGENTS.md 注入 Codex。
示例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 # AGENTS.md ## Commands - Install: npm install- Test: npm test- Lint: npm run lint- Build: npm run build- Dev: npm run dev## Runtime - App port: 3000- Health check: curl -I http://127.0.0.1:3000/health- Logs: docker compose logs --tail=200 app## Rules - Do not edit generated files.- Do not run destructive database commands.- Keep changes scoped to the current task.- Run tests before final response when practical.
.omx/ 通常不要提交到仓库:
.omx/ 里会保存计划、日志、状态、team runtime 和本地运行数据,适合留在本机。
8. 远程 omx doctor 状态说明 下面是一个远程服务器上的 omx doctor 结果:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 Resolved setup scope: user (from .omx/setup-scope.json) Resolved setup install mode: legacy (from .omx/setup-scope.json) [OK] Codex CLI: installed (codex-cli 0.128.0) [OK] Node.js: v20.20.2 [!!] Explore Harness: Rust harness sources are packaged, but no compatible packaged prebuilt or cargo was found [OK] Codex home: /root/.codex [OK] Config: config.toml has OMX entries [!!] Model context recommendation: model_context_window=1000000, model_auto_compact_token_limit=900000 exceeds the OMX setup recommendation for gpt-5.5 (250000 / 200000) [OK] Native hooks: hooks.json includes OMX-managed coverage for all native hook events [OK] Explore routing: enabled by default [OK] Lore commit guard: enabled by default [OK] Prompts: 33 agent prompts installed [OK] Skills: 34 skills installed [OK] Legacy skill roots: no ~/.agents/skills overlap detected [OK] AGENTS.md: found in /root/.codex/AGENTS.md [OK] State dir: /root/outline/.omx/state [OK] MCP Servers: 5 servers configured (OMX present) [OK] Prompt triage: config: enabled (default) Results: 14 passed, 2 warnings, 0 failed
0 failed 说明核心环境可以使用。这里两个 warning 的处理方式如下。
8.1 Explore Harness 警告 这个警告表示 omx explore 需要的 Rust harness 没有可用预编译版本,本机也没有 cargo。普通 omx、$ralph、$team 仍然可用,但 omx explore 可能不可用。
安装 Rust:
1 2 3 curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | shsource ~/.cargo/env omx doctor
也可以使用已有 harness:
1 2 export OMX_EXPLORE_BIN=/path/to/omx-explore-harness omx doctor
8.2 Model context recommendation 警告 这个警告表示当前 config.toml 里的上下文窗口配置超过了 OMX 对 gpt-5.5 的推荐值。
当前值:
1 2 model_context_window = 1000000 model_auto_compact_token_limit = 900000
建议值:
1 2 model_context_window = 250000 model_auto_compact_token_limit = 200000
编辑配置:
1 nano /root/.codex/config.toml
修改后验证:
1 2 3 omx doctor codex login status omx exec --skip-git-repo-check -C /root/outline "Reply with exactly OMX-EXEC-OK"
如果你确认当前 provider 支持更大的上下文,并且成本、速度和自动压缩行为都符合预期,也可以保留自定义值。但默认建议先按 OMX 推荐值配置。
9. 权限和安全边界 远程开发时不要给 Codex 无限制权限。建议遵守这些原则:
1 2 3 4 5 6 1. 不在生产机上直接用 root 长期运行 omx。 2. 不把数据库 root 密码、云厂商 AK/SK 写进 AGENTS.md。 3. 线上排障先只读调查,再授权修改。 4. 涉及 rm、reset、迁移数据库、重启核心服务时先人工确认。 5. 用 tmux 保留现场,避免 SSH 断开导致任务上下文丢失。 6. 对大任务先 $ralplan,再 $ralph 或 $team。
如果使用 $team,最好保证 git 工作区干净,或者至少清楚哪些文件是用户正在改的,避免多个 worker 改到同一批文件。
10. 更新和排错 更新 OMX:
1 2 3 4 5 npm install -g oh-my-codex omx setup omx doctor codex login status omx exec --skip-git-repo-check -C . "Reply with exactly OMX-EXEC-OK"
查看基础环境:
1 2 3 4 5 6 7 8 echo $HOME echo $CODEX_HOME which omxwhich codex node -v npm -v codex login status omx doctor
查看 tmux/team 状态:
1 2 3 tmux ls omx team status omx doctor --team
确认废弃 team 后再清理:
1 2 3 omx team shutdown <team-name> --force --confirm-issues omx cancel omx doctor --team
11. 推荐结论 Mac 命令行使用 oh-my-codex 的最佳实践是:
1 2 3 4 5 6 7 8 Mac 用 Terminal/iTerm2 远程通过 SSH 登录服务器 服务器用 tmux 保持长会话 项目根目录写 AGENTS.md 小任务用 omx --direct --high 长任务用 omx --madmax --high 复杂任务先 $ralplan,再 $ralph 或 $team doctor 后必须用 omx exec 做真实烟测
这样可以让 Codex 在真实运行环境里读代码、改代码、跑测试、看日志和重启服务,同时保留可恢复的远程会话。