Install
openclaw skills install orchestrator-v4智能任务编排系统。自动扫描项目规模、规划子任务、动态派发多个 AI Worker 并行执行,支持大项目按模块拆分、自适应超时、滚动派发、用户随时打断改思路。 触发条件:用户需要处理复杂任务、多步骤分析、代码生成、调试分析、研究调查或需要智能调度 AI Worker 时。
openclaw skills install orchestrator-v4智能任务编排系统,为主会话提供自动规划和批量派发能力。
cd <skill_dir>/scripts
python scan_and_plan.py \
--task "用户的任务描述" \
--target-dir "/path/to/project" \
--output plan.json \
--max-parallel 5
输出摘要后告知用户规划结果。
用 read 工具读取 plan.json,提取 subtasks 列表。每个 subtask 包含:
description:子任务 prompt(已含文件读取约束)estimated_time_sec:超时时间module_key:模块名module_file_count:模块文件数file_read_cap:文件读取上限按 max_parallel(默认 5)取前 N 个 subtasks,逐个调用 sessions_spawn:
sessions_spawn(
agentId: "main",
label: "orch-{module_key}",
mode: "run",
task: subtask.description,
timeoutSeconds: subtask.estimated_time_sec,
runTimeoutSeconds: subtask.estimated_time_sec,
)
派发时必须输出任务表格:
第 N 批 M 个子代理已派发:
| # | 模块 | 文件数 | 超时 | Label |
|---|------|--------|------|-------|
| 1 | tools | 184 | 600s | orch-tools |
| 2 | services | 136 | 600s | orch-services |
| 3 | hooks | 104 | 600s | orch-hooks |
调用 sessions_yield 等待子代理完成推送。不主动轮询。
用户可随时发消息打断:
每个子代理完成时:
所有子代理完成后,汇总全部结果写入报告文件。
| 配置 | 默认 | 说明 |
|---|---|---|
max_files_per_subtask | 2 | 每子任务最多读文件数(代码生成类) |
analysis_max_files_per_subtask | 8 | 分析类每子任务最多读文件数 |
large_project_file_threshold | 1000 | 大项目文件数阈值 |
large_project_line_threshold | 100000 | 大项目行数阈值 |
analysis_small_module_timeout | 300 | 小模块超时(秒) |
analysis_medium_module_timeout | 480 | 中模块超时(秒) |
analysis_large_module_timeout | 600 | 大模块超时(秒) |
max_parallel_subagents | 3 | 同时运行的子代理数 |
| 能力 | OpenClaw 原生 | Orchestrator |
|---|---|---|
| 派发方式 | 手动调用 sessions_spawn,逐个派发 | 自动扫描 → 规划 → 批量派发 |
| 任务拆分 | 手动编写 prompt 拆分 | 自动按模块/功能域拆分 |
| 超时控制 | 固定超时(手动传参) | 自适应超时(小模块 5min、大模块 10min) |
| 文件读取约束 | 无约束 | 自动注入"最多读 N 个文件"限制 |
| 并发控制 | 无限制 | max_parallel 限流,超出排队 |
| 失败重试 | 无 | 缩小范围重跑 |
| 进度追踪 | 手动记录 session_key | 实时进度表格 |
| 滚动派发 | 无 | 前一批完成后自动派发下一批 |
| 用户打断 | 需手动管理 | 随时打断,暂停/改思路/恢复 |
第 N 批 M 个子代理已派发:
| # | 模块 | 文件数 | 超时 | Label |
|---|------|--------|------|-------|
| 1 | xxx | 184 | 600s | orch-xxx |
...
{模块名} 完成(N/总数)。
**{模块名} 模块关键发现:**
- [重要] 发现 1
- [重要] 发现 2
- [重要] 发现 3
进度:N/总数 完成。
全部 N 个模块分析完成。M 个子代理,零超时。
报告已写入 reports/xxx.md
| 文件 | 说明 | 状态 |
|---|---|---|
scripts/scan_and_plan.py | 扫描规划 CLI(Step 1 入口,支持 analyze/fix 模式) | 已验证 |
scripts/orchestrator_v4_acp.py | 核心引擎(扫描+规划+上下文管理+并发控制) | 已验证 |
当分析完成后需要批量修复问题时,使用修复模式:
将审计发现的问题整理为 issues.json:
[
{
"id": "fix-1",
"title": "密码改用 bcrypt",
"priority": "P0",
"files": ["lib/auth.ts", "app/api/auth/login/route.ts"],
"description": "将明文密码验证改为 bcrypt.compare()...",
"depends_on": []
},
{
"id": "fix-2",
"title": "middleware 添加 role 校验",
"priority": "P0",
"files": ["middleware.ts"],
"description": "JWT 验证后检查 payload.role === 'admin'...",
"depends_on": ["fix-1"]
}
]
cd <skill_dir>/scripts
python scan_and_plan.py \
--mode fix \
--issues issues.json \
--target-dir "/path/to/project" \
--output fix-plan.json
脚本会自动:
也可以跳过 issues.json,直接根据审计报告手动规划修复子任务(适合问题清单已经很清晰的情况)。
以下功能在 orchestrator_v4_acp.py 中完整实现,当前在标准流程中由主会话的 sessions_spawn 替代。将来 OpenClaw 支持 Python SDK 后可直接启用:
enable_audit=True 时代码任务自动过审计官,REJECT 自动重做_spawn_semaphore 控制最大并行 subagent 数