前言¶
在 DeepSeek Harness(DSH)里做复杂任务时,往往需要拆子 agent、并行推进,还要为不同角色选合适的模型与推理强度。Cursor 生态里的 pstack 用一套固定的 skill playbook 把这类流程写清楚,但原版在每个角色上写死了模型 slug,和 DSH「模型由用户在设置里勾选、由 profile 决定」的方式对不上。
ds-pstack 由维护者 monkeyin92 发布,分类为工作流,是把 pstack 移植到 DSH 的 bundle:保留同样的 58 个 skill 名称与玩法,并增加确定性路由器,从你在 Settings → Subagent model selection 里勾选的模型池中为每个子 agent 选路由,分类阶段不额外调用模型。
这是什么¶
ds-pstack 一句话定位:Lauren Tan 的 pstack agent workflows 的 DSH 移植版——同样的 playbook、原则与 prose 规则,子 agent 的 provider / model / reasoning_effort 由路由器根据子任务意图从你授权的勾选池里挑选,skill 本身不硬编码模型。
仓库:https://github.com/monkeyin92/ds-pstack
社区目录页:https://www.skillhub.cn/plugins/monkeyin92/ds-pstack
当前 package.json 版本为 0.1.0,许可证 MIT(另含 LICENSE.pstack)。
安装后 profile 里会出现两个可单独禁用的插件行:
| 插件行 | 禁用后的效果 |
|---|---|
ds-pstack-skills |
pstack 的 skill 从目录消失,路由仍可工作 |
ds-pstack-router |
每个子 agent 沿用继承的路由,skill 仍可用 |
和原版 pstack 的差异¶
| pstack(Cursor) | ds-pstack(DSH) | |
|---|---|---|
| Skills | 58 个,如 /poteto-mode |
同样的 58 个,名字不变 |
| 子 agent 模型 | 每个角色写死一个 model slug | 按任务意图从勾选模型池自动路由 |
| 分类开销 | — | 确定性规则分类,不调用模型 |
| 池边界 | — | 路由器只从勾选池里选 |
核心功能¶
58 个 skill 与常用入口¶
skill 以 / 菜单下的 pstack 原名出现。README 中提到的常用项包括:
/poteto-mode:按 playbook 跑完整工作流(写更少、质量更高、可并行)/interrogate:对抗式 review/how:讲清一个子系统/poteto-help:不确定用哪个 skill 时可问- 另有 24 个
principle-*skill,承载 pstack 的推理原则
模型池与授权边界¶
路由器只使用 Settings → Subagent model selection 中勾选的路由(对应设置项 subagent-model-selection-settings.allowedModels)。未勾选任何模型时,子 agent 保持继承的路由;父级已在 delegation 里指定 provider、model 或 reasoning_effort 时,路由器不会覆盖。可选配置 ~/.dsh/ds-pstack-roles.json 中的 pin 会覆盖分类结果。
子 agent 路由流程¶
每个被 delegate 的子 agent 在首次请求前,路由器会:
- 读取父 agent 写的 delegation prompt;
- 用确定性规则将工作归入八种意图之一:
planning、coding、debugging、review、research、analysis、writing、mechanical,并估计难度; - 结合你在
/setup-pstack选的 budget、意图与难度,选出 reasoning effort; - 在勾选模型中按意图排序,取最优路由;
- 将 effort 对齐到该路由实际支持的档位。
同一子 agent 基于其 prompt 的决策会缓存;决策与跳过原因会写入 ~/.dsh/ds-pstack-router.jsonl。分类靠短语 hint 打分,不发起模型请求;hint 全零且未标 hard/easy 时,回退意图为 coding。
Budget¶
/setup-pstack 写入四档 budget(与 pstack 一致):
| Budget | Base effort | 说明 |
|---|---|---|
unlimited |
max |
在路由允许范围内尽量拉高思考强度 |
large |
xhigh |
路由器默认 |
medium |
high |
更省,仍较 thorough |
small |
medium |
最省;机械类工作可落到 low |
安装与启用¶
官方安装命令(来自 README):
plugin_manager install_bundle github:monkeyin92/ds-pstack#main
安装完成后建议按顺序做:
- 打开 Settings → Subagent model selection,启用并勾选希望交给子 agent 使用的模型路由。
- 运行
/setup-pstack,选择 budget。 - 按需调用 skill,例如
/poteto-mode处理 PR 类任务。
若需固定版本而非跟踪 main,可安装 tag(README 示例):
plugin_manager install_bundle github:monkeyin92/ds-pstack#v0.1.0
更新已安装的 git 依赖:
dsh plugin --profile <profile> update @local/ds-pstack
若更新涉及 lib/ 下路由器 JavaScript,README 建议在 Plugin Manager 里将 ds-pstack-router 关再开以重新挂载模块,或重启应用。
典型用法¶
下面示例来自 README,用于说明 /poteto-mode 的调用方式(先复现再修):
/poteto-mode this pr has a subtle bug where the scroll drifts every 750ms even when idle. repro first, then fix and verify.
其他 handy skill:/interrogate 做对抗式 review,/how 解释子系统,/poteto-help 选型。
适用场景与注意¶
适合谁: 已在 DSH 里用子 agent 做 PR 修复、review、子系统梳理等工程任务,并希望沿用 pstack 的严谨 playbook,同时把模型选择约束在自己勾选的池内、用规则路由而不是每个 skill 写死 slug 的开发者。
权限与安全: 插件以当前 DSH 进程权限运行;bundle 会从 GitHub 拉取并可能执行路由逻辑。安装前请自行审阅 仓库源码 与 MIT / pstack 相关许可证,确认符合你的环境策略。
生态说明: DSH 采用「一切皆插件」的扩展方式;SkillHub 等社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系。
结尾¶
ds-pstack 把 pstack 的 58 个工程向 skill 原样带进 DSH,并用确定性路由器在你勾选的子 agent 模型池里按任务意图分配路由,分类不额外消耗模型调用。若你正在 DSH 里搭建多子 agent 工作流,可从目录页或 GitHub 查看说明并安装 bundle。