改写首轮提示词,让 DeepSeek 在 pi 里发挥出训练时的水准
30.7/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/1 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
自动兼容检查未通过:缺少 main/exports/bin 入口声明。以下命令仍可尝试,但可能失败。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add Saolence/pi-dsh-optimizer该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 改写首轮提示词
- 先发极简首轮请求
- 注入思维链
展开完整介绍(156 字)↓
DeepSeek 是在极简 harness 上做后训练的——那就给它配一个。这个 pi 扩展先发官方 dsh `minimal` 首轮请求(一行人设 + bash + str_replace_editor),再放出 pi 完整提示词,还带一段 `we need to` 思维链,专治 `let me…` 死循环。
README
由 DeepSeek 最新模型翻译生成pi-dsh-optimizer
把 dsh 官方 minimal 的首轮请求搬给 pi —— 再顺手掐掉思维链里那句 "Let me…" 的循环。
DeepSeek 在 pi 里表现不好,不是 pi 不行,是 pi 喂给它的那段提示词,它压根没被这么训练过。
这个扩展把它被训练过的那一面还回去:官方 minimal 的原样开场,然后再把 pi 的东西全部交还。
pi 扩展 · 零配置 · 默认只认 DeepSeek · 52 个测试
先说那个 33 分
同一个模型,同一个基准,只因为外壳换了:
| 分数 | 外壳 |
| 87.9 | DeepSeek 官方 Harness |
| 54.68 | Terminus 2(第三方复跑) |
DeepSeek V4 Pro(0813)跑 Terminal-Bench 2.1。33 分的差距,最初闹成"DeepSeek 是不是作弊了",最后留下一个更有用的结论:不写清楚外壳的跑分,就是一个没有单位的数字。
然后是最关键的那一下——同一个 Harness 内部,换预设也有同样的落差:
| 预设 | 分数 |
| minimal(只有 2 个工具) | 99 / 96 |
| standard | 91 |
| PTC(Code) | 92 |
如果 V4 Pro 只是"认自家的房子",这三个数应该差不多。它们不是。
展开完整文档(README 剩余 1 节)
pi-dsh-optimizer
把 dsh 官方 minimal 的首轮请求搬给 pi —— 再顺手掐掉思维链里那句 "Let me…" 的循环。
DeepSeek 在 pi 里表现不好,不是 pi 不行,是 pi 喂给它的那段提示词,它压根没被这么训练过。
这个扩展把它被训练过的那一面还回去:官方 minimal 的原样开场,然后再把 pi 的东西全部交还。
pi 扩展 · 零配置 · 默认只认 DeepSeek · 52 个测试
先说那个 33 分
同一个模型,同一个基准,只因为外壳换了:
| 分数 | 外壳 |
| 87.9 | DeepSeek 官方 Harness |
| 54.68 | Terminus 2(第三方复跑) |
DeepSeek V4 Pro(0813)跑 Terminal-Bench 2.1。33 分的差距,最初闹成"DeepSeek 是不是作弊了",最后留下一个更有用的结论:不写清楚外壳的跑分,就是一个没有单位的数字。
然后是最关键的那一下——同一个 Harness 内部,换预设也有同样的落差:
| 预设 | 分数 |
| minimal(只有 2 个工具) | 99 / 96 |
| standard | 91 |
| PTC(Code) | 92 |
如果 V4 Pro 只是"认自家的房子",这三个数应该差不多。它们不是。变量是开场提示词和工具表——当外壳长得像它后训练时那副样子,模型表现最好。
接着是一个让这个扩展几乎成了必然的实验:
用 minimal 模式的提示词和那两个工具开一个会话。第一次工具调用之后,把完整的 25 个工具全部恢复,后面的运行照常。
分数几乎没动:98 / 99。
模型第一轮做了什么,远比后面名义上能用多少工具重要。
这就是全部的原理。这个扩展,就是把这个实验搬到 pi 上自动执行。
它做什么
会话的第一条请求,被改写成 dsh 官方 minimal 的样子。
| | 第一条请求 | 之后的回合 |
| 系统提示词 | You are a helpful software engineer assistant.——46 个字符,原样 | pi 的完整提示词 |
| 工具 | bash + str_replace_editor | pi 的整个工具表 |
| pi 的提示词分节 | 一节都没有 | 全部回来 |
| 思维风格 | 模型默认 | 你自己选(默认:we need to… 那段) |
然后它就让开了。 会话一旦产出过真实的一轮,锚定永久解除:跨压缩、跨 --continue、跨 fork 都不会退回。不需要存状态,也就没有状态可以丢。
pi 的其它部分一个都没动。你的会话文件、pi 的工具注册表、界面——原样。被改写的只有那一条真正出网的请求。
第二个问题:"Let me…"的死循环
推理模型会打转。这是有专门论文研究的失败模式:"想太多"(overthinking)有自己的一整套文献,"让每一步思考尽量精简"也早就是思考模型的常规建议。
DeepSeek 的思维链有个标志性的版本——用叙述代替行动:
Let me… Let me check… Let me think about that… Let me…
同一个计划,反复复述,什么都不推进。
所以解除锚定的那一步,同时把 pi 的官方身份句换成一段严格风格的 we need to… 规则:每一步都是一个具体动作,第一人称复数,一句话一步,用情态动词(I'll · I can · I should · I will)推进到下一步。只写决策,不写评论,不复述。
实际感受:思考更短、重启更少、第一次动手之前的废话更少。
换掉它,或者删掉它 —— /dsh-optimizer
| 菜单项 | 作用 |
| text | 用你自己的一段替换掉身份句 |
| mode | replace(默认)· remove(只删身份句,不加任何东西)· keep(完全保留 pi 的原文) |
| preview | 提交前先看解除后到底长什么样 |
| reset / path | 恢复默认 / 打开配置文件 |
安装
pi install npm:pi-dsh-optimizer
重启 pi,完事。不用声明模型,不用配 provider——DeepSeek 开箱即中,其他模型完全不受影响,而每个会话的第一条请求都会被锚定。
功能
- 首轮锚定 —— 官方 minimal 那行 persona 和那两个工具,原样出现在真正到达模型的那条请求上。
- 自动解除,且粘性 —— 会话第一轮真实产出后,pi 的完整提示词和工具表全部回来,并且不再退回。
- 思维风格可换 —— 默认 we need to…,三种模式,支持预览。
- 自带官方 str_replace_editor —— 和 dsh minimal 用的是同一套两工具表面,锚定不是虚的。
- DSML 桥 —— 模型把工具调用当文本吐出来时,该调用照样执行。零配置。
- 可自查 —— PI_DSH_OPTIMIZER_DUMP=1 把真正出网的请求落到磁盘,锚定有没有生效自己验。
- 不破坏 —— 不改写、不回滚、不留痕迹。锚定是"某一条请求的属性",不是"你这个会话的状态"。
- 默认只认 DeepSeek —— 由 models 白名单决定。DeepSeek 大小写无关地命中(deepseek,provider 也算);其他模型完全不受影响。写 "models": [] 则对所有模型生效。
命令与配置
| 东西 | 作用 |
| /dsh-optimizer | 菜单:思维风格、模式、预览、重置、路径 |
| pi_dsh_status | 工具——打印 phase= · model= · active= · models= · surface= · tools= |
| PI_DSH_OPTIMIZER_DUMP=1 | 导出出网请求用于自查 |
| ~/.pi/agent/pi-dsh-optimizer.json | { "mode": "replace", "text": "…", "models": ["deepseek"] } |
配置里故意没有 enabled 开关:models 白名单就是开关,大小写无关。不在白名单里的模型完全不受影响——pi 的提示词原样发出、工具表一个不动;写 "models": [](或 ["*"])则对所有模型生效。在它上面再加一个开关,只会多一个和事实不同步的地方。
常见问题
只对 DeepSeek 有用吗?
不是。它搬过来的那个预设,就是 DeepSeek 后训练时的分布,所以 DeepSeek 收益最大。其他模型只是开场那一条请求更轻。
pi 的 rules、skills、项目上下文会丢吗?
只丢第一条请求——这正是重点。从第二个回合开始全部回来。
会变慢吗?
它做的工作比 pi 的常规路径更少:46 个字符的提示词 + 两个工具声明,而不是几十 KB 提示词 + 几十个声明。
那条被锚定的请求,真的是官方的吗?
是。persona 字符串和两个工具声明都抄自官方 minimal 预设。打开 dump,自己 diff。
我用的是 standard / PTC 预设呢?
这个扩展只搬 minimal 的开场。有数据支持的就是这一个。
对提示词缓存有帮助吗?
它给了 DeepSeek 前缀缓存喜欢的形状:开场极小、解除后的前缀稳定。但它本身不是一个缓存功能。
会不会和别的扩展打架?
它不 patch pi 的提示词,所以不会。但有一个坑:它注册的工具名是官方的 str_replace_editor——如果另一个扩展注册同一个名字,pi 只留一个,另一个会被静默丢掉。
兼容性
| pi | @earendil-works/pi-coding-agent |
| 模型 | 任意——DeepSeek V4 Pro / V4 Flash / V4.1 收益最大 |
| 相关场景 | DeepSeek Harness(DSH)、DSH minimal 预设、pi + DeepSeek |
老实说几句
- 那个 33 分和 99 / 91 / 92 都是社区报告,不是 DeepSeek 官方声明。来源在下面,建议自己去读,别只信这份 README。
- 首轮锚定实验是在 DSH 内部做的。这个扩展把它搬到 pi,你的数字会不一样。
- we need to… 是提示词风格干预:它改变推理读起来的样子、通常会变短,但不保证一定更短。
- DSML 桥代码不大,而且没有专门的测试覆盖。遇到它解析不了的泄漏调用,它会原样放过、不碰你的流。
来源与致谢
- DeepSeek Harness 开发者预览——官方预设清单(Standard / PTC / Minimal / Creator):
- Why DeepSeek Harness Benchmark Scores Differ So Wildly —— 87.9 vs 54.68、99 / 91 / 92 的预设落差、以及首轮锚定实验:
- DeepSeek Pro Looks Brilliant in Minimal Mode. That Is Also the Problem —— 反方观点,值得一读:
- Pi Agent + DeepSeek: Why the Harness Can Matter More Than the Model —— "外壳乘数",以及为什么 minimal 提示词适合那些没被大厂外壳训过的模型:
- Wait, Wait, Wait… Why Do Reasoning Models Loop?
- Stop Spinning Wheels: Mitigating LLM Overthinking via Mining Patterns for Early Reasoning Exit
- 数字背后的社区分析:@shmidtqq(由 @ST4RHaze 转发)以及 @ZhihuFrontier 翻译分享的中文长文,标题译作《DeepSeek V4 Pro 是否过拟合了自己的 harness?真正的问题可能是接口敏感性》。
- minimal 预设本体:DSH 仓库里的 apps/cli/config/agent-presets/minimal/agent.cordis.yml。
更新日志
| 版本 | 变化 |
| 0.4.0 | 模型白名单——默认只认 DeepSeek,大小写无关;其他模型完全不受影响。首轮表面按 Web app 的 Minimal 预设重新对齐:bash 描述、编辑器的 null 占位说明、oneOf [X, null] 参数 schema |
| 0.3.0 | 首轮锚定 + 自动粘性解除、思维风格三种模式与预览、DSML 桥、官方 str_replace_editor、出网请求 dump |
| 0.2.x | 最早的公开版本:minimal persona 与两工具表面 |
许可协议
MIT。预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
Saolence/pi-dsh-optimizer
改写首轮提示词,让 DeepSeek 在 pi 里发挥出训练时的水准
相关插件 · UI / 主题
破甲增强版JeffKeeping/dsh-purge-plus
dsh-purge 的非官方分支fork:适配 DeepSeek Harness 0.2.1-rc.2、破甲内核…
★ 387已汉化DeepSeek 客户端
71.9
无代码业务系统平台nocobase/nocobase
NocoBase 是什么
★ 24,804已汉化DSH
71.8
1Panel 服务器面板1Panel-dev/1Panel
全球 250 万+ 自托管用户共同喜爱。
★ 37,350已汉化DSH
71.5
工作状态行动态ccch1mneyyy/working-activity
作者:chimney@ccch1mneyyy。社区项目,非 DeepSeek 官方项目。
★ 664已汉化DSH
71.2
多模型配置管家farion1231/cc-switch
跨平台桌面一体化助手,支持 Claude Code、Codex、OpenCode、DeepSeek Harness 等工具,唯一官网 ccswitch.io
★ 151,506已汉化DSH
71.1
AI 矢量设计工具ZSeven-W/openpencil
全球首个 AI 原生开源矢量设计工具。
★ 7,027已汉化DSH
71.1
这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。