Cursor 插件 pstack 使用手册:少写 slop、可验证、多模型并行
pstack 是 Cursor 官方插件仓库里的一套工程技能栈。作者 poteto(React 核心成员,曾在 Meta、Netflix、Cursor 工作)把它定位成:少写 slop、多做可验证的深挖,并放心做多模型并行。
本文按官方 README 与 pstack guide 改写归纳,面向中文读者做可操作速查。命令名、slash 技能名保留英文,便于你直接粘贴进 Cursor。
1. pstack 是什么
核心主张很短:
- 质量优先于吞吐:目标不是堆更多行数,而是写出更少但更可信的代码。
- 可验证:做完要对照真实产物验收(跑功能、看真实输出、查 diff),不能只靠「编译过了」。
- 无畏并行:当你信得过单个 agent 的严谨度时,才能真正并行多个 agent。
- 多模型协作:不同角色可配不同模型(例如代码委派用某模型,判断与评审用另一模型),发挥各家所长。
日常入口几乎只有一个:/poteto-mode。它会把你的目标匹配到某一本 playbook,把步骤拷进 todo,并在需要时自动调用其它 skill。你不必手写「先 /how 再 /architect 再 /arena」这种技能流水线。
2. 安装
Cursor
在聊天里执行:
/add-plugin pstack
安装确认后,继续下一节的 /setup-pstack。
Claude Code(简要)
/plugin marketplace add cursor/plugins
/plugin install pstack@cursor-plugins
Claude Code 会对插件命令加前缀,例如 /poteto-mode 变成 /pstack:poteto-mode,/setup-pstack 变成 /pstack:setup-pstack。模型配置会写到 ~/.claude/rules/pstack-models.md。第三方 marketplace 默认不自动更新;需要时可在 /plugin → marketplaces 里对 cursor-plugins 打开 auto-update,或手动 claude plugin update pstack@cursor-plugins。
部分 Cursor 专属能力(如 Bugbot、Automations)在 Claude Code 里会跳过并留一行说明。更完整的差异见官方 harness 文档。
3. 两步上手
/setup-pstack
检测你可用的模型,问推理预算(reasoning budget),再让你为各角色(代码委派、判断、评审 panel、swarm workers 等)选模型。结果写入~/.cursor/rules/pstack-models.mdc(Cursor)。未写明的角色继续用 skill 默认值。- 之后凡是需要严谨工程的任务,用
/poteto-mode
不确定该用哪个 skill / playbook 时,先问:/poteto-help …(只答疑并给你可粘贴的 prompt,不会直接开跑,避免误烧 token)。
Setup 末尾可能提议生成项目级 /create-verification-skill(教 agent 像用户一样驱动你的 App 做验收)以及可选的形式化验证 skill。新手建议尽量接受 verification skill:能自检的 agent 才会真正「做到过线为止」。
重要:模型规则对新会话生效。改完 /setup-pstack 后,开一个新 chat 再干活。
默认大致是:较难的判断与文案偏 Opus 一系,日常代码委派偏 Grok;面板默认常见为 Opus / Grok。一切以你本地 /setup-pstack 写出的规则为准。
4. Custom Mode:Option/Alt+Enter vs 普通 Enter
从 / 菜单选中 /poteto-mode 后:
| 操作 | 效果 |
|---|---|
| Enter | 只把 skill 挂到这一条消息上;聊着聊着模式会淡出 |
| Option+Enter(Mac)/ Alt+Enter(Windows) | 建成 Custom Mode,之后每一轮都带着 /poteto-mode,直到你退出该模式 |
Custom Mode 在 Agents 窗口和 CLI 里都可用。长任务、过夜跑、希望 follow-up 也自动走 playbook 时,用 Alt/Option+Enter。
5. 怎样写好 prompt
一句话习惯:说目标 + 可过/不过的验收标准,用你自己的话,不必点名 playbook。
好的 prompt 最多带这五类信息(每类一句就够):
- 目标:哪里坏了,或你要什么
- 完成判定:必须能 pass / fail(「弄好一点」「弄一小时」不算)
- 你要看到的证据:真实命令输出、流程录屏、落库数值、前后对比数字等
- 已知线索:症状、复现步骤、日志、链接——省得 agent 盲搜
- 硬约束:如
repro first、don't change any code yet、zero behavior change、let me review before proceeding
尽量不要写:
- 具体实现路径(给 agent 找更好路径的空间)
- 一上来就抛出「我认为根因是 X」(会把搜索窄死;可先让它用自己的话复述问题)
- 手写一长串 skill 顺序(见第 9 节)
换话题时加 new task,否则仍在上一本 playbook 里接着干:
/poteto-mode new task. figure out why the cache entry survives logout. don't change any code yet.
6. 常用 playbook(精选)
/poteto-mode 内置约 23 本 playbook。你通常不用点名;下面按场景速查,方便对照 todo 列表在跑哪一本:
| Playbook | 适用 |
|---|---|
| investigation | 只读问题:怎么工作的、为什么这样设计 |
| bug fix | 复现 → 根因 → 带运行证据的修复 |
| perf / hillclimb | 对照基线治慢;或围绕单一指标持续爬山 |
| feature | 新行为或改行为,从明确的数据形状出发 |
| refactoring | 行为不变的结构调整 |
| prototype | 低成本草图,用可跑的东西做决策 |
| babysit | 把 PR / stack 推到可合并:冲突、评论、CI |
| shipping | 独立验收绿灯 stack,再按底向上落地 |
| autonomous run / overnight | 长时间无人值守做到完成条件 |
| opening a PR | 其它 playbook 收尾时开 PR(小提交 + 常规标题) |
| figure-it-out | 没有现成 playbook 时,设计可审计的临时剧本 |
完整目录见插件内 skills/poteto-mode/playbooks/。todo 里若某步被跳过,会以 skip: <原因> 留在列表里,方便你看见它主动没做的事。
7. 常用独立 skill 速查
多数情况让 /poteto-mode 代为调用即可。需要单独点名时:
| Skill | 何时用 |
|---|---|
/poteto-mode | 非琐碎任务的默认入口 |
/poteto-help | 新手或不知选哪个 skill / playbook;只答疑并给 prompt |
/setup-pstack | 配置各角色用哪家模型、推理预算 |
/how | 某子系统「怎么工作」的走读 |
/why | 「为什么这样建」;会并行查源码、issue、文档、聊天等证据源 |
/teach | 真正搞懂一块改动:串起 how + why,配图讲清楚 |
/in-your-own-words | 开工前让 agent 用自己的话复述目标与问题 |
/sharpen | 先把 prompt 磨深(不是变长),再交给你发送 |
/architect | 跨函数边界前先定类型、调用方用法、模块形状 |
/arena | 同一任务 N 路并行,再挑底本嫁接长处 |
/swarm | 不同切片 / race 并行,汇总一份报告 |
/interrogate | 多模型找茬审 diff(含代码质量硬镜) |
/tdd | 有便宜本地测试路径时:先失败测试再修 |
/unslop | 去掉 AI 腔写作痕迹 |
/no-comments | 审前清评论;会拉 Comment Sicko |
/correct | 同类错误反复出现:把规则写进架构 / 类型 / lint / 测试 |
/recall / /ketchup | 重建近期上下文;或用白话追上离开后发生了什么 |
/show-me-your-work | 可审计决策日志(过夜跑很有用) |
/figure-it-out | 无匹配 playbook 时设计可审计剧本 |
/automate-me | 按你真实习惯起草自己的 *-mode |
8. 原则(最实用几条)
共有 24 条原则 skill。你一般不用单独调用它们;在对话里喊名字就能纠偏。最常用来「一句话转向」的:
| 原则 | 一句话 |
|---|---|
| prove-it-works | 对照真实产物验收,别拿编译成功当完成 |
| laziness-protocol | 偏删除、偏最小改动 |
| subtract-before-you-add | 先清死代码 / 冗余,再往上加 |
| fix-root-causes | 追到系统第一次出错的地方再改;别堆守卫凑合 |
| foundational-thinking | 写逻辑前先把核心数据结构想对 |
| build-the-lever | 做可重跑的脚本 / skill,别手搓重复劳动 |
| never-block-on-the-human | 可逆工作先做完再给你纠偏;不可逆才先问 |
| encode-lessons-in-structure | 反复叮嘱两次的规则,落成 lint / 检查 / 脚本 |
| guard-the-context-window | 大块阅读丢给子 agent,主线程只留摘要 |
| explain-the-number | 报加速 / 回归前先搞清测到的是什么(配合 /benchmark-checklist) |
例:
apply prove it works. show me the real output, not the build log.
use subtract before you add. delete the obsolete adapters first, then design what's left.
9. 常见坑
- 模式掉了
只用了普通 Enter 挂一次/poteto-mode。长任务请用 Option/Alt+Enter 建成 Custom Mode。 - 模型配置「没生效」
/setup-pstack写的规则对新会话生效;改完请开新 chat。 - 成本飙升
子 agent、评审 panel 会多耗 token。应对:更小 reasoning budget、便宜模型做代码角色、缩短 panel 列表、琐碎编辑别上/poteto-mode、角色设为auto/inherit-parent继承父会话模型。 - 不要手写 skill 序列
「先 /how 再 /architect 再 /arena…」常会打乱 playbook 本该保留的步骤。只陈述目标与约束;点名 skill 仅用于覆盖某个默认选择。 - 完成条件含糊
「弄好一点」给/loop没法判。改成能 pass/fail 的命令、夹具、行数、零旧调用方等。 - 先抛出自己的根因猜测
agent 会顺着你指的方向搜。先让它复述问题,再分享你的猜测。 - 多 agent 挤同一个 worktree
会互相覆盖。用 cloud subagent,或明确「每次独立 worktree」。 - 绿灯构建 ≠ 行为正确
要真实命令、真实流程、真实落库值或 profile。 auto不是模型 slug
auto/inherit-parent表示省略 model 字段,让子 agent 继承父聊天模型。- 过夜前没验收能力
不会自检的 loop 只会更快制造未检查的 diff。先把 verification skill 跑通。
10. 示例 prompt
中文说明在前,可直接粘贴的英文 slash 命令在代码块里。
修 bug(先复现再修):
/poteto-mode this pr has a subtle bug where the scroll drifts every 750ms even when idle. repro first, then fix and verify.
新功能 + 可验证完成条件:
/poteto-mode add a --json flag to this command. text output stays byte-identical. verify both.
性能:
/poteto-mode a big list takes a second or two to load even though we virtualize. run a cpu trace and tell me why.
只读调查(先别改代码):
/poteto-mode read this thread. restate the underlying issue in your own words, in plain english. don't change any code yet.
过夜 / 无人值守(完成条件必须可检查):
/poteto-mode i'm going to bed. land the stack even if ci flakes. i want everything merged by morning.
更完整的过夜合同示例:
/poteto-mode im going to bed. migrate every caller to the new parser in a fresh worktree off main.
done means zero old callers, all parser fixtures pass, old api deleted.
keep a decision log. don't ask me before committing.
/loop until done. if you're truly stuck after a few hours, stop and write up why.
看护 PR:
/poteto-mode check on pr 123. anything outstanding?
并行切片检查:
/swarm check every package under packages/ against its check.sh. one worker per package. one report.
多模型审 PR:
/interrogate the whole branch, but skeptically. don't change anything yet. no nitpicks unless it's an actual bug or regression in behavior.
走读 / 历史:
/how do we cancel runs? do we have an n+1 when we look up every run to cancel?
/why is this feature flag not on yet?
不确定用啥时:
/poteto-help which skill should i use to review this branch?
先磨 prompt 再开跑:
/sharpen write a migration guide for the v2 config format.
(读完改写后再把结果交给 /poteto-mode。)
追上离开后的进度:
/ketchup
顺带一提
- Cursor 自带的 Plan mode 与 pstack 可配合;作者本人更倾向「最好的规格是能跑的代码」,默认不走大规划。
/deslop、control-cli/control-ui等在cursor-team-kit插件里,不随 pstack 捆绑;需要可一并安装。- 想换成自己的风格:跑
/automate-me,会基于你近期 transcript 起草<你的名字>-mode,底层仍路由到 pstack。
参考与声明
- 官方仓库:https://github.com/cursor/plugins/tree/main/pstack
- 许可:MIT
- 本文为面向中文读者的使用向导,据官方 README 与 guide 归纳改写,非官方译文。插件与文档会持续更新,以仓库最新内容为准。
标题:Cursor 插件 pstack 使用手册:少写 slop、可验证、多模型并行
作者:llp
地址:https://llinp.cn/articles/2026/10/25/1792860669048.html
JavaWeb
Spring
MyBatis
linux
消息队列
JavaSE
工具
片段
AI
搜索
dy