Loading...
Loading...
Compare original and translation side by side
Is the work parallelizable? → spawn panes
Does it need a different model? → spawn pane with that model
Does it have 3+ distinct milestones? → todo_manager
Will it block this pane for >5 min? → spawn pane, return to user immediately
Does the user say "in parallel"? → spawn panes, no further deliberation
None of the above? → just do the task. Don't perform orchestration.Is the work parallelizable? → spawn panes
Does it need a different model? → spawn pane with that model
Does it have 3+ distinct milestones? → todo_manager
Will it block this pane for >5 min? → spawn pane, return to user immediately
Does the user say "in parallel"? → spawn panes, no further deliberation
None of the above? → just do the task. Don't perform orchestration.| Tool | Purpose | When to call |
|---|---|---|
| Discover existing panes | Before spawning — reuse idle panes when possible |
| List configured LLMs | Before spawning with a non-default provider |
| Open new pane | Got a parallelizable subtask |
| Send prompt to pane | After spawn (or to existing pane) |
| Block until pane done | Before reading — never read a running pane |
| Get pane output | After wait_idle |
| Register skill/role on a pane | When spawning a pane for a specific role |
| Kill a pane process | Cleanup when a pane is stuck or no longer needed |
| Open a browser pane | When the task needs web interaction |
| Spawn terminal pane | For shell commands or long-running processes |
| Visible task list | Projects with 3+ milestones |
references/tools.md| 工具 | 用途 | 调用时机 |
|---|---|---|
| 发现现有面板 | 生成面板前——尽可能复用空闲面板 |
| 列出已配置的LLM | 使用非默认提供商生成面板前 |
| 打开新面板 | 存在可并行化的子任务时 |
| 向面板发送提示词 | 生成面板后(或向现有面板发送) |
| 阻塞直到面板完成任务 | 读取面板前——绝不要读取正在运行的面板 |
| 获取面板输出 | 调用wait_idle后 |
| 在面板上注册技能/角色 | 为特定角色生成面板时 |
| 终止面板进程 | 面板卡住或不再需要时进行清理 |
| 打开浏览器面板 | 任务需要网页交互时 |
| 生成终端面板 | 用于执行Shell命令或长时间运行的进程 |
| 可视化任务列表 | 包含3个及以上里程碑的项目 |
references/tools.mdT06AfShPpane_write(paneId: <worker-id>, text: "<self-contained task>")
pane_wait_idle(paneId: <worker-id>, timeoutMs: 300000) # 5 min for non-trivial
pane_read(paneId: <worker-id>, lastN: 200)T06AfShPpane_write(paneId: <worker-id>, text: "<self-contained task>")
pane_wait_idle(paneId: <worker-id>, timeoutMs: 300000) # 5 min for non-trivial
pane_read(paneId: <worker-id>, lastN: 200)undefinedundefined
If you spawn-write-wait-read sequentially per pane, you've lost the parallelism. The whole point is concurrent execution.
如果按顺序逐个面板执行生成-写入-等待-读取操作,就失去了并行性。并行的核心是并发执行。pane_list_providers()opus = pane_spawn(model: "claude-opus-4-7") # architecture / hard reasoning
gemini = pane_spawn(providerId: "gemini-cli", model: "...") # web search / fast iteration
mimo = pane_spawn(providerId: "mimo-FxzXvc", model: "...") # cheap bulk workreferences/providers.mdpane_list_providers()opus = pane_spawn(model: "claude-opus-4-7") # architecture / hard reasoning
gemini = pane_spawn(providerId: "gemini-cli", model: "...") # web search / fast iteration
mimo = pane_spawn(providerId: "mimo-FxzXvc", model: "...") # cheap bulk workreferences/providers.mdtodo_manager(action: "set_tasks", tasks: [...]) # max 7 — first becomes in_progress
todo_manager(action: "move_to_task", moveToTask: "Add database") # call as soon as a task completes
todo_manager(action: "mark_all_done") # at the endmove_to_tasktodo_manager(action: "set_tasks", tasks: [...]) # max 7 — first becomes in_progress
todo_manager(action: "move_to_task", moveToTask: "Add database") # call as soon as a task completes
todo_manager(action: "mark_all_done") # at the endmove_to_taskpane_readpane_wait_idlepane_writepane_list()move_to_taskpane_set_identitypane_readpane_wait_idlepane_writepane_list()move_to_taskpane_set_identity