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
>> 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 的地址) >> $v = '0.8.4-stable'; $d = "$env:USERPROFILE\Downloads"
> 装完在面板上把档位拨到标准或重度(关闭档不拦截、不注入)。
详细版(含 4 步自检、常见装不上的原因)见 po06/README.md。
不要装进 0.5.x 所在的那个 profile:同装配会被 DOUBLE_INTERCEPT 守卫拒绝启用(这是刻意的),
两者也不共用配置(0.6 的启用意图在,不会碰 0.5 的/po06.json 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、最佳实践、教学),也不写没有具体指向的验证套话——对这类模型,提示词不是建议而是指令集。
它怎么工作(四步)
- 拦在发送前:你的原话还没进工作 AI,先停一下(面板上写着"优化中…已用 N 秒",随时可「跳过并直接发送」)。
- 另起一次调用做释义(解释层):输入只有两样——你这轮原话的逐字文本 + 本轮真读进来的会话上下文/项目文件。
- 宿主接管工程部分:条目编号、来源标记、状态更新由插件完成;模型给出的澄清与建议一律标成机器产出,不会进入"你说过的"那一类。
- 随行注入:你的原话原样发出,这份辅助作为"随行包"贴在这一轮;下一轮重新想一遍(留档不删)。
| 不变量 | 含义 | 分界 | |---|---|---| | 不改写 | 派发给工作 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-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 环境下进行。
- 📌 本版(0.8.4-stable)改了什么:
/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。
版本与证据
- 更新日志:
CHANGELOG.md| 人工验收:po06/HUMAN-TEST.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 · 完全开源,欢迎任何人以任何形式使用、修改、提建议。