mcpField
O
orchestrate

orchestrate

github.com/cursorAgent 工作流14.5k1.2k 次安装今天更新
代码仓库

关于 orchestrate

orchestrate 是一项 Cursor 技能,可将大型任务拆分给并行运行的 Cursor 云端 Agent。规划者通过结构化交接分派任务,并据此决定后续工作。

主要功能

  1. 01并行运行 Cursor 云端 Agent
  2. 02规划者与工作者角色
  3. 03结构化交接
  4. 04执行 JSON 计划
  5. 05可选 Slack 状态更新

适用场景

  1. 01将大型编码任务拆成独立工作
  2. 02通过子规划者协调嵌套子任务
  3. 03配置 Slack 后跟踪任务进度

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/cursor/plugins --skill orchestrate

安装后在 Claude Code 中输入/orchestrate确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

prompts/
andon-block.md
empty-error-handoff.md
failure-handoff.md
finished-no-handoff.md
loop-hygiene.md
root.md
slack-block.md
subplanner.md
verifier.md
worker.md
references/
dispatcher.md
handoffs.md
planner.md
spawning.md
schemas/
plan.schema.json
state.schema.json
scripts/__tests__/
agent-manager-slack-mirror.test.ts
andon-root-cache.test.ts
checkpoint-restart.test.ts
comment-cli.test.ts
comment-retry-queue.test.ts
exit-on-error.test.ts
failure-handoff.test.ts
handoff-branch-parser.test.ts
handoff-verification-parser.test.ts
handoff-verification-record.test.ts
kickoff-dedupe.test.ts
measurements-compare.test.ts
measurements-mismatch.test.ts
measurements-parser.test.ts

详细介绍

编排

显式调用 /orchestrate <goal>,即可将大型任务分派给多个并行运行的 Cursor 云端 Agent。工作者之间不会互相交流,而是通过结构化交接向上汇报。启动、等待和交接循环位于 scripts/cli.ts。规划器编写 plan.json,脚本执行计划,规划器再读取交接内容,以决定下一步操作。长时间运行的 Agent 循环容易偏离方向;使用 JSON 状态文件的脚本则能保持稳定。

必读内容:cursor-sdk 技能(cursor/plugins/cursor-sdk)。 启动、身份验证和错误分类都记录在其中。不要重复实现该技能已有文档说明的内容。

设置

  • CURSOR_API_KEY 必须是个人/用户密钥。从 Cursor Dashboard > Integrations 创建,然后在使用前阅读 cursor-sdk 身份验证说明。
  • SLACK_BOT_TOKEN 为可选项。设置后,可在 kickoff 或首次 run --root 时传入 --slack-channel <id>,也可设置 SLACK_CHANNEL_ID。脚本会将频道存入 plan.slackChannel,在该频道发布启动帖、同步任务状态,并读取 Andon 反应。未设置此令牌时,脚本只记录一次日志,然后在 Slack 不可见的情况下运行;正确性不受影响。

核心原则

这些规则可使任务树无需全局协调便能自行收敛。

  1. 规划器负责范围划分和发布任务,不编写代码。 编写 plan.json、读取交接内容以及决定下一步操作都属于规划器的工作。编辑文件、运行 git merge 和直接解决冲突则不属于。如果规划器想要编写代码,就应改为向工作者发布任务。
  2. 规划器不知道由谁来接手任务。 脚本会将每项任务分派给一个云端 Agent。规划器只需从任务层面进行思考。
  3. 工作者相互隔离。 一个任务、一个仓库克隆,且无法与其他 Agent 通信。完成后提交一次交接。
  4. 子规划器是递归规划器。 规划器发布“为这个部分制定子计划”的任务;子规划器完全负责该部分,并提交汇总后的交接。
  5. 通过交接持续推进。 规划器即使以为工作已完成,也可能收到延迟的交接并重新规划。只有规划器决定停止发布任务后,才算进入“已完成”状态。
  6. 通过传递,而非同步来协调。 同级节点之间不互相交流。不同层级之间不共享状态。每一层只能看到其子节点的交接。

节点类型

节点是否运行循环?范围输出
规划器是整个用户目标面向用户的消息 + 可选的 PR
子规划器 (↻)是父级范围中的一个部分交接给父级
工作者否一项具体任务交接给启动它的规划器
验证器否一个目标的验收标准判定结果交接给启动它的规划器
Git不适用共享介质分支(代码)+ handoffs/(含义)

角色

有两种角色,共用一种技能。请阅读与你的角色对应的参考文件,跳过另一个。

分派器。 你处于本地 IDE 会话中,用户输入了 /orchestrate <goal>。你的任务是启动一个云端根规划器,并返回其 URL。参阅 references/dispatcher.md。这是一次性操作;你不是规划器。

规划器(根级或子级)。 你收到的结构化提示词以“You are the root planner for:”或“You are a subplanner for:”开头,或者用户选择在本地运行规划循环。你负责自己的范围、发布任务、读取交接内容并决定下一步操作。参阅 references/planner.md。

disable-model-invocation: true 表示此技能仅在显式调用时加载。

评论

支持 Markdown