监督式多任务分解与调度
将复杂需求拆解为可独立执行的原子任务,支持 Codex / Claude Code 混合引擎。dispatch.mjs 编排服务自动分派、实时 Dashboard 追踪进度、自主决策循环保证交付闭环。
FEATURES
每个任务可独立选择 Codex 或 Claude Code 引擎。通过 T*.md 的 engine 字段指定,未指定则继承 --engine 全局默认值。
Orchestrator 以用户身份自主决策。检测到任务完成后立即评估、决策、行动,不停止等待指令。
按文件数(≤8)、代码量(≤500行)、依赖深度(≤2层)判断粒度,支持垂直切片、水平分层、契约先行三种策略。
dispatch.mjs 启动本地监控面板:DAG 依赖图、Agent 事件流、Token 用量追踪、进度条。
四状态机: POLLING → EVALUATING → DECIDING → ACTING。全部成功则交付,部分失败则修复重派。
每批次自动执行构建检查、lint、测试、diff 范围验证。审计类批次可跳过构建。
REFERENCE
dispatch.mjs — 任务调度
| 命令 | 说明 | 示例 |
|---|---|---|
--dry-run | 预览执行计划 | node scripts/dispatch.mjs ./tasks/ --dry-run |
--parallel | 并行调度 | node scripts/dispatch.mjs ./tasks/ --parallel --approval-mode full-auto |
--engine <codex|claude> | 默认引擎(任务可覆盖) | node scripts/dispatch.mjs ./tasks/ --engine claude |
--status | 查看状态 | node scripts/dispatch.mjs ./tasks/ --status |
--no-open | 不打开浏览器 | node scripts/dispatch.mjs ./tasks/ --parallel --no-open |
轻量级状态读取
| 命令 | 说明 | 示例 |
|---|---|---|
status.txt | cat 状态文件 (零开销) | cat ./tasks/.dispatch-logs/{runId}/status.txt |
summary.json | 结构化结果报告 | cat ./tasks/.dispatch-logs/{runId}/summary.json |
HTTP API | Dashboard API | curl localhost:{port}/api/state |
对 Agent 说"帮我拆任务并行开发",Agent 进入编排模式:
> "把这个 PRD 拆成任务,架构用 Claude,实现用 Codex"
Agent 执行:
Phase 1 — 分析需求,读取项目上下文
Phase 2 — 按粒度阈值拆解为原子任务,每个标注引擎
Phase 3 — 启动 dispatch.mjs,按需加载 SDK,混合分派
Phase 4 — 自主循环: 轮询 → 评估 → 决策 → 行动在 T*.md 中添加一行即可:
- **Engine**: claude未指定则继承 --engine 默认值(codex)。
Agent 不是调度器 — 它以用户身份自主决策:
整个循环持续到需求满足或遇到阻塞为止。
| 维度 | 阈值 | 超出则拆分 |
|---|---|---|
| 文件变更数 | ≤ 8 个文件 | 按模块边界拆 |
| 代码行数 | ≤ 500 行 | 按功能切片拆 |
| 依赖深度 | ≤ 2 层 | 先交付底层 |
| 验收点 | ≤ 3 个 | 功能过于复杂 |
| 上下文复杂度 | ≤ 200 字 | 描述不清 = 范围太大 |
| 策略 | 适用场景 |
|---|---|
| 垂直切片 (Feature-based) | 新功能开发,完整纵贯 UI → Service → API |
| 水平分层 (Layer-based) | 基础设施搭建,同层批量工作 |
| 契约先行 (Contract-first) | 跨端项目,先交付接口定义再实现两端 |
| CLI 模式 | Codex approvalPolicy | Claude permissionMode |
|---|---|---|
| suggest | on-request | default |
| auto-edit | on-failure | acceptEdits |
| full-auto | never | bypassPermissions |
INSTALL