基于 Codex 的多模型工作流
让多模型 AI 达到生产标准
Claude & Gemini 起草 · Codex 审查 · 放心交付
简体中文 | English
Synapse 是一个 Codex skill,用于编排多个 AI 模型协助你构建软件:
flowchart TB
subgraph Orchestrator["Codex(控制器)"]
direction TB
A1["生成提示词"]
A2["将草稿改写为生产代码"]
A3["运行验证并交付"]
end
Orchestrator --> Claude["Claude<br/>(规划 · 后端 diff · 审计)"]
Orchestrator --> Gemini["Gemini<br/>(前端 diff · UI/UX 审计)"]
核心原则:外部模型(Claude/Gemini)只产出草稿 —— 它们不会直接修改你的文件。Codex 审查每份草稿,改写为生产级代码后再应用。
| 特性 | 说明 |
|---|---|
| 📝 基于草稿 | 外部模型产出草稿 diff;Codex 负责最终代码 |
| 🚪 门控确认 | 规划完成后、执行前需人工审批 |
| 🛡️ 写入保护 | 所有文件写入限制在声明的安全路径内 |
| ✅ 自动验证 | 自动检测工具链并运行 lint/类型检查/测试 |
| 🔄 会话恢复 | 通过捕获的 session ID 继续上次工作 |
| 🌐 Web 查看器 | 通过 synapse ui 在本地浏览所有产物 |
| 工具 | 是否必需 |
|---|---|
| git | 推荐(启用基于 git diff 的审查/审计) |
| rg (ripgrep) | 推荐(启用上下文包搜索) |
| uv | 是(Python 运行器) |
| claude CLI | 是 |
| gemini CLI | 是 |
# 端到端工作流:从初始化到审查
synapse workflow "Add user authentication with JWT"
# 同样的功能,更短的别名
synapse feat "Add user authentication with JWT"Codex 自动编排完整流水线:init → plan → 门控 → run(草稿)→ 应用代码 → verify → run(审计)→ 交付。
注意:
workflow和feat是 Codex 对话命令,不是 shell 命令。不能直接通过python synapse.py workflow ...运行。
用于调试或重现单个步骤:
$Skill = "<path-to>\.codex\skills\synapse"
$Project = "<your-project>"
# 初始化(幂等)
uv run --no-project python "$Skill\scripts\synapse.py" --project-dir "$Project" init
# 创建计划
uv run --no-project python "$Skill\scripts\synapse.py" --project-dir "$Project" plan --task-type fullstack "Your request"
# 运行外部模型(提示词由 Codex 编写)
uv run --no-project python "$Skill\scripts\synapse.py" --project-dir "$Project" run --model claude --phase plan --slug "<slug>" --prompt-file "<prompt>"
# 验证(自动检测工具链)
uv run --no-project python "$Skill\scripts\synapse.py" --project-dir "$Project" verify
# 打开 Web 查看器
uv run --no-project python "$Skill\scripts\synapse.py" --project-dir "$Project" uiinit → plan → run (gate_prep) → (门控) → run (草稿) → Codex 应用代码 → verify → run (审计) → 交付
│
单次确认
| 阶段 | 执行内容 | 写入代码 |
|---|---|---|
| init | 创建 .synapse/ 目录结构、AGENTS.md、.gitignore |
|
| plan | 生成计划草案 + 门控检查清单 + 上下文包 | |
| run(gate_prep) | Claude 生成澄清问题清单 + 验收标准(前端可选 Gemini) | |
| 门控 | 用户确认范围、任务类型、副作用 | |
| run(草稿) | Claude/Gemini 产出草稿 diff | |
| apply | Codex 将草稿改写为生产代码 | 是 |
| verify | 自动检测工具链,运行 lint/类型检查/测试 | |
| run(审计) | Claude/Gemini 审查最终 git diff |
| 角色 | Codex(控制器) | Claude | Gemini |
|---|---|---|---|
| 规划 | 合并为最终计划 | 架构、风险、测试 | UI/UX、无障碍(仅前端/全栈) |
| 草稿 | 改写草稿为生产代码 | 后端 diff(后端/全栈) | 前端 diff(前端/全栈) |
| 验证 | 运行并解读结果 | 不参与 | 不参与 |
| 审计 | 根据审计修复代码 | 正确性、安全性、可维护性 | UI/UX、无障碍(仅前端/全栈) |
任务类型路由(在规划时设定):
frontend— 仅前端流水线backend— 仅后端流水线fullstack— 两者都用(默认,成本更高)
唯一需要用户确认的环节。plan(+ gate_prep)完成后,Codex 会展示:
- 澄清问题清单(来自 Claude
gate_prep,单轮回复;未回答的项使用推荐默认值) - 范围和验收标准
task_type选择(附推荐)- 技术栈/工具链选择
- 允许的副作用(依赖安装、锁文件、构建产物)
- Git/审查设置
- 验证计划
门控确认后,后续步骤自动执行。
- 使用 git 仓库 — 基于
git diff的审查/审计效果最佳。如需要请运行git init。 - 每次 feat 后提交 — 保持下次
git diff干净且聚焦。 - 审查前 — 运行
git add -N .使新的未跟踪文件出现在git diff中。
Q:为什么外部模型不直接写代码?
外部模型以无头模式运行,不自动批准任何操作。它们的输出被视为草稿。Codex 将其改写以匹配项目规范,添加测试,确保质量后再应用。
Q:`synapse verify` 实际运行什么?
它自动检测你的工具链(Node、Python、Rust、Go、.NET)并运行相应的安装/lint/类型检查/测试命令。使用 --dry-run 可预览而不执行。
Q:可以只用 Claude 或只用 Gemini 吗?
可以。设置 --task-type backend(仅 Claude)或 --task-type frontend(仅 Gemini)。使用 fullstack 时两者都会参与。
Q:产物存放在哪里?
所有产物写入项目根目录下的 .synapse/(自动添加到 .gitignore)。使用 synapse ui 可在本地 Web 查看器中浏览。
- ARCHITECTURE_CN.md — 技术细节、模块结构、内部机制
.codex/skills/synapse/SKILL.md— Codex 执行协议.codex/skills/synapse/references/*.md— 各命令规格说明
MIT