规划桥梁
一个MCP服务器,支持结构化 plan → 实施→ 回顾→ fix 两个AI编码代理之间的工作流。一个代理创建计划并审查代码。另一个执行计划并修复审查结果。他们通过磁盘上的共享计划文件进行协调。
为什么?
在使用人工智能构建时,您通常希望一个代理进行规划和审查,而另一个代理则进行实施。但是,在两个终端之间进行协调是乏味的——您需要不断地来回切换、复制粘贴计划ID和手动触发命令。
Plan Bridge通过以下方式解决了这个问题:
- 本地存储 --存储在项目中的计划 `
/.plans/`,不是全局目录
- 内联计划创建 --在对话中直接创建计划,无需计划模式
- 自动分相 --复杂的计划分为可管理的阶段,具有独立的审查周期
- 共享MCP服务器 --两个代理读取/写入相同的计划文件
- 自动审查循环 --代理轮询状态更改,无需人工干预
- 分阶段编排 —
/plan-bridge:full-cycle独立实施和审查每个阶段 - 单终端模式 --从一个终端运行所有内容
- 令牌优化 --信任+验证评论(节省56%)+安静输出模式(节省96%)=总减少68%
快速开始
1.建造
cd plan-bridge-mcp
npm install
npm run build2.配置克劳德代码
全局注册MCP服务器(或通过以下方式按项目注册 .mcp.json):
claude mcp add plan-bridge -- node /path/to/plan-bridge-mcp/build/index.cjs或手动添加到 ~/.claude/settings.json:
{
"mcpServers": {
"plan-bridge": {
"command": "node",
"args": ["/path/to/plan-bridge-mcp/build/index.cjs"]
}
}
}安装斜线命令:
cp commands/claude-code/*.md ~/.claude/commands/3.配置OpenCode
增添 ~/.config/opencode/opencode.json:
{
"mcp": {
"plan-bridge": {
"type": "local",
"command": ["node", "/path/to/plan-bridge-mcp/build/index.cjs"]
}
},
"command": {
"plan-bridge:get-plan": {
"description": "Retrieve a plan and implement it",
"template": ""
},
"plan-bridge:claude-review": {
"description": "Get review findings and fix them (auto-loops)",
"template": ""
},
"plan-bridge:mark-done": {
"description": "Force-mark a plan as completed",
"template": ""
}
}
}看 commands/opencode/opencode-config-example.json 对于完整的示例。
用法
全周期(全自动-单终端!)
Claude Code的TRUE单终端自动化:
- 描述你想在对话中构建什么(或使用计划模式)
- 跑
/plan-bridge:full-cycle - 就是这样! 克劳德代码自动:
- 分析计划复杂性(0-100分) - 如果复杂,则分为多个阶段(得分≥50或5+个文件) - 将计划提交到本地存储( /.plans//) - 对于每个阶段(或单个实施,如果简单的话): - 运行OpenCode以实现(同步) - 自动审核代码 - 运行OpenCode以修复发现的问题 - 循环直到阶段批准 - 进入下一阶段 - 报告完成
OpenCode工作时对话暂停 (每步最多10分钟)-这是预期的。无需人工干预!
复杂的计划 自动分为几个阶段:
- 每个阶段都是独立实施、审查和批准的
- 减少压倒性的审查周期
- 可管理的增量进展
双终端模式
为了获得更多控制,请在单独的终端中运行代理:
Terminal 1 (Claude Code): /plan-bridge:send-plan → /plan-bridge:review-plan
Terminal 2 (OpenCode): /plan-bridge:get-plan → /plan-bridge:claude-review两个自动循环通过 wait_for_status --不需要进一步干预。
命令
克劳德代码(~/.claude/commands/)
| 命令 | 描述 |
|---|---|
/plan-bridge:send-plan [name] | 提交计划 ~/.claude/plans/ 或对话 |
/plan-bridge:review-plan [id] | 审查实施情况,自动循环直至批准 |
/plan-bridge:full-cycle [name] | 全自动化:提交+实施+审查循环 |
OpenCode(内联) opencode.json)
| 命令 | 描述 |
|---|---|
/plan-bridge:get-plan [id] | 制定并实施计划 |
/plan-bridge:claude-review [id] | 获取发现,修复它们,自动循环直到获得批准 |
/plan-bridge:mark-done [id] | 强制完成计划 |
MCP工具
两个代理都可以使用15个工具:
核心工作流工具
| 工具 | 目的 |
|---|---|
submit_plan | 创建一个简单的计划(遗留) |
submit_phased_plan | 创建具有自动复杂性分析和阶段划分的计划(推荐) |
get_plan | 按ID获取计划或按状态获取最新计划 |
list_plans | 列出计划(按状态、项目路径、存储模式筛选) |
update_plan_status | 更改计划状态 |
submit_review | 提交调查结果(空=批准,阶段意识) |
get_review | 获取计划或当前阶段的最新审核 |
submit_fix_report | 报告修复(自动设置review_requested,阶段感知) |
mark_complete | 强制完成计划 |
wait_for_status | 轮询,直到达到目标状态 |
复杂性和阶段管理
| 工具 | 目的 |
|---|---|
analyze_plan_complexity | 分析计划内容并获得阶段建议 |
get_current_phase | 为分阶段计划获取活动阶段 |
list_plan_phases | 列出所有阶段及其状态摘要 |
advance_to_next_phase | 标记当前阶段完成并前进到下一阶段 |
migrate_plan_to_local | 将全局计划迁移到本地存储 |
运作原理
┌─────────────┐
│ Plan File │
│ (JSON on │
│ disk) │
└──────┬──────┘
│
┌────────────┼────────────┐
│ │ │
┌─────┴─────┐ │ ┌──────┴─────┐
│ Claude │ │ │ OpenCode │
│ Code │ │ │ │
│ │ │ │ │
│ submit │────►│ │ │
│ review │◄────│────►│ implement │
│ approve │────►│ │ fix │
└───────────┘ │ └────────────┘
│
Plan status transitions:
submitted → in_progress →
review_requested → needs_fixes →
review_requested → ... → completed储存:
- 新计划 (默认):本地存储在 `
/.plans/ / - plan.json --元数据、评论、修复 - plan.md --原始降价内容 - CLAUDE.md --自动生成的项目上下文 - phases/` --单个阶段文件(如果分阶段)
- 遗留计划:全球存储
~/.plan-bridge/plans/(向后兼容)
每个代理生成自己的MCP服务器进程(stdio传输),但它们通过文件系统共享状态。
本地存储和阶段管理
本地存储
计划现在存储在项目的本地:
/
.plans/
/
├── plan.json # Full plan metadata
├── plan.md # Original content
├── CLAUDE.md # Auto-generated context
└── phases/ # Phase files (if complex)
├── phase-1.json
├── phase-1.md
├── phase-2.json
└── phase-2.md优点:
- 计划遵循其描述的代码
- 易于在git中检查和跟踪(添加
.plans/到.gitignore) - 无全球污染
- 多项目支持
自动相位分割
在以下情况下,复杂计划会自动分为多个阶段:
- 复杂性得分≥50,OR
- 计划中引用了5+个文件
复杂性指标:
- 文件数
- 预计实施步骤
- 明确的阶段标记(##阶段1,##步骤1)
- 依赖关系关键字
阶段工作流程:
- 第一阶段已实施→ 审阅→ 固定的→ 批准
- 进入第二阶段
- 第二阶段已实施→ 审阅→ 固定的→ 批准
- …重复直到所有阶段完成
- 标记为已完成的计划
为什么是阶段?
- 减少压倒性的审查周期
- 将实施重点放在可管理的块上
- 每个阶段都有独立的审查
- 清晰的进度跟踪
项目结构
plan-bridge/
├── README.md # This file
├── CLAUDE.md # Project instructions for Claude Code
├── AGENTS.md # Agent interaction guide
├── LICENSE
├── commands/
│ ├── claude-code/ # Slash commands for Claude Code
│ │ ├── plan-bridge:send-plan.md
│ │ ├── plan-bridge:review-plan.md
│ │ └── plan-bridge:full-cycle.md
│ └── opencode/ # Slash commands for OpenCode
│ ├── plan-bridge:get-plan.md
│ ├── plan-bridge:claude-review.md
│ ├── plan-bridge:mark-done.md
│ └── opencode-config-example.json
└── plan-bridge-mcp/ # MCP server source
├── src/
│ ├── index.ts # Entry point
│ ├── tools.ts # 9 tool definitions
│ ├── storage.ts # File-based CRUD
│ └── types.ts # TypeScript interfaces
├── package.json
└── tsconfig.json需求
- Node.js 18+
- 克劳德代码 支持MCP
- 开源代码 支持MCP(用于两个代理工作流)
opencode命令行界面 在PATH(for/full-cycle单终端模式)
许可证
麻省理工学院
