协调器模式
src/coordinator/coordinatorMode.ts (~370 行) 实现多 Agent 编排的协调器。
启用方式
typescript
function isCoordinatorMode(): boolean {
// 通过环境变量 CLAUDE_CODE_COORDINATOR_MODE 启用
// 特性门控保护
return feature('COORDINATOR_MODE') &&
process.env.CLAUDE_CODE_COORDINATOR_MODE === '1'
}
function matchSessionMode(sessionMode: string): void {
// 恢复会话时匹配模式
// 翻转 CLAUDE_CODE_COORDINATOR_MODE 环境变量
}协调器系统提示
typescript
function getCoordinatorSystemPrompt(): string {
// 多段落的协调器角色定义
return `
## 角色定义
你是一个编排者,不是实现者。
你的工作是分解任务、分配给 Worker、监控进度。
## 可用工具
- AgentTool: 创建/恢复 Worker Agent
- SendMessageTool: 向 Worker 发消息
- TaskStopTool: 停止任务
- subscribe_pr_activity: 订阅 PR 活动
## Worker 管理
使用 <task-notification> XML 格式分配任务:
<task-notification>
<worker-id>worker-1</worker-id>
<task>实现登录功能</task>
<files>src/auth/*.ts</files>
</task-notification>
## 工作流阶段
1. Research: 调研代码库,理解现有模式
2. Synthesis: 综合分析,形成实施方案
3. Implementation: 分配任务给 Worker
4. Verification: 验证结果,处理问题
## 并发指导
- 只读操作可以并行
- 写入操作应串行化(避免冲突)
## Worker Prompt 编写
- 自包含(Worker 没有协调器上下文)
- 综合的规格说明
- 明确的目的说明
## Continue vs Spawn 决策矩阵
- 上下文重叠高 → continue(继续现有 Worker)
- 上下文重叠低 → spawn(创建新 Worker)
`
}用户上下文
typescript
function getCoordinatorUserContext(
mcpClients: MCPClient[],
scratchpadDir?: string
): string {
// 生成协调器的用户上下文
// 包含:
// 1. 可用 Worker 工具列表
// 2. MCP 服务器信息
// 3. 暂存目录路径
}工作流示例
用户: "重构所有 API 端点使用新的认证系统"
协调器:
1. [Research] 扫描 src/api/ 目录
2. [Synthesis] 发现 15 个端点需要修改
3. [Implementation]
├─ Worker-1: auth 中间件 (串行)
├─ Worker-2: GET 端点 (并行)
├─ Worker-3: POST 端点 (并行)
└─ Worker-4: 测试更新 (等待 2,3)
4. [Verification] 运行测试套件