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、最佳实践、教学),也不写没有具体指向的验证套话——对这类模型,提示词不是建议而是指令集。
它怎么工作(四步)
- 拦在发送前:你的原话还没进工作 AI,先停一下(面板上写着"优化中…已用 N 秒",随时可「跳过并直接发送」)。
- 另起一次调用做释义(解释层):输入只有两样——你这轮原话的逐字文本 + 本轮真读进来的会话上下文/项目文件。 产出不是改写稿,而是一组条目:你说过的(带逐字引文)、你的质量词怎么理解、你没说且没人能自知的(未知项)、从材料里看出的事实。
- 宿主逐条校验:每条都要能指回逐字来源;指不回去就只丢那一条并记账,绝不冒充"你说过"。
- 随行注入:你的原话原样发出,释义作为"随行包"贴在这一轮;下一轮开始,上一轮的条目整体退场(留档不删)。
三条不变量(也是它与别的工具的分界):
| 不变量 | 含义 | 分界 |
|---|---|---|
| 不改写 | 派发给工作 AI 的原话=你写的字节 | 不是提示词改写器 |
| 条条有据 | 每条都能定位到一段逐字来源,定不到就丢 | 不是自由发挥的补全 |
| 每轮归零 | 本轮的理解不依赖上一轮的条目 | 不是记忆/画像,也不是 RAG |
代价(如实说):长期约束("只交单个文件""别动别的文件夹")不会自动跨轮,要靠上下文每轮重新看出来 ⇒ 别把「上下文」调得太小。换来的是:不会再出现"上一轮早就解决的事又被要求一次"。
界面上有什么
面板只有一行:优化选项(图标 + 当前档位摘要)、状态灯、? 用户手册。点开是一块克制的卡片:
| 控件 | 取值 | 作用 |
|---|---|---|
| 档位 | 关闭 / 轻度 / 标准 / 重度 | 档位=依据预算。关闭=完全不拦、不注入(等于没装) |
| 权限 | 审查 / 自动 | 审查=它完成后先给你看要注入的内容,你可以直接改,再决定提交;自动=它完成即发出 |
| 模型 | 跟随会话模型(默认)或指定 | 解释层用哪个模型 |
| 上下文 | 回合 0–10 / 全文 | 解释时参考多少历史;读得越多越懂你,也越慢 |
| 只读工具 | 开 / 关(默认关) | 允许它在你的工作目录内读文件核对事实(只读、不写、不执行命令) |
| 详情 | — | 改解释层用的提示词(可撤销、可恢复内置) |
拦截浮层(发送前那一下)分两块:思维层(固定显示范围、无滚动条、正文不截断,可往回滚)与
产出层(要注入的内容;审查档可直接编辑)。token 用 provider 真实上报的 入 / 出 / 缓存 三分量
(过千记 k/M,拿不到就显示 —,从不按字数估算)。
界面语言跟随 DSH:在 DSH 里把语言设成中文就全中文、设成英文就全英文(? 用户手册也跟着切),
插件内没有自己的语言开关;浅色/深色也跟随 DSH 主题,切换即时生效。
常见问题
要等多久? 一般 20–60 秒(取决于档位、上下文、模型)。这段等待就是它"替你想清楚"的时间;不想等随时点「跳过并直接发送」。
会改我的话吗? 不会。被补的是给工作 AI 的那份理解;你发出去的字还是你写的。
会不会把我的消息弄丢? 不会。解释失败时:自动 档按你的原话发出并在说明原因;审查 档停在错误态等你决定(消息一直躺在输入框里)。
它这一轮什么都没提取到怎么办? 它会先重试一次;仍然没有,就如实补一条"这一轮没提取到新要求"的待确认条目—— 每一轮一定有一份包(不再出现"思考完却什么都没有")。
它会记住上一轮的目标吗? 不会。每轮从「你这轮的原话 + 本轮读入的上下文」重新推;代价见上面"三条不变量"那段。
它会替我编要求吗? 不会。你明说的才算"你的要求",且必须附逐字引文;对不上就丢弃并记账,界面上"无出处"的条目会红字标出。
读项目文件会不会动我的东西? 不会:只读、限定在你的工作目录内、越界一律拒绝。
关掉/卸载? 临时关:档位拨到 关闭(不拦不注入,等于没装)。彻底卸载:从 profile 的 dsh.profile.bundles 与
dependencies 里移除 @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.1(0.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 · 完全开源,欢迎任何人以任何形式使用、修改、提建议。