dsh-prompt-optimizer v0.6.8-stable

September 22, 2026 · View on GitHub

中文English

它不改写你的话。 你照常说话,它在你按下发送之前,把"这一轮到底要什么"理清楚,再把这份理解交给工作 AI—— 你的原话一个字不动,理解随行;条条带逐字依据;每一轮重新想一遍(不继承上一轮)。 完整说明与自检见 po06/README.md,人工验收见 po06/HUMAN-TEST.md

30 秒装上 0.6.8-stable

$v = '0.6.8-stable'; $d = "$env:USERPROFILE\Downloads"
Invoke-WebRequest "https://github.com/WestFox-AwA/dsh-prompt-optimizer/releases/download/v$v/dsh-external-dsh-po06-$v.tgz" -OutFile "$d\dsh-external-dsh-po06-$v.tgz"
Get-Content "$d\SHA256SUMS-$v.txt"     # 与上一行下载到的 tgz 对 sha256(Release 页也有同一份)
dsh --profile po061 --from-default-profile web --dump-config        # 建一个干净 profile
dsh plugin --profile po061 add "$d\dsh-external-dsh-po06-$v.tgz"    # 装
dsh --profile po061                                                 # 起服务(会打印带 token 的地址)

装完在面板上把档位拨到 标准重度关闭 档不拦截、不注入)。 详细版(含 4 步自检、常见装不上的原因)见 po06/README.md不要装进 0.5.x 所在的那个 profile:同装配会被 DOUBLE_INTERCEPT 守卫拒绝启用(这是刻意的), 两者也不共用配置(0.6 的启用意图在 <home>/po06.json,不会碰 0.5 的 prompt-optimizer.json)。


它解决的是哪个问题

这类模型(v4.1-flash 一类)不主动、不猜、一次做完:你没写、它又推不出来的,就是必然缺失; 你写了,它一定会照做。所以缺的从来不是"更漂亮的提示词",而是你自己也忘了说、而它无法自知的那点信息

本插件只做一件事:在你发送前,把这点信息补齐,并让每一条都能指回依据。它不写下游的本行 (通用写法、常规 API、最佳实践、教学),也不写没有具体指向的验证套话——对这类模型,提示词不是建议而是指令集

它怎么工作(四步)

  1. 拦在发送前:你的原话还没进工作 AI,先停一下(面板上写着"优化中…已用 N 秒",随时可「跳过并直接发送」)。
  2. 另起一次调用做释义(解释层):输入只有两样——你这轮原话的逐字文本 + 本轮真读进来的会话上下文/项目文件。 产出不是改写稿,而是一组条目:你说过的(带逐字引文)、你的质量词怎么理解、你没说且没人能自知的(未知项)、从材料里看出的事实。
  3. 宿主逐条校验:每条都要能指回逐字来源;指不回去就只丢那一条并记账,绝不冒充"你说过"。
  4. 随行注入:你的原话原样发出,释义作为"随行包"贴在这一轮;下一轮开始,上一轮的条目整体退场(留档不删)。

三条不变量(也是它与别的工具的分界):

不变量含义分界
不改写派发给工作 AI 的原话=你写的字节不是提示词改写器
条条有据每条都能定位到一段逐字来源,定不到就丢不是自由发挥的补全
每轮归零本轮的理解不依赖上一轮的条目不是记忆/画像,也不是 RAG

代价(如实说):长期约束("只交单个文件""别动别的文件夹")不会自动跨轮,要靠上下文每轮重新看出来 ⇒ 别把「上下文」调得太小。换来的是:不会再出现"上一轮早就解决的事又被要求一次"。

界面上有什么

面板只有一行:优化选项(图标 + 当前档位摘要)、状态灯、? 用户手册。点开是一块克制的卡片:

控件取值作用
档位关闭 / 轻度 / 标准 / 重度档位=依据预算关闭=完全不拦、不注入(等于没装)
权限审查 / 自动审查=它完成后先给你看要注入的内容,你可以直接改,再决定提交;自动=它完成即发出
模型跟随会话模型(默认)或指定解释层用哪个模型
上下文回合 0–10 / 全文解释时参考多少历史;读得越多越懂你,也越慢
只读工具 / (默认关)允许它在你的工作目录内读文件核对事实(只读、不写、不执行命令)
详情改解释层用的提示词(可撤销、可恢复内置)

拦截浮层(发送前那一下)分两块:思维层(固定显示范围、无滚动条、正文不截断,可往回滚)与 产出层(要注入的内容;审查档可直接编辑)。token 用 provider 真实上报入 / 出 / 缓存 三分量 (过千记 k/M,拿不到就显示 从不按字数估算)。

