用途
setup-pstack 用于在当前项目的根目录 AGENTS.md 中写入 pstack 的模型配置,按角色指定模型和推理努力等级(effort)。同时确保同目录下的 CLAUDE.md 是指向 AGENTS.md 的相对符号链接,使不同工具读取同一份项目指令。
主要能力
- 检测当前会话可用的模型与推理努力等级,若无法确定则询问用户;未确认可用的模型不会被保存。inherit-parent 和 auto 两个别名始终有效。
- 按上游默认角色配置(feature、refactoring、bug-fix、perf-issue、hillclimb、judgment and prose、hardest tasks、how explorer、how explainer、why investigators、why synthesizer、reflect tooling、reflect judgment/divergent/synthesizer、arena runners、arena cross-judge pool、swarm workers、architect runners、interrogate reviewers)解析模型与努力等级。
- 读取已有 pstack 配置段作为当前选择;若不存在则从上游默认值开始。未列出的角色行(如已退役角色)会被丢弃。
- 提供四档预算:unlimited(保持 max)、large(xhigh reasoning)、medium(high reasoning)、small(medium reasoning)。按预算统一调整所有真实模型条目的努力等级,模型与努力分开存储;若模型不支持目标等级,则选择阶梯 max > xhigh > high > medium > low 中不高于目标的最高支持等级,否则标记该角色为需要选择。inherit-parent 和 auto 不受影响。
- 展示所有角色的模型与努力,标记不可用选项,并列出被丢弃的行,询问用户接受或修改特定角色。面板类角色(arena runners、architect runners、interrogate reviewers)的值为列表,每个条目运行一个子代理,列表长度决定数量;arena cross-judge pool 也是列表,Arena 会尽量选择与父级模型家族不同的条目;swarm workers 是每个工作者的默认模型与努力,除非某次竞赛或比较为各分支另行指定。
- 校验写入的每个具体模型与努力在当前会话可用,不可用则停止并再次询问。
- 定位项目根(Git 根或当前工作目录),读取或创建 AGENTS.md,仅替换 <!-- pstack-models:start --> 与 <!-- pstack-models:end --> 之间的内容,保留其他指令;整个区块替换以保证重复运行幂等。区块包含 # budget 行和每个角色一行。
- 确保 CLAUDE.md 为指向 AGENTS.md 的相对符号链接;若已是该链接则保留;若为其他文件或链接,先保留其中尚未存在于 AGENTS.md 的指令再替换,并省略 @AGENTS.md 导入以避免自导入;冲突指令需先与用户解决。不通过符号链接写入。
- 完成后告知用户项目指令与符号链接已写入,并对新会话生效;重复运行会更新 pstack 区块。
- 可选:检查项目是否已有驱动真实应用的验证方式(如 verify-* 技能或现有测试框架),若没有则询问是否生成项目本地验证技能;同意则读取并遵循 create-verification-skill。
使用方式
在项目会话中调用 setup-pstack 技能,按步骤检测模型、加载当前状态、选择预算、确认角色配置、校验并写入 AGENTS.md 的 pstack 配置区块,同时维护 CLAUDE.md 符号链接。
适用场景
需要为 pstack 多智能体工作流统一配置各角色模型与推理强度、设置预算档位、并让多个工具共享项目指令的项目初始化或调整场景。
限制
模型可用性依赖当前会话环境;无法确定时必须询问用户,不得保存未确认的模型。预算仅调整推理努力,不改变模型家族(除非用户另行修改)。配置写入范围限于 AGENTS.md 中的指定标记区块。