SuperAPI AI 工具集

dispatch-opencode

智能体与模型

查看项目

更新于 10-15 20:29

技能介绍

用途:该技能把子代理任务派发路由到 opencode(https://opencode.ai),使用基于文件的异步信号机制,而非 ACP 或 HTTP serve 模式(按 ADR-001 已弃用)。它不实现 ACP/HTTP,而是以 CLI opencode run 作为调用传输,并包在 .subagents/ 锁-监视协议中。

主要模式:

  1. 两次调用模式(主代理在运行且可轮询):调用 run-plan.sh --plan plan.yaml 立即返回 JSON(含 lockfile 路径与 PID),子代理后台启动;之后再调用 poll-subagent.sh --task-id <id> --root <path> 检查状态。适合长任务、并行 N 个独立任务、按任务选模型、需从其他终端接入、需磁盘工件审计的场景。
  2. 后台派发(监视守护进程):适用于代理无法轮询的 fire-and-forget 场景。需 watcher.sh 运行,计划写为 mode: background 并放入 .subagents/watch/<plan-name>.yaml,结果稍后在 .subagents/watch/results/<task-id>.md 查看。

不适用:数秒内完成的琐碎任务(用 opencode run 直接跑);宿主运行时禁止后台子进程时。

四条设计约束:每次派发需显式绝对路径,验证失败即关闭;每次交接都落盘为工件(prompt、start 脚本、事件日志、锁文件);每种派发类型一个模板;智能编排者+傻瓜子代理,子代理单一职责、互不协调。

脚本:run-plan.sh(验证计划、准备工作树、派发)、poll-subagent.sh(轮询至完成/卡住/超时)、subagent-cleanup.sh、subagent-abandon.sh、cleanup-stale.sh、poll-all.sh、watcher.sh;内部脚本 dispatch.sh、verify-cwd.sh、validate-run.sh、watcher-process.sh。

watcher.sh start --root <project-root> [--watch-dir <path>] [--interval <sec>] / stop / status。--root 必填,缺失即报错。

计划字段:id(必填)、kind(必填)、model(必填)、prompt(必填)、target(single-file-fix 必填)、worktree(可选)、agent(可选)、mode(foreground/background)、ttl_sec(后台默认 1800);顶层 dangerously_write_trunk(默认 false)。无 depends 字段。

派发类型:single-file-fix(需 target)、multi-file-fix(整目录/CWD)、headless-spike(只读调查,默认 --agent explore)。

权限模型:不使用 ACP 权限中继,靠提示词设计、opencode.json 配置门控、脚本 validate-run.sh 事后校验。

限制与不做的事:不在编辑器内作为 ACP 代理运行;不通过 MCP 暴露 opencode(opencode 仅为 MCP 客户端);不管理 opencode 认证;不负责子代理间的协调;不合并工作树结果。以上均为资料明确说明。