OpenSymphony 2.0.0 将 Codex 从原型研究推进为受支持的本地 harness 路径。
这个版本增加本地 Codex app-server 集成,让可信本地操作员可以通过已安装的 Codex CLI 路由 issue 工作,同时继续由 OpenSymphony 管理调度、工作区约束、运行清单和面向操作员的调试体验。
变化
codex_app_server现在是受支持的本地 harness 类型。- OpenSymphony 会在 issue 工作区中以
codex --dangerously-bypass-hook-trust app-server --stdio启动已安装的 Codex CLI。 initialize、thread/start和turn/start会根据已安装 Codex CLI 生成的 schema 校验。- workflow 和 launcher 可以通过
routing.harness: codex_app_server或OPENSYMPHONY_HARNESS=codex_app_server选择 Codex。 - gateway model settings 会报告 Codex CLI、app-server 和 ChatGPT 登录 readiness。
- Codex-backed run 会记录 thread ID,因此
opensymphony debug <issue-key>可以恢复匹配的 Codex thread。 - Codex run 的 token usage、event summary、run-detail metrics 和桌面 run-detail 实时刷新更加清晰。
配置
routing:
harness: codex_app_server
model: gpt-5-codex
model_profile: codex-chatgpt-local-keychain
OPENSYMPHONY_HARNESS=codex_app_server
OPENSYMPHONY_MODEL=gpt-5-codex
OPENSYMPHONY_MODEL_PROFILE=codex-chatgpt-local-keychain
使用 opensymphony run --dry-run 可以在启动模型 worker 前预览路由。
Readiness 与安全范围
OpenSymphony 将本地 ChatGPT 订阅视为 Codex CLI 登录引用。Readiness 只通过安全的操作员命令检查:codex --version、codex app-server --help 和 codex login status。Codex 原始 OAuth 材料不会进入 OpenSymphony 工作区、workflow 文件、日志、评论或 browser payload。
这是可信本地自动化路径。Hosted multi-tenant Codex worker pool 不在当前范围内,loopback WebSocket 仍是实验性能力,stdio JSON-RPC 是受支持的本地传输。
调试 Codex run
当 Codex app-server worker 启动 thread 时,OpenSymphony 会把 Codex thread ID 写入 issue 工作区 manifest。opensymphony debug <issue-key> 会在 issue 工作区中用 codex resume <thread-id> 恢复该 thread,而 opensymphony debug <issue-key> --app 会打印匹配的 codex://threads/<thread-id> deep link。
实现契约见 Codex app-server harness 文档 。