Profile
Back to NewsBack
GitHub Trending 2 min
Reader Mode
WestFox-AwA/dsh-prompt-optimizer: DSH 插件 · 注入式优化器 0.8(主线):你照常说话,它在你发送后,AI接收前把"这一轮到底要什么"理清楚,再把这份理解交给工作 AI(上下文注入) —— 原话不改写,条条带逐字依据。含控制界面(档位/权限/模型/上下文/只读工具)、拦截

WestFox-AwA/dsh-prompt-optimizer: DSH 插件 · 注入式优化器 0.8(主线):你照常说话,它在你发送后,AI接收前把"这一轮到底要什么"理清楚,再把这份理解交给工作 AI(上下文注入) —— 原话不改写,条条带逐字依据。含控制界面(档位/权限/模型/上下文/只读工具)、拦截

6 hours ago

dsh-arbiter-wf v0.8.4-stable · 独立裁判层(DSH Web 插件)

中文 | English

效果展示:皆为Windows+DSH+PTC环境,OneShoot (其中插件档位为"重度") 模型DeepSeek-V4.1-Flash 提示词:不要预览文件夹内的其他文件,制作一个单html程序,要求是极其精细的现代主战坦克模型,可以预览,操控,真实,帅气,炫技写真.

它不改写你的话。 你照常说话,它在你按下发送之前,把"这一轮到底要什么"理清楚,再把这份理解交给工作 AI——
你的原话一个字不动,理解随行;模型给出的澄清与建议始终标成机器产出,不会冒充你说过的话;每一轮重新想一遍(不继承上一轮)。
完整说明与自检见 po06/README.md,人工验收见 po06/HUMAN-TEST.md。
### ⚠️ 安装来源只有一个:本仓库的 Release
> | 渠道 | 是什么 | 该不该用 |
|---|---|---|
| GitHub Release 附件 | 当前版本(@dsh-external/dsh-arbiter-wf) | ✅ 唯一正确来源,就是下面这段命令 |
| npm | 本插件不发 npm(private: true),只在 Release 分发;
registry 上搜到的同名或相似包都不是本项目 | ❌ 不要从 npm 装 |
| 仓库根直接 clone | 与本 Release 同源,适合开发者 | ⚠️ 需要自己构建,普通使用走 Release 更省事 |
> 想找 0.1 ~ 0.6 的旧版本?见 old/(含各代简介与下载方法)。
想自己发一版?见 RELEASING.md(9 步发布规程 + 检查清单)。
### 30 秒装上 0.8.4-stable
>
> $v = '0.8.4-stable'; $d = "$env:USERPROFILE\Downloads"
> Invoke-WebRequest "https://github.com/WestFox-AwA/dsh-prompt-optimizer/releases/download/v$v/dsh-external-dsh-arbiter-wf-$v.tgz" -OutFile "$d\dsh-external-dsh-arbiter-wf-$v.tgz" > Invoke-WebRequest "https://github.com/WestFox-AwA/dsh-prompt-optimizer/releases/download/v$v/SHA256SUMS-$v.txt" -OutFile "$d\SHA256SUMS-$v.txt" > 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-arbiter-wf-$v.tgz" # 装 > dsh --profile po061 # 起服务(会打印带 token 的地址) >
> 装完在面板上把档位拨到 标准 或 重度(关闭 档不拦截、不注入)。
详细版(含 4 步自检、常见装不上的原因)见 po06/README.md。
不要装进 0.5.x 所在的那个 profile:同装配会被 DOUBLE_INTERCEPT 守卫拒绝启用(这是刻意的),
两者也不共用配置(0.6 的启用意图在 /po06.json,不会碰 0.5 的 prompt-optimizer.json)。
### 装不上时的排查顺序(issue #29)
> 先分清是哪条路在失败——多数「装不上」其实是走错了渠道:
> | 你看到的 | 真正的原因 | 怎么办 |
|---|---|---|
| 插件市场报 npm registry search: no matching package found,随后回落到 git 安装 | 本插件按设计不发 npm(private: true),registry 上永远搜不到 | 别让安装器去搜 npm:按上面那段用 Release 附件(.tgz)装 |
| git 安装报 schannel: next InitializeSecurityContext failed: SEC_E_INVALID_TOKEN | 这是你本机 git 的 TLS/代理问题(命令连 GitHub 都没连上),与插件无关 | 要么改用 Release 附件(不需要 git),要么修本机 git:git config --global http.sslBackend openssl(或配好代理)后重试 |
| 安装器提示 git-hosted plugins build on install via their prepare script … allowBuilds | 这是安装器的通用提示:本包没有任何构建步骤(package.json 里连 scripts 都没有),允许构建不会改变任何结果 | 不用去改 allowBuilds;按上一条排查 TLS |
| 装完面板没有拦截,状态里是 gate: rollout-off | 档位还停在 关闭 | 把档位拨到 标准 或 重度 |
> 想自己从仓库装?见 docs/PACKAGING-NOTICE.md:git 安装要在本机装 peer 依赖并自跑构建,普通使用没必要。

它解决的是哪个问题

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

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

