将 DeepSeek 真正地接入 Codex 中。Codex 做总指挥,自动选择 Flash / Pro, 把便宜的大量阅读交给 Flash,把难问题交给 Pro,并且最终由 Codex 验收。
先看结果
| 主控不变 | 双 Agent 分工 | 结果可证明 |
|---|---|---|
不修改 config.toml,父模型、Provider 和 ChatGPT 登录保持原样 | Flash 负责快速只读探索,Pro 负责深度推理与实现 | callback、线程数据库元数据、随机 challenge marker 三重验收 |
这不是 daemon、proxy、MCP Server 或第二套 Agent runtime。它是一组受管的
Codex 原生配置:两个 Agent、一个模型目录、一个明文交接 Hook、一个运行时
路由 Skill 和一个事务化管理器。
快速开始
要求:Node.js/npm、Python 3.9+、至少启动过一次的 ChatGPT Desktop(Codex)
或已经安装 Codex CLI,以及 DeepSeek API Key。
1. 安装 Plugin
ChatGPT Desktop(推荐)
只安装了 ChatGPT Desktop 的用户不需要在系统终端运行 codex。打开 Desktop
中的 Codex,新建任务,然后直接发送:
请安装这个插件:
https://github.com/TheBlindM/codex-deepseek-routerCodex Agent 会检查仓库中的 .agents/plugins/marketplace.json 并发起安装;出现
插件确认页面时点击 Install plugin。安装完成后用 ⌘Q(macOS)或完全退出
应用(Windows),重新打开并新建任务。
仅安装 Desktop 时,系统终端出现 command not found: codex 属于正常情况;
这不影响 Agent 在 Desktop 中安装插件。也可以在 Plugins 页面找到
DeepSeek Router 后手动点击安装。
Codex CLI
只有在系统终端执行 codex --version 成功时才使用下面的命令:
codex plugin marketplace add TheBlindM/codex-deepseek-router
codex plugin add codex-deepseek-router@deepseek-router这里的 deepseek-router 是仓库提供的 Marketplace 名称,定义在.agents/plugins/marketplace.json,不是需要用户自行替换的占位符。
Plugin 会同时提供管理 Skill、路由 Skill 与原生 Hook,不需要手动写入全局~/.codex/hooks.json。
更新或卸载
| 环境 | 更新 | 卸载 |
|---|---|---|
| ChatGPT Desktop | 把上面的 GitHub 地址再次交给 Codex Agent,并要求“更新并重新安装这个插件”;或在 Plugins 页面卸载后重新安装 | 在 Plugins → Installed 中打开插件并选择卸载 |
| Codex CLI | 依次运行 codex plugin marketplace upgrade deepseek-router 和 codex plugin add codex-deepseek-router@deepseek-router | 运行 codex plugin remove codex-deepseek-router@deepseek-router |
无论使用哪种方式,安装或更新后都应完全重启 Desktop/CLI,并打开新任务,
让新的 Skill、Hook 和工具生效。更多通用说明见
OpenAI Plugins 文档。
2. 在 Codex 中完成配置
重启 Codex、打开新任务,然后说:
请帮我安装并配置 codex-deepseek-router。Skill 会先检查状态。缺少凭据时,Codex 会索要 API Key,并只通过标准输入
交给管理器;密钥不会进入命令参数、配置文件或聊天回显。
3. 审查并验收
- 重启 Codex 或打开新任务,在原生 Plugin Hook UI 中 Review/Trust。
- 让 Codex 运行真实路由测试;Flash 与 Pro 必须分别通过。
- 若当前版本没有自动显示 Review Prompt,再在交互式 CLI 使用
/hooks。
以后可以直接说:
用 DeepSeek 子 Agent 评审这个仓库。它如何工作
用户任务
│
├─ 模态门:TEXT_ONLY / VISION_TRANSLATABLE / VISION_CRITICAL
├─ 敏感数据门:密钥与敏感内容留在 Codex
├─ 模型路由:Flash / Pro / 不委托
└─ 策略路由:FAST / REACT / SPEC / DEEP
│
▼
stage → SubagentStart Hook → DeepSeek 子 Agent
│
▼
原生 callback → 元数据与 marker 验证 → Codex 整合谁来做什么
| 路由目标 | 适合 | 边界 |
|---|---|---|
deepseek_flash | 搜索、枚举、日志、抽取、代码地图、大量阅读 | 只读;输出修改提案,不直接改文件 |
deepseek_pro | 根因、架构、并发、安全、复杂评审和跨模块实现 | 可写工作区;负责需要深度推理的落地 |
| Codex 父 Agent | 琐碎任务、敏感内容、关键视觉判断、最终验证与整合 | 始终保留主控权 |
Flash 可以返回带 Evidence Packet 的 ESCALATE_TO_PRO;Pro 从已有证据继续,
不重新扫描整个仓库。FAST / REACT / SPEC / DEEP 为有边界的决策合同,不是
额外的模型或运行时。
安装内容与安全边界
管理器会:
- 同时安装
deepseek-flash.toml与deepseek-pro.toml; - 在
~/.codex/models.json同时注册两个模型; - 由 Plugin 提供
skills/与hooks/hooks.json;Hook 通过PLUGIN_ROOT
定位文件,不依赖 cwd 或用户绝对路径;
- setup 只配置凭据、Agent、模型目录与显式路由所需的本地运行时;
- 使用系统凭据库保存 Key,并在任何步骤失败时完整回滚;
- 永远不修改父任务的
config.toml,也不伪造 Hook 信任状态。
macOS 通过同一个 Python 进程身份调用 Security.framework 读写 Keychain;status/doctor 只检查条目是否存在,不解密 Key,也不会为一次状态检查
重复触发钥匙串授权。所有面向用户的回复跟随用户当前使用的语言。
DeepSeek 子 Agent 只接收文本。截图、图片和视频必须先由 Codex 转成文字事实;
关键视觉判断不会委托。Windows Agent 通过用户环境变量DEEPSEEK_API_KEY 认证,设置后需要完全重启 Codex。