监督式多任务分解与调度
将复杂需求拆解为 Codex Agent 可独立执行的原子任务。通过 dispatch.mjs 编排服务自动分派到 Codex SDK,实时 Dashboard 追踪进度,自主决策循环保证交付闭环。仅依赖 Node.js 运行时。
FEATURES
Orchestrator 以用户身份自主决策。检测到任务完成后立即评估、决策、行动,不等待指令。
按文件数(≤8)、代码量(≤500行)、依赖深度(≤2层)等维度判断粒度,支持垂直切片、水平分层、契约先行三种策略。
dispatch.mjs 启动本地监控面板:DAG 依赖图、Agent 事件流、Token 用量追踪、进度条。
四状态机: POLLING → EVALUATING → DECIDING → ACTING。全部成功则交付,部分失败则修复重派,不停止等待。
每批次完成后自动执行构建检查、lint、测试、diff 范围验证。审计类批次可跳过构建。
支持 suggest / auto-edit / full-auto 三种 approvalPolicy,自动为每个 session 准备 instructions 文件。
REFERENCE
dispatch.mjs — 本地 Codex 任务调度
| 命令 | 说明 | 示例 |
|---|---|---|
--dry-run | 预览执行计划 | node scripts/dispatch.mjs ./tasks/ --dry-run |
--parallel | 并行调度 | node scripts/dispatch.mjs ./tasks/ --parallel --approval-mode full-auto |
--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 说"用 Codex 帮我实现这个需求",Agent 进入编排模式:
> "把这个 PRD 拆成 Codex 任务,并行开发"
Agent 执行:
Phase 1 — 分析需求,读取项目上下文 (domain.md + 目录结构)
Phase 2 — 按粒度阈值拆解为原子任务,生成 DAG 依赖图
Phase 3 — 启动 dispatch.mjs,并行分派到 Codex Agent
Phase 4 — 自主循环: 轮询进度 → 评估结果 → 决策下一步想先看看拆解结果再决定:
node scripts/dispatch.mjs ./tasks/ --dry-run输出任务 DAG,不实际启动 Codex 会话。
Agent 不是调度器 — 它以用户身份自主决策:
整个循环持续到需求满足或遇到阻塞为止。
| 维度 | 阈值 | 超出则拆分 |
|---|---|---|
| 文件变更数 | ≤ 8 个文件 | 按模块边界拆 |
| 代码行数 | ≤ 500 行 | 按功能切片拆 |
| 依赖深度 | ≤ 2 层 | 先交付底层 |
| 验收点 | ≤ 3 个 | 功能过于复杂 |
| 策略 | 适用场景 |
|---|---|
| 垂直切片 (Feature-based) | 新功能开发,完整纵贯 UI → Service → API |
| 水平分层 (Layer-based) | 基础设施搭建,同层批量工作 |
| 契约先行 (Contract-first) | 跨端项目,先交付接口定义再实现两端 |
| CLI 模式 | approvalPolicy | 适用场景 |
|---|---|---|
| suggest | on-request | 功能实现、修改现有代码 |
| auto-edit | on-failure | 创建新模块、脚手架 |
| full-auto | never | 新文件创建、格式化、文档 |
INSTALL