SuperAPI AI 工具集

wave-executor

智能体与模型

查看项目

更新于 10-16 07:25

技能介绍

Wave Executor 用于 EPIC 级批量管线编排:为每个 wave 通过 Claude Agent SDK 启动一个全新的 Claude Code 进程,每个 wave 使用干净的 Bun 运行时,不累积 spawn() 或 abort_signal 状态,以规避单个 Bun 进程处理大量并发子代理时出现的 JSC 垃圾回收 use-after-free 崩溃(oven-sh/bun、anthropics/claude-code#21875、#27003)。这是 Ralph Wiggum 模式(用全新进程迭代、基于文件协调)的实现。

适用场景:EPIC 级批量工作(超过 10 个工件、超过 5 个 wave);多 wave 技能更新、bundle 生成或大规模重构;预计运行超 30 分钟且含并行子代理的管线;此前因 Bun 段错误崩溃的工作。不适用于简单 1-3 个技能更新(直接用 skill-updater)、单技能工作(用 Task() 子代理)或可在一个上下文窗口内完成的工作。

用法:代理通过 Bash 调用 node .claude/tools/cli/wave-executor.mjs --plan <path> --json;用户可用 /wave-executor --plan .claude/context/plans/my-plan.json。CLI 参数:--plan(必填,wave 计划 JSON 路径)、--model(默认 claude-sonnet-4-6)、--max-turns(默认 50)、--start-from(默认 1)、--dry-run、--json。它运行在系统 Node.js 上,而非 Bun;按波读取 plan.json、读取 inventory.json 恢复状态,为每个待处理 wave 发起 SDK query() 启动新 Bun 进程、执行任务、流式输出、进程退出释放内存、更新 inventory,再进入下一波,最后返回 JSON 摘要。关键不变量是任何单个 Bun 进程累积的 spawn 不超过约 100 次。

计划文件中每个 wave 必须有 id(数字)和 skills(非空数组),可选 domain、promptTemplate。inventory 文件默认位于 .claude/context/runtime/wave-inventory.json,用于从中断恢复(--start-from N)、进度监控和成本跟踪。

铁律:每个 wave 必须在新 Bun 进程中启动;并发 wave 不得超过 MAX_PARALLEL_WAVES;必须等待当前 wave 完成确认后再启动下一个;当前 wave 有失败或未完成代理时不得继续;必须记录 wave 元数据。内存协议要求开始前读取 learnings.md 与 inventory 状态,完成后追加执行摘要并记录错误与架构决策。资料未提供具体性能数据、价格或更多平台支持信息。