前言¶
在 DSH 里做智能体工作流时,常见做法是手写 Skill 或在仓库里零散堆放提示词;换工具就要从零对齐同一套「怎么写代码、怎么审设计、怎么验证」的约定。Cursor 官方插件集 cursor/plugins 中的 pstack(作者 Lauren Tan,MIT)已经把大量可复用的 agent 技能整理成带斜杠触发的 playbook 与原则库。若你已经在 DSH(@deepseek-ai/dsh)上跑 harness,又不想丢掉这套能力,需要的是把上游目录原样挂进 DSH 的 ctx.skills,而不是再维护一份改写版。
pstack-dsh(npm 包名 dsh-pstack)正是为此做的非官方移植 bundle:维护者 NagasakaH,分类属工作流;上游文件无改动同梱,来历见仓库内 UPSTREAM.md。本文只依据其 GitHub README 与 package.json 可核对事实;该插件与 Cursor(Anysphere)、DeepSeek Harness 均无官方从属关系。
这是什么¶
pstack-dsh 把 pstack 的 57 个技能注册进 DSH 的 ctx.skills,包含 poteto-mode、tdd、how、why、unslop、interrogate、swarm、arena 以及 24 个 principle-* 等。实现上不增加运行时依赖(仅 Node 内置模块、无需构建)。package.json 声明版本 0.15.36,许可证 MIT,DSH 引擎要求 >=0.2.1-rc.5 <1。
bundle 通过 package.json 的 dsh.bundle.patch 指向 cordis.patch.yml,在启动时插入 Loader 行(id: pstack-skills)。上游专用于 Cursor 的 setup-pstack 仍留在 skills/ 目录,但不会在 DSH 里注册为技能(避免向 ~/.cursor/rules 等路径误写)。
核心能力怎么体现¶
下面分三点说明装好以后你会得到什么行为。
技能规模与触发方式¶
全部 57 本技能与上游一致,标记为 disable-model-invocation: true:模型不会自动挑选技能,需要你在输入栏用斜杠显式启动,例如 /poteto-mode、/tdd、/how、/unslop。启动后,技能正文作为指令注入本轮对话。
资源引用在 DSH 中的解析¶
技能正文里的相对路径(如 ../<name>/SKILL.md、playbooks/…、references/…)经 DSH 的 resourceBase(技能目录的绝对路径)解析;模型可用 read 工具继续读取链接到的技能或 playbook。这对应了 Cursor 侧通过 ~/.cursor/plugins 文件系统遍历同一套内容的用法。
技能分组(节选)¶
资料中的完整说明见各技能目录下的 SKILL.md(英文 frontmatter);README 将用途归纳为下列几类,便于选型:
| 类别 | 代表技能 | 用途简述 |
|---|---|---|
| 枢纽与模式 | poteto-mode、poteto-help、automate-me、figure-it-out |
统一 agent 流仪、选型帮助、自定义 -mode、无现成 playbook 时的可审计方案 |
| 作业推进 | architect、arena、swarm、interrogate、tdd、correct 等 |
先设计再写码、多方案并行、敌审、测试驱动、纠偏重复性错误 |
| 调查与说明 | how、why、teach、recall、ketchup 等 |
运行机制、决策依据、补课式说明、会话状态与变更摘要 |
| 验证 | blast-radius、statechart、create-verification-skill 等 |
爆炸半径、形式/行为验证技能的生成与维护 |
| 原则 | principle-*(24 本) |
可被 playbook 引用,也可单独 /principle-… 启动 |
安装与启用¶
安装步骤以仓库 README 为准:先把插件检出到本机任意路径,再用 DSH 的 plugin add 以 link 或 file 方式纳入 profile。
开发时推荐 symlink(link:),改 skills/ 下正文通常无需重启进程即可在 Web profile 的下一次回合出现在技能目录里;若未生效,再重启对应 DSH 进程即可。其他 profile(如 tui)将 --profile web 换成目标名即可。
git clone https://github.com/NagasakaH/pstack-dsh.git # 任意の場所へ
# 开发スタイル(推奨): クローンしたチェックアウトへ symlink。スキル本文の編集が再起動なしで反映される
dsh plugin --profile web add link:/path/to/pstack-dsh
# スナップショットコピーで入れる場合
dsh plugin --profile web add file:/path/to/pstack-dsh
说明:dsh bundle 会读取 package.json 中的 dsh.bundle.patch 并应用补丁。资料未提供 dsh plugin add github:… 一类简写,请勿自行拼接未文档化的安装串。
典型用法¶
- 完成上述
plugin add后,在 Web(或其它已启用 profile)会话输入/poteto-help,按需追问该用哪条技能或 playbook。 - 写代码前先
/architect限定在设计与签名层;实现阶段若要并行探索用/arena或/swarm。 - 审 diff 或设计时用
/interrogate;用户明确要求 TDD 或缺陷边界清晰时用/tdd。 - 需要动机与证据链时用
/why(会按资料设计并行查多类证据源);纯运行机制用/how。 - 输出文档或 PR 说明前可用
/technical-writing、/unslop收紧表述。
principle-* 在 poteto 流仪或其它 playbook 内被引用时充当约束;单独启动时同样走斜杠命令。
适用场景与注意¶
适合谁: 已在 DSH 中开发 agent、又希望与 Cursor pstack 共用同一套 57 技能工作流的团队或个人;尤其需要显式斜杠、避免模型私自「选技能」的场景。
权限与信任: 插件以当前 DSH 进程的权限运行;安装前应自行审阅 skills/、cordis.patch.yml 及 MIT 上游许可。非官方移植意味着上游 pstack 大版本变动需关注维护者同步(仓库提供 sync-upstream 脚本供维护者使用,终端用户以发行版为准即可)。
与官方生态的关系: DSH 社区目录(如 SkillHub 插件页)独立于 DeepSeek / 幻方,勿当作官方应用商店;本 bundle 亦不代表 Cursor 或 DSH 官方产品。
结尾¶
pstack-dsh 的价值在于用最小移植面把 MIT 授权的 pstack 技能库挂进 DSH,保持上游触发语义与 57 技能目录,同时用 resourceBase 接上 DSH 的 read 链路。进一步了解请查看 SkillHub 目录页 与 GitHub 仓库。