SuperAPI AI 工具集

dispatch

智能体与模型

查看项目

更新于 10-16 09:29

技能介绍

用途:在派发子智能体前,先按任务类型与影响范围分档,再选择对应模型或智能体。父会话仍负责编排,本技能只改变每次子启动所使用模型/智能体的选择,不改变编排结构、安全约束或每个工作树单一写入者的规则。

分档标准:T1 为只读任务,如查找、grep、单文件读取、并行调研收集、已知来源的摘要;T2 为聚焦的单文件或小范围修改、简单缺陷修复、写测试、常规评审;T3 为多文件重构、架构/设计、安全、迁移、性能、安全关键路径,以及需求不明确的任务。两档之间难以判断时向上取档;若父会话之后会汇总或应用子任务输出,负责收集/分析的子任务可降一档。

会话状态:模式(off/on/manual)、按档会话覆盖(tier 到模型)与一次性档位。每会话默认 OFF,仅当用户本次或此前启用后生效;未设置模式时为 OFF,直到执行 dispatch on。状态需在整段会话中保持,不因多轮对话而回退。

命令:/skill:dispatch on 开启自动路由并在缺失时引导创建各档智能体;off 或 stop dispatching 关闭;manual 仍路由,但每次启动前先提出档位与模型并等待确认;status 显示模式、各档有效配置(模型、thinking、取值来源:会话覆盖/项目/全局/默认)及待用一次性档;settings [global|project] 进入交互配置;set T1|T2|T3 <model-id> 设置会话级模型覆盖;unset 清除;reset 删除项目设置文件(会先确认,绝不动全局,除非显式 reset global);T1|T2|T3 <task...> 为下一次派发设置一次性档并在使用后清除;无参数等同 status。

设置文件与解析:全局为 ~/.pi/agent/dispatch/settings.json,项目为 <repo-root>/.pi/dispatch/settings.json(repo root 取当前目录的 git 顶层)。每档字段的解析顺序为会话覆盖 > 项目文件 > 全局文件 > 内置默认。内置默认中,T1 模型为 opencode-go/deepseek-v4-flash、thinking 为 high、工具为 read, grep, find, ls;T2 模型为 inherit(使用父会话当前模型)、thinking 为 high;T3 模型为 openai-codex/gpt-5.6-sol、thinking 为 high。设置文件可手工编辑。

设置流程:读取两个设置文件显示当前有效值;读取 ~/.pi/agent/models-store.json 构建模型列表(provider/model-id 与显示名),文件缺失或无法解析时跳过选择器改为自由输入模型 id;打开一个 ask_user 表单,为 T1/T2/T3 各出一个选择题(T2 还有 inherit 选项),并询问作用范围 global 或 project;将答案合并进所选文件,只更新用户改动的档并保留其他字段,按需创建父目录,不写入凭证或 schema 之外内容;最后一行确认并显示新的有效配置表。

派发方式:模式为 on 或 manual 时,先按解析顺序取得各档配置;优先使用分类对应档的专用智能体,若启动到其他已有智能体,则改用按次启动的 model: 及可选 thinking: 覆盖。manual 模式下先说明拟用档位与模型并等待确认。每次启动用一行说明选择,例如 T1 -> dispatch-scout (opencode-go/deepseek-v4-flash): find auth middleware files。一次性档对下一次启动优先于分档标准,使用后清除。技能文本与 workflowScript 约定来自 pi-subagents 技能。

引导创建:首次 on 时执行 subagent({ action: "list" }),若 dispatch-scout、dispatch-worker、dispatch-architect 已存在则跳过;否则用 subagent({ action: "create", config: {...} }) 按解析出的档位配置创建。dispatch-scout 对应 T1,使用档位配置中的工具(默认只读),系统提示为快速、精确的只读调查者,只报告不修改;dispatch-worker 对应 T2,使用标准实现工具,提示为聚焦实现者,产出最小正确 diff 并遵循仓库约定;dispatch-architect 对应 T3,thinking 为 high、全量工具,提示为面向复杂、模糊或安全关键工作的高级问题解决者,编辑前先充分分析。若之后通过 settings/set 改变档位模型,已有智能体文件仍保留旧模型,但按次启动的 model: 覆盖会应用新值,因此无需重新引导。

限制:资料未提供收费、价格、平台支持范围或具体效果数据;模型可用性取决于 models-store.json 与所用运行环境,暂未提供更多约束说明。