它怎么工作(四步)

  1. 拦在发送前:你的原话还没进工作 AI,先停一下(面板上写着"优化中…已用 N 秒",随时可「跳过并直接发送」)。
  2. 另起一次调用做释义(解释层):输入只有两样——你这轮原话的逐字文本 + 本轮真读进来的会话上下文/项目文件。
它返回四类内容:本轮意图、表达澄清、正向补充与建议、需要反问的点;它不替你改写原话。
  1. 宿主接管工程部分:条目编号、来源标记、状态更新由插件完成;模型给出的澄清与建议一律标成机器产出,不会进入"你说过的"那一类。
  2. 随行注入:你的原话原样发出,这份辅助作为"随行包"贴在这一轮;下一轮重新想一遍(留档不删)。
三条不变量(也是它与别的工具的分界):

| 不变量 | 含义 | 分界 | |---|---|---| | 不改写 | 派发给工作 AI 的原话=你写的字节 | 不是提示词改写器 | | 机器建议不越权 | 澄清与建议始终是机器产出,不会冒充你的要求;你明说的才算要求 | 不是自由发挥的补全 | | 每轮归零 | 本轮的理解不依赖上一轮的条目 | 不是记忆/画像,也不是 RAG | | 可以什么都不补 | 没有值得补充的内容时,这轮就是"读懂了、无补充" | 不硬凑条目 |

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

界面上有什么

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

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

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

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

常见问题

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

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

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

它这一轮什么都没提取到怎么办? "读懂了、但没有值得补充的内容"现在是合法结果:不会再硬造条目,也不会因为内容为空而重试。只有输出格式真的坏了时才会重试一次。

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

它会替我编要求吗? 不会。你明说的才算"你的要求";模型产出的澄清与建议一律标为机器建议,不会进入"你说过的"那一类。旧格式条目仍要求逐字引文,对不上就丢弃并记账。

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

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

隐私与边界

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

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

  • ✅ 内部自洽有证据:104 套测试全绿(node po06/scripts/run-suites.mjs;各套件自报用例合计 1141 项;含打包自足性、文档漂移门禁)。两种 shell 下均已复验(bash 与 pwsh)。
  • 📊 作者实测观察(不是专业跑分):测试主要在 DeepSeek-V4.1-Flash + PTC + PowerShell 环境下进行。
目前没有做过专业的跑分测试;但在常见的各类 one-shot 任务与长任务迭代中, 实际效果明显强于同环境、同提示词下的 DeepSeek-V4.1-Flash;另据少量项目的统计, 疑似会降低 token 消耗量、节省开销。
  • 📌 本版(0.8.4-stable)改了什么:
⓪ 顾问闭环(本版主线) —— 复核按每条结论实际引用的证据核对:无关材料的截断不再整体否决, 被引用的截断材料仍必须完整补读;源码 / 截图 / 运行记录不互相冒充。真实失败、缺证与版本变化继续可见。 ① "我读不到这个文件"不再让整次咨询作废(#32)—— 读不到的材料可以正常被引用,缺口如实记进结果; /po06/api/status 也不再写死"只读未开",报告的是本会话真实设置。 ② 解析被拒不再直接 no-packet(#31)—— 一个字都没吐与"吐坏了"从此同等对待:先重试一次, 仍坏则由宿主补一条如实说明的兜底条目(不发明任何新要求)。配对扫描只取第一段完整对象,绝不猜 JSON。 ③ 分段读同一个文件不再把复核结果丢掉(#30)—— 材料按文件版本归并(同一文件读 5 段 = 1 行,改过的版本不会被吞掉,超过 8 个真实版本仍然拒绝);失败 / 中断的卡片真的显示已产出的思考尾部与查证记录。 ④ 两处"必然失败"的路被修掉(#33)—— 非 delivery 下的 requiredScopes / requiredReviews 是纯 no-op, 不再整次拒掉(真机某会话 21 连败 0 成功);英文翻译遇到上游抖动时有界重试,每次尝试都写进台账。 ⑤ 顾问长时间没有任何产出时提前结束(#34)—— 只在完全没有产出时触发(默认 90 秒), 一旦有增量产出就重置;它不是总截止,DSH_PO06_ADVISOR_STALL_MS=0 可完全关闭。 ⑥ 安装排障表(#29)—— 本插件按设计不发 npm,安装器回落到 git 安装时的 TLS 失败与 allowBuilds 提示怎么处理,见上面。 ⑦ 其余能力(英文模式、实验性推理增强、独立顾问 consult_task、内置 Bash、斜杠命令允许列表、拦截浮层流式显示)沿用 0.8.3。 未做专业跑分:本版是正确性与可用性修复,不代表模型更快或产物必然更强。详见 CHANGELOG.md。

版本与证据

发版登记(含每次真跑过的装机演练):po06/RELEASE-CHECKLIST.md
  • 安装与自检:po06/README.md | 当前 Release:v0.8.4-stable
  • 💬 欢迎加入 QQ 群:1121399051 获取最新消息、安装帮助与版本公告。
  • 兼容:dsh-0.1.7-rc.2(本机实测运行)| dsh-0.2.0-rc.2(逐成员静态契约核对通过,实机待验,见 docs/DSH-0.2-COMPAT.md)| 作者:啃轮胎的西狐
  • 上一代(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 · 完全开源,欢迎任何人以任何形式使用、修改、提建议。

Chat with me