[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-2087":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":14,"contributorsCount":15,"subscribersCount":15,"size":15,"stars1d":15,"stars7d":15,"stars30d":15,"stars90d":15,"forks30d":15,"starsTrendScore":15,"compositeScore":16,"rankGlobal":10,"rankLanguage":10,"license":17,"archived":18,"fork":18,"defaultBranch":19,"hasWiki":20,"hasPages":20,"topics":21,"createdAt":10,"pushedAt":10,"updatedAt":30,"readmeContent":31,"aiSummary":32,"trendingCount":15,"starSnapshotCount":15,"syncStatus":33,"lastSyncTime":34,"discoverSource":35},2087,"Master-Orchestrator","amber132\u002FMaster-Orchestrator","amber132","一个迭代器，可以迭代任何项目，包括他自己","https:\u002F\u002Famber132.github.io\u002FMaster-Orchestrator\u002F",null,"Python",127,10,1,0,3.12,"MIT License",false,"main",true,[22,23,24,25,26,27,28,29],"ai-agent","automation","claude-code","codex","dag","llm","orchestrator","python","2026-06-12 02:00:37","\u003Cdiv align=\"center\">\n\n# Master Orchestrator\n\n**一条命令把\"重构这 15 个文件\"分解成 DAG，让多个 Claude \u002F Codex 并发跑，按阶段路由不同模型，Simple 模式自动检测越权改动并回滚。**\n\n[![CI](https:\u002F\u002Fgithub.com\u002Famber132\u002FMaster-Orchestrator\u002Factions\u002Fworkflows\u002Fci.yml\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002Famber132\u002FMaster-Orchestrator\u002Factions\u002Fworkflows\u002Fci.yml)\n[![License: MIT](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-MIT-blue.svg)](LICENSE)\n[![Python 3.11+](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fpython-3.11+-blue.svg)](https:\u002F\u002Fwww.python.org\u002Fdownloads\u002F)\n[![GitHub Stars](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Famber132\u002FMaster-Orchestrator.svg)](https:\u002F\u002Fgithub.com\u002Famber132\u002FMaster-Orchestrator\u002Fstargazers)\n\n[English](.\u002FREADME_EN.md) | [快速开始](#快速开始) | [工作原理](#工作原理) | [示例](.\u002Fexamples) | [文档](#文档)\n\n\u003C\u002Fdiv>\n\n---\n\n## 它解决什么问题\n\n单个 `claude` 或 `codex` 跑大任务时常见的痛点：\n\n- 改 15 个文件 → 上下文溢出，最后几个文件和前面不一致\n- 100+ 个 lint 错误要修 → 串行慢，失败靠手工重跑\n- 复杂功能（中间件 + 路由 + 测试 + 文档）→ 一个 agent 同时做规划和执行，规划深度不够\n- Simple 批量模式下一个 worker 偷偷改了不该改的文件 → 校验阶段识别并自动 git revert\n\nMaster Orchestrator 把目标自动拆成 DAG，按阶段路由给最合适的模型（Claude 规划 \u002F Codex 写代码 \u002F Claude 审查），并发跑。Simple 模式额外内置越权改动检测和自动回滚；DAG 模式由评审引擎在收敛阶段输出回滚计划（人工或后续 simple run 执行）。\n\n## 方案\n\nMaster Orchestrator 把一个自然语言目标转换成**有向无环图（DAG）**任务，再按阶段选择最合适的 AI Agent 执行：\n\n```bash\nmo do \"给 Express 应用添加 JWT 鉴权，包括中间件、路由、测试和 API 文档\"\n```\n\n它会自动完成：\n\n1. **任务分解**：把目标拆成有依赖关系的子任务，规划阶段默认交给 Claude\n2. **阶段路由**：按任务类型选择 provider，例如 Claude 负责推理，Codex 负责执行\n3. **并行执行**：没有依赖冲突的任务并行跑，DAG 模式默认 `max_parallel=4`，Simple 批量模式默认 16 个 worker，均可在 `config.toml` 中放大\n4. **交叉审查**：用另一个 Agent 做结果验证和质量门禁\n5. **失败重试**：按错误类型分类，使用指数退避重试\n6. **结果收敛**：合并输出、跑测试、确认最终交付一致；Simple 模式下校验阶段会对越权改动自动 `git checkout` 回滚\n\n## 为什么需要 Master Orchestrator\n\n| 场景 | 单 Agent | Master Orchestrator |\n| --- | --- | --- |\n| 5 个文件的重构 | 容易上下文溢出，改动不一致 | DAG 分解，并行执行 |\n| 100+ 文件批量修复 | 串行、慢、失败后靠手工重跑 | Simple 模式：16 并发、自动重试 |\n| 复杂功能开发 | 人工协调多个会话 | 自动阶段路由，检测收敛状态 |\n| 混合型任务 | 同一个模型同时负责规划和写代码 | Claude 做规划，Codex 做执行 |\n\n## 快速开始\n\n### 安装\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Famber132\u002FMaster-Orchestrator.git\ncd Master-Orchestrator\npip install -e \".[dev]\"\n```\n\n需要 Python 3.11+，并且本机 PATH 中至少能使用 `claude` 或 `codex` 其中之一。\n\n### 第一个编排任务\n\n```bash\n# 让编排器自动选择 provider\nmo do \"给 src\u002Froutes\u002F 下所有 POST 接口补充输入校验\"\n\n# 强制使用指定 provider\nmo do --provider codex \"给 UserService 类生成单元测试\"\n\n# 按阶段混用 provider：Claude 规划，Codex 执行，Claude 审查\nmo do \\\n  --phase-provider decompose=claude \\\n  --phase-provider execute=codex \\\n  --phase-provider review=claude \\\n  \"重构支付模块，让它支持多币种\"\n```\n\n### 用 Simple 模式处理批量任务\n\n适合几百个独立工作项，例如 lint 修复、格式化、规则化小改动：\n\n```bash\n# 从任务清单扫描并执行\nmo simple run --manifest tasks.jsonl\n\n# 中断后继续\nmo simple resume\n\n# 只重试失败项\nmo simple retry\n```\n\nSimple 模式默认最多运行 **16 个并发 worker**，内置自动重试、语法验证和崩溃恢复。\n\n## 工作原理\n\n```\n                    ┌─────────────────────────────────────────────┐\n                    │            你的目标（自然语言）              │\n                    └────────────────────┬────────────────────────┘\n                                         │\n                    ┌────────────────────▼────────────────────────┐\n                    │            分解（Claude）                    │\n                    │       目标 → 有依赖关系的 DAG 子任务          │\n                    └────────────────────┬────────────────────────┘\n                                         │\n              ┌──────────────────────────┼──────────────────────────┐\n              │                          │                          │\n    ┌─────────▼─────────┐    ┌──────────▼──────────┐    ┌─────────▼─────────┐\n    │  任务 A (Claude)   │    │  任务 B (Codex)      │    │  任务 C (Codex)    │\n    │  \"写中间件\"        │    │  \"写路由\"            │    │  \"写测试\"          │\n    └─────────┬─────────┘    └──────────┬──────────┘    └─────────┬─────────┘\n              │                          │                          │\n              └──────────────────────────┼──────────────────────────┘\n                                         │\n                    ┌────────────────────▼────────────────────────┐\n                    │            审查（Claude）                    │\n                    │       跨 Agent 验证与质量门禁                 │\n                    └────────────────────┬────────────────────────┘\n                                         │\n                    ┌────────────────────▼────────────────────────┐\n                    │            收敛                              │\n                    │       合并结果、运行测试、验证输出            │\n                    └─────────────────────────────────────────────┘\n```\n\n### Provider 路由\n\n流水线的每个阶段都可以使用不同 AI Agent：\n\n| 阶段 | 默认 Provider | 原因 |\n| --- | --- | --- |\n| `decompose` | Claude | 更适合规划和依赖分析 |\n| `execute` | Codex | 更适合高吞吐代码生成 |\n| `review` | Claude | 更适合推理正确性和发现问题 |\n| `discover` | Claude | 更适合调研和探索 |\n| `simple` | Codex | 面向批量任务做了吞吐优化 |\n\n可以在不同层级覆盖默认路由：\n\n```bash\n# 全局指定\nmo do --provider claude \"...\"\n\n# 按阶段指定\nmo do --phase-provider execute=codex --phase-provider review=claude \"...\"\n\n# 配置文件 config.toml\n[routing.phase_defaults]\nexecute = \"codex\"\nreview = \"claude\"\n```\n\n### 错误恢复\n\n编排器会识别错误类型，并选择对应策略：\n\n- **限流**：指数退避并加入抖动\n- **上下文溢出**：自动压缩上下文后重试\n- **临时失败**：最多重试 10 次，默认 30 秒基础退避\n- **Provider 不可用**：在 auto 模式下切换到备用 provider\n- **任务失败**：向依赖任务传播状态，跳过不可达任务\n\n### 收敛检测\n\n系统会持续检查：\n\n- **停滞**：多轮没有进展时升级或切换策略\n- **劣化**：质量下降时回滚到上一个可用状态\n- **回归**：原本通过的测试失败时暂停并提示\n\n## 架构\n\n```\nmaster_orchestrator\u002F\n├── cli\u002F                  # 统一 CLI 入口（mo do \u002F runs \u002F improve \u002F dashboard）\n├── config.py             # TOML 配置加载\n├── model.py              # 核心数据模型\n├── scheduler.py          # 感知 DAG 依赖的任务调度\n├── convergence.py        # 质量收敛检测（含 ConvergenceDetector）\n├── convergence_deterioration.py  # 恶化趋势检测\n├── review_engine.py      # 审查引擎主入口\n├── review_engine_parser.py       # 审查 JSON 解析与评分校验\n│\n├── cli\u002F                  # do\u002Fsimple\u002Fimprove\u002Fdashboard 子命令\n├── orchestrator\u002F         # DAG 执行核心：主循环 \u002F 任务调度 \u002F 收尾\n├── autonomous\u002F           # 目标驱动的自治控制器\n├── simple\u002F               # 高吞吐批量执行模式\n│   └── _conflict_detection.py \u002F _metrics.py \u002F _slot_planning.py  # 拆出的纯函数\n├── self_improve\u002F         # 自我改进循环（discover \u002F phases \u002F rollback \u002F workspace）\n├── architecture\u002F         # 架构层会审（contract \u002F council \u002F execution \u002F trigger）\n├── observability\u002F        # 监控\u002F告警\u002F日志\u002F心跳\u002F网络健康\u002F诊断\n├── pool\u002F                 # provider 池\u002F路由\u002F故障切换\u002F双池\n├── runtime\u002F              # 进程\u002F资源\u002F优雅停机\u002F平台特定 worker\n├── errors\u002F               # 错误分类\u002F恢复策略\n├── claude_cli\u002F codex_cli\u002F  # provider 适配（subprocess + 输出解析）\n├── store\u002F                # SQLite 状态持久化（_dag_ops \u002F _simple_ops \u002F _aux_ops \u002F 迁移）\n├── task\u002F                 # 任务建模（intake \u002F classifier \u002F contract \u002F templates \u002F cache）\n├── context\u002F              # 上下文管理（compactor \u002F quarantine \u002F summarizer \u002F store）\n├── auto_model\u002F           # 自治模式数据模型\n├── discover\u002F external_source\u002F  # 自我改进的代码发现与外部信号\n├── web\u002F                  # dashboard 服务端\n└── ...（其余 ~65 个单职责顶层模块，完整清单见 docs\u002FMODULES.md）\n```\n\n完整模块清单（自动生成）：[docs\u002FMODULES.md](.\u002Fdocs\u002FMODULES.md)。\n\n子包之外，顶层另有用于错误分类、限流、监控、预算追踪、provider 路由等单一职责模块。完整模块清单见 [docs\u002FMODULES.md](.\u002Fdocs\u002FMODULES.md)（由 `python scripts\u002Fgen_architecture_docs.py` 自动生成）。\n\n## 配置\n\n```toml\n# config.toml\n[orchestrator]\nmax_parallel = 4          # DAG 模式默认；autonomous 模式可放大到 200\n\n[simple]\nmax_running_processes = 16                 # Simple 批量模式默认并发\nauto_recover_unauthorized_changes = true   # 越权改动自动 git revert\n\n[claude]\ndefault_model = \"sonnet\"\ndefault_timeout = 1800\nmax_budget_usd = 1000.0\n\n[codex]\ndefault_model = \"gpt-5.4\"\ndefault_timeout = 1800\nexecution_security_mode = \"restricted\"\n\n[routing]\ndefault_provider = \"auto\"\nauto_fallback = true\n\n[routing.phase_defaults]\ndecompose = \"claude\"\nexecute = \"codex\"\nreview = \"claude\"\n```\n\n完整示例见 [config.toml](.\u002Fconfig.toml)。\n\n## 文档\n\n| 文档 | 说明 |\n| --- | --- |\n| [USAGE.md](.\u002FUSAGE.md) | 使用指南和示例 |\n| [CLI 参考](.\u002Fdocs\u002FCLI_REFERENCE.md) | 全部命令和参数 |\n| [Provider 与路由](.\u002Fdocs\u002Fproviders-and-routing.md) | Provider 配置与路由机制 |\n| [Simple 模式](.\u002Fdocs\u002Fsimple-mode.md) | 高吞吐批量执行模式 |\n| [Simple 验证](.\u002Fdocs\u002Fsimple-validation.md) | Simple 模式验证管线配置 |\n\n## 使用场景\n\n**功能开发**\n\n```bash\nmo do \"用 WebSocket 添加实时通知，包括服务端、客户端、断线重连逻辑和测试\"\n```\n\n**代码迁移**\n\n```bash\nmo do --phase-provider execute=codex \"把 src\u002Fcomponents\u002F 下所有 class component 迁移为 hooks 写法\"\n```\n\n**批量修复**\n\n```bash\nmo simple run --manifest lint-fixes.jsonl\n```\n\n**自我改进**\n\n```bash\nmo improve -d .\u002Fmy-project --discover\n```\n\n## 参与贡献\n\n贡献指南见 [CONTRIBUTING.md](.\u002FCONTRIBUTING.md)。\n\n## 许可证\n\n[MIT](LICENSE)\n\n---\n\n\u003Cdiv align=\"center\">\n\n**如果 Master Orchestrator 帮你更快交付，欢迎点一个星标。**\n\n[![Star History Chart](https:\u002F\u002Fapi.star-history.com\u002Fsvg?repos=amber132\u002FMaster-Orchestrator&type=Date)](https:\u002F\u002Fstar-history.com\u002F#amber132\u002FMaster-Orchestrator&Date)\n\n\u003C\u002Fdiv>\n","Master Orchestrator 是一个用于自动化代码重构和任务管理的工具，能够将复杂的开发任务分解成有向无环图（DAG）并分配给不同的AI代理执行。其核心功能包括任务分解、阶段路由、并行执行、交叉审查以及失败重试机制。通过使用Claude进行规划与审查，Codex负责具体编码实现，它有效解决了单个AI代理处理大任务时遇到的上下文溢出、串行效率低等问题。此外，Simple模式下还提供了自动检测越权改动及回滚的功能。此项目特别适用于需要批量修改多个文件或开发涉及多步骤复杂功能的场景，如大规模代码库重构、大量lint错误修复等，能够显著提高开发效率与质量。",2,"2026-06-11 02:48:01","CREATED_QUERY"]