分层
OPENX 是 OpenAI Codex Harness 之上的薄壳。三层之间通过 JSON-RPC 2.0 通信,协议面是 Thread / Turn / Item 三层抽象。
① OPENX 入口层
CLI / Web IDE / Desktop / SDK · 用户面对的端。
↓
② OPENX 中间层(自研)
中文 prompt 调优 · Provider 路由 · 内网端点 · 并行 Agent 调度 · 4 端统一体验。
↓
③ Codex Harness(上游,Apache-2.0)
Agent loop · 工具调度 · 长上下文压缩 · 多 agent 编排。
↓
④ Provider 适配层
MiniMax / OpenAI / Anthropic / DeepSeek / Ollama · 统一 API,按任务路由。
Provider 路由
OPENX 不绑定任何一家模型。后端按任务特征和用户策略决定:
- 默认:MiniMax-M3(中文长任务)
- 推理:DeepSeek-R1(成本可控)
- 本地:Ollama 上跑的 Qwen / DeepSeek-Coder
- 海外:OpenAI / Anthropic(企业内网端点)
路由策略写在 ~/.openx/config.toml,可以按仓库、按任务类型覆盖。
中文层
OPENX 在两个层面处理中文:一是把用户输入翻译成 Harness 能更好理解的工程化指令;二是在产物里恢复中文表达(commit、注释、UI 文案、错误提示)。
设计原则:中文层不替代 Provider 的能力,只补它对中文开发者不友好的部分。
安全
- 所有写文件、跑命令、外发网络请求都要走用户确认。
- API Key 只读环境变量,不写入仓库、不进日志。
- 默认内网端点;切换到公网 Provider 需要显式开启。
- Prompt 不外发,遥测默认关闭,可在
openx telemetry off完全关闭。