界面语言跟随 DSH:在 DSH 里把语言设成中文就全中文、设成英文就全英文(? 用户手册也跟着切), 插件内没有自己的语言开关;浅色/深色也跟随 DSH 主题,切换即时生效。

常见问题

要等多久? 一般 20–60 秒(取决于档位、上下文、模型)。这段等待就是它"替你想清楚"的时间;不想等随时点「跳过并直接发送」。

会改我的话吗? 不会。被补的是给工作 AI 的那份理解;你发出去的字还是你写的。

会不会把我的消息弄丢? 不会。解释失败时:自动 档按你的原话发出并在说明原因;审查 档停在错误态等你决定(消息一直躺在输入框里)。

它这一轮什么都没提取到怎么办? 它会先重试一次;仍然没有,就如实补一条"这一轮没提取到新要求"的待确认条目—— 每一轮一定有一份包(不再出现"思考完却什么都没有")。

它会记住上一轮的目标吗? 不会。每轮从「你这轮的原话 + 本轮读入的上下文」重新推;代价见上面"三条不变量"那段。

它会替我编要求吗? 不会。你明说的才算"你的要求",且必须附逐字引文;对不上就丢弃并记账,界面上"无出处"的条目会红字标出。

读项目文件会不会动我的东西? 不会:只读、限定在你的工作目录内、越界一律拒绝。

关掉/卸载? 临时关:档位拨到 关闭(不拦不注入,等于没装)。彻底卸载:从 profile 的 dsh.profile.bundlesdependencies 里移除 @dsh-external/dsh-po06,重启 DSH;配置在 <home>/po06.json,可自行删除。

隐私与边界

  • 不外发:没有遥测、没有回传。所有状态都在本机 <home>/po06-*.json*po06-state/ 下。
  • 只读工具是唯一的文件访问:默认关闭;打开后也只读、限定工作目录、不执行命令。
  • 不注入无关内容:包只由你这一轮的原话与本轮读入的上下文得出;来源不可核的条目直接丢弃。
  • 默认不启用(保守):装配期启用闸门默认 off;要启用就在 <home>/po06.json{"settingsVersion":1,"enabled":true,"rollout":{"mode":"all"}}(只想给某些会话用就写 {"mode":"allowlist","sessions":["<会话 id>"]})。 只要旧版插件仍在装配,会以 DOUBLE_INTERCEPT 拒绝启用——一条消息被两个拦截器处理两次的代价更大。

诚实声明(请按这个预期使用)

  • 内部自洽有证据45 套 / 585 项测试全绿(含打包自足性、文档漂移门禁;另有 214 个变异守卫,属发版门那条线)。
  • 📊 作者实测观察(不是专业跑分):测试主要在 DeepSeek-V4.1-Flash + PTC + PowerShell 环境下进行。 目前没有做过专业的跑分测试;但在常见的各类 one-shot 任务与长任务迭代中, 实际效果明显强于同环境、同提示词下的 DeepSeek-V4.1-Flash;另据少量项目的统计, 疑似会降低 token 消耗量、节省开销
  • ⚠️ 能力仍是实验性的,请当成可以装、可以试、随时可关的东西,不是"升级"
  • 📌 本版(0.6.8-stable)修掉的真机问题:①"思考完却拿不到包"(空产出兜底 ⇒ 每轮必有包); ② 浅色模式下界面颜色由主题驱动;③ 界面语言跟随 DSH;④ 启用判定(rollout 缺失/写错不再把显式 enabled:true 静默关掉); ⑤ 一次设置写入把配置重置成默认值的数据丢失(BOM 读取修复)。详见 CHANGELOG.md

版本与证据

  • 更新日志:CHANGELOG.md | 人工验收:po06/HUMAN-TEST.md | 发版登记(含每次真跑过的装机演练):po06/RELEASE-CHECKLIST.md
  • 安装与自检:po06/README.md | 当前 Release:v0.6.8-stable
  • 兼容:dsh-0.1.6-alpha.10.1.5-rc.1 亦可运行)| 作者:啃轮胎的西狐
  • 上一代(0.5 线,仍可用,但已不再更新):装在另一个包 @dsh-external/dsh-prompt-optimizer, 最后发布 v0.5.0-beta.1;设计与用法见 SPEC.md,历史文档(含 0.5 的实测数据)见 README-0.5.md —— 那里的数字只属于 0.5,不是 0.6 的效果证据。

许可

BSD-3-Clause · 完全开源,欢迎任何人以任何形式使用、修改、提建议。