Releases: WestFox-AwA/dsh-prompt-optimizer
Release list
0.6.1 · 0.6.1 —— 正式版本号(行为上 = beta.26 + 去掉「条目与结案」)。
0.6.1 —— 正式版本号(行为上 = beta.26 + 去掉「条目与结案」)。
这一版做了什么
- 去掉「条目与结案」面板(用户 2026-09-21:"不必保留……没必要做那个重复显示,甚至产生歧义")。
目标既然每轮都自动产生,就不需要人工再勾一遍;那条通路(界面按钮 + 两个宿主端点)整段删除,
不留死代码。旧账靠轮次推进自动退场(见下),不靠手点。 - 每轮独立产生目标,不遗传(beta.26 起的语义,正式收进 0.6.1):
每轮开始即把上一轮的条目与待问问题整体退场(stale,留档可追溯,不删除),
本轮的包 = 解释层按「你这轮的原话 + 本轮读入的会话上下文」新产出的目标。
你不会再看到"上一轮早就解决的事又被要求一次"。 - 思维层可滚动但隐藏滚动条(观感无条、能往回看),固定显示范围,正文不截断。
- token 计数用 provider 真实上报的 入/出/缓存 三分量(过千记 k/M,缺则
—,从不估算)。 - 只读工具那条必现故障的真因已修(解释层标识符笔误 + 来源引用把整轮弄死 +
machine标记从未生效)。
已知代价(诚实写在这里)
长期约束不再自动跨轮:"只交单个文件""别动别的文件夹"这类要求,现在靠解释层每轮从上下文重新看出;
如果它落到上下文窗口之外,这一轮就不会进包(工作 AI 自己仍看得到完整对话)。
所以别把「上下文」调得太小。? 帮助里已写明这一点。
安装(照 GitHub 上的 README 走即可)
- 在 Releases 下载
dsh-external-dsh-po06-0.6.1.tgz与SHA256SUMS-0.6.1.txt; dsh --profile po061 --from-default-profile web --dump-config(建一个干净 profile);dsh plugin --profile po061 add <下载路径>\dsh-external-dsh-po06-0.6.1.tgz;dsh --profile po061起服务,面板上把档位拨到标准或重度(关闭档不拦截)。
不要装进你每天在用的那个 profile(那里有 0.5.x,两者同装配会被 DOUBLE_INTERCEPT 守卫拒绝启用)。
产物与复核
见下方附件(tgz + SHA256SUMS);verify-artifact 与 tag 逐字节核对。
未验(如实登记,不假装)
- 全量测试 45 套 · 44 通过;唯一未过的是
wire.test.mjs里 2 条早已过时的断言
(EV-0143 断言 system 完全等于覆盖文件,但 0.6 会在其后追加会话上下文;EV-0131 静态自检判空写法对不上)。 check-release仍有阻断项(含上面 2 条);真机 + 真模型端到端、效果对比都没跑。- 本版没有任何"效果更好"的证据;它只保证"不再把上一轮的目标带进这一轮"。
dsh-prompt-optimizer 0.6.0-beta.10 · 界面热修(模型选择 / 提示词编辑与撤销 / 注册自愈)
dsh-prompt-optimizer 0.6.0-beta.10(实验性 beta · 界面热修)
⚠️ 这是 beta,不是"已验证更有效"的版本。
- 内部自洽有证据:beta.9 那棵树跑过 543 项测试 / 214 个变异守卫(全绿) + 打包自足 + 文档门禁。
- 效果没有证据:留出评估只跑完 S1,没有任何可信判据显示它比"无插件"更好。
请把它当成"可以装、可以试、随时可关"的东西,不是"升级"。- beta.10 是界面热修,未重跑全量门禁(用户明确要求跳过非必要测试),
所以上面那组数字不覆盖本版的改动。- 默认不启用:装配期启用闸门保守取
off;启用意图写在<home>/po06.json,
不会碰 0.5.x 的prompt-optimizer.json。
本版修了什么
| 问题 | 处置 |
|---|---|
| 重启后完全没有 UI | 真因:宿主 client-modules 把"这个包没有客户端"缓存成永久结论(pkgMeta = null,且永不复核)。插件现在在 apply 时自查并刷新自己那一条注册缓存 —— 热更新/热重载后不再静默失去界面 |
| 模型下拉只有"跟随会话模型",选了没用 | 新增 GET /po06/api/models(读宿主模型目录);保存的选择真的作为解释层路由 |
| 提示词编辑框是空的 | /status 现在带 prompt.text,编辑框显示当前生效正文(本机实测 1708 字) |
| 改错提示词退不回去 | 新增"撤销上次修改",与"恢复内置"并存 |
装法(30 秒,别装进你每天在用的 profile)
dsh --profile po06beta --from-default-profile web --dump-config
dsh plugin --profile po06beta add <path>\dsh-external-dsh-po06-0.6.0-beta.10.tgz
node <repo>\po06\scripts\check-install.mjs --profile po06beta --expect-version 0.6.0-beta.10启用:把 {"settingsVersion":1,"enabled":true,"rollout":{"mode":"all"}} 写进 <home>\po06.json。
关掉:删掉该文件,或把 enabled 改成 false。
卸掉:dsh plugin --profile po06beta remove @dsh-external/dsh-po06。
界面上能控制什么
输入框旁会出现 0.6 指示器,点开浮层:
- 辅助:只记录、不补充 / 自动辅助(
off= 不解释不投递,省一次模型调用) - 补充程度:最少 / 标准 / 尽量补全 ⇒ 意图包预算 700 / 1200 / 2000 字
- 自主预算:只做必要的 / 标准 / 更多 ⇒ 一批最多问 1 / 2 / 3 个问题
- 解释层模型:下拉来自宿主模型目录,默认"跟随会话模型"
- 提示词:看当前生效正文 / 保存 / 撤销上次修改 / 恢复内置
- 以及 意图条目与出处(你说过 / 机器补充)、最近几轮的台账(成没成、包多大、耗时、哪个模型)
已知限制(不要读成更多)
- 条目级 / 包级历史回退仍未实现(
POST /po06/api/rollback的item/packet返回 501)。
现在可用的"回退"只有三种:辅助→"只记录、不补充"、恢复内置提示词、撤销上次提示词修改。 - 模型下拉需要宿主提供
webServer与模型目录(webprofile 有;headless没有这一层)。 - 未验证:长期真实使用表现、效果对照(S4 未跑)、灰度 allowlist 路径未在真机走过。
产物
dsh-external-dsh-po06-0.6.0-beta.10.tgz- sha256
dc3ab3ce33a8c3d18f9dcbab5e060f9170709f3d65470addae15410688c49e3e - 36 个文件 / 153.5 KB;装出来的
lib/与仓库逐文件一致(31/31) - 证据:
EVIDENCE.md的 EV-0144 / EV-0145 / EV-0146;发布清单:po06/RELEASE-CHECKLIST.mdF 段;
热修说明:po06/UI-HOTFIX.md
0.6.0-beta.26 · 思维层可滚动(不显滚动条)+ 轮次之间不再互相污染
0.6.0-beta.26(dev/0.6 线)——每轮独立产生目标,不遗传。
用户原话:"我在面板里给这些目标打钩、判定什么的,都是作用于下一轮,何这一轮影响不大了。
因此这并不实用。所以,暂时我们还是每次优化,都自动根据上下文还有原提示词,独立产生目标吧,
而不是遗传目标。"
改了什么(宿主侧,一条规则)
advance_turn(每轮开始、解释之前跑)从"只退役 scope:'turn' 的条目"改成
上一轮的条目与待问问题整体退场:active ⇒ stale(staleReason:'turn-advanced'),
不删除、面板里留档可追溯。于是:
- 本轮的包 = 本轮解释层新产出的目标(依据 = 本轮原话 + 本轮读入的会话上下文);
- 上一轮的条目不会再出现在本轮的包里 —— 你在坦克会话看到的那类"莫名其妙的遗留"从机制上没有了;
- 面板里那个「条目与结案」不再需要(保留着,当手动覆盖用;旧账也会在下一轮自动退场)。
配套:所有条目与问题现在都记 turnId(不再只给 turn 级条目记);解释层提示词改口径
(明确"轮次之间不遗传、不要写'延续上一轮'、包必须自足")。
代价(必须说清,这是取舍不是白拿)
长期约束不再自动跨轮。像"只交单个 HTML 文件""不要读其他文件夹"这类长期有效的约束,
从今往后要靠解释层每轮从上下文重新得出;如果某条约束在本轮的上下文窗口里已经看不到,
它这一轮就不会进包(工作 AI 自己仍看得到完整对话,但注入的包不带它)。
原先那条测试 H-15 任务级约束跨 3 轮仍然 active 因此按新契约反转(断言它退场),
并在测试里写明了这条反转的理由与代价。
验证
- 新守卫
test/no-inherit.test.mjs4/4:推进轮次后上一轮整体退场 / 本轮自带条目正常 active /
编译出的包只含本轮条目(反面断言"上一轮那条不在包里")/ 待问问题同样不跨轮。 - 全量:45 套 · 44 通过。为契约变更更新了 4 个套件里的 10 处断言
(carryover / longtask / holdout-longtask / pipeline),每处都写了反转理由,没有放宽检查。 - 唯一未通过:
wire.test.mjs的 2 条早已过时的断言(EV-0143 断言 system 完全等于覆盖文件,
但 0.6 会在其后追加会话上下文;EV-0131 静态自检的判空写法对不上)。先记着,未修。
未验(如实登记,不假装)
改动是宿主侧(client bundle 字节未变 ⇒ rev 仍是 f091a539283c,不需要为这一版再重载页面,
但上一版的「条目与结案」需要一次重载才看得到);
"每轮独立产目标"的真机效果仍待复验;check-release 的 4 项阻断(含上面 wire 那 2 条)未清。
本版没有任何"效果更好"的证据。
0.6.0-beta.25 · 思维层可滚动(不显滚动条)+ 轮次之间不再互相污染
0.6.0-beta.25(dev/0.6 线)——A 案落地:面板里逐条「已解决」,旧账由你手动点掉。
发布它的唯一理由是让装机件与产物一致:beta.24 的产物早于这一批改动。
你要的那个按钮
浮层产出层与详情面板里各有一处「条目与结案」:
列出这个会话里仍在包里的每一条(kind + 正文),每条两个按钮 ——「已解决」「不需要」。
点一下:
- 该条立刻退出注入的包(宿主当场重编译并写回,不需要等下一轮);
- 条目不删除(状态里留档、可追溯,顶部会显示"已结案 M 条");
- 只许退不许复活(想改回 active 会被拒)——这是"不许凭空把用户的要求划掉"的底线。
命令行等价物:GET /po06/api/items?session=<id>、POST /po06/api/item-status。
为什么之前"三轮下来一条也没销掉"(真因,读台账得出)
坦克会话第三轮:模型确实发了 11 条 set_item_status,但引文是它自己的转述
("两个问题都修好了")——既不在你的原话里,也不在本轮读入的上下文里 ⇒ 被我的证据判据
逐条丢弃(台账 parse+dropped(11)),于是 39 条里 38 条仍是 active,第三轮的包照样带着前两轮。
现在依据面放宽到宿主自己存档过的条目正文(记 evidence:'state'),
三处都对不上仍然丢弃并记账。
顺手修掉两个我自己造成的缺陷(都写在注释里)
① 手动结案写回时没算预算:轮次路径的 packetBudget 是每轮开头才写的,热重载后是 undefined
⇒ 第一次实测把 15042 字的包写进了动态上下文。现在现算策略预算。
② 档位「关闭」时不该注入(injectPacket = assist !== 'off')⇒ 关闭档下结案现在是把包清掉。
端到端实测(真机 3080,只在本会话上做)
287 条 active → 结一条 → {ok:true}、该条 superseded、active 少 1;关闭档下 chars:0(不注入)。PASS。
守卫:provenance-ref 13/13(引用已存档条目 ⇒ 销账落地;转述对不上 ⇒ 仍被丢);
client-file / control-api / interpreter / pipeline / provenance 全绿。
未做(如实登记,不假装)
- 自动过期(未处理项转过 N 轮自动退场)与**"要求类只活一轮"都没有做**——你选的是 A。
- 编译器预算仍是软约束:"必保节"可以超预算(287 条时包长 15042 字)。这是设计取舍,
与"绝不悄悄丢掉用户的要求"相冲突,留待你决定要不要加硬上限。 check-release仍 FAIL(4 项阻断):wire 两条过时断言 +verifier-html.test与变异检验
输出无法解析 + 文档数字与产物不一致。生成记录已如实入库。- 本轮修复的真机效果仍待复验。本版没有任何"效果更好"的证据。
0.6.0-beta.24 · 思维层可滚动(不显滚动条)+ 轮次之间不再互相污染
0.6.0-beta.24(dev/0.6 线)——两条真机反馈的修复;发布它是为了让装机件与产物一致
(beta.23 的产物早于这两处改动,留着就又是"看着对、其实是别的")。
① 思维层恢复可滚动(仍然不显示滚动条)
用户原话:"现在思维层的内容无法滚动了"。
上一版按"去掉右侧那根滚轮"把 overflow 直接改成 hidden —— 把滚动能力一起拿掉了,这是我的错。
现在:固定高度的窗口照旧(不自动扩大),但可以滚动;滚动条外观用 scrollbar-width:none +
一条注入的 [data-po06="intercept-think-body"]::-webkit-scrollbar{width:0} 规则隐藏(卸载即摘)。
ThinkBody 改粘底:默认跟着最新一行走,用户一往上滚就立刻停手,不再把他拽回底部。
② 轮次之间不再互相污染(解释层现在能"销账")
用户原话:"第二轮的优化提示词居然还会带上第一轮早已解决的问题……还受到上轮优化的影响"。
真因:解释层此前只能加、不能销 —— 意图状态只增不减,旧条目一直是 active,
于是每一轮编译都把它们重新写进包,第二轮自然带着第一轮的内容。两把锁:
- 销账:放行
set_item_status,但只许退不许复活(superseded/retracted/stale;
退成active/pending一律丢弃并记账),并且必须有逐字依据(引文逐字来自用户本轮原话或
本轮读入的上下文)——没有依据就当成"凭空把用户的要求划掉",只丢这一条并记dropped。
编译只收status==='active'的条目,所以一退就立刻不再进包。 - turn 作用域:提示词新增规则——只针对本轮这一件事的要求带
"scope":"turn",
下一轮由advance_turn自动退役(机制一直都有,此前从没告诉过模型用)。
守卫
test/provenance-ref.test.mjs 7 → 11(销账落地且引文不外传 / 缺依据只丢这一条 / 不许复活 /
scope:'turn' 透传);interpreter.test.mjs 的旧契约"解释器不得使用未授权 op(如 set_item_status)"
按新契约改成更强的两条(其它 op 仍必须拒;销账无依据或想复活都必须丢)。
本轮全绿:interpreter 19 · pipeline 19 · reducer 18 · compiler 16 · client-file 15 · control-api 16 ·
intercept-timing 8 · tool-note 3 · provenance 4 · provenance-ref 11。
产物
见下方附件(tgz + SHA256SUMS);verify-artifact 与 tag 逐字节核对。
未验(如实登记,不假装)
这两条都是用户真机现象,修完仍待用户复验;"销账"依赖模型按新规则产出带依据的
set_item_status,它是否稳定会在产出层与台账 dropped 上看得见。
全量门禁里的 check-release 仍有 4 项阻断(wire 两条过时断言 + verifier-html.test 与
变异检验输出无法解析 + 文档数字与产物不一致),已如实登记在 po06/RELEASE-CHECKLIST.md。
本版没有任何"效果更好"的证据。
0.6.0-beta.23 · 只读工具失败的真正原因(来源引用归一 + machine 标记)+ 界面与 0.5 对齐
0.6.0-beta.23(dev/0.6 线;tag 落在提交 e564e5f4fec5e3cbc1c9790e9b5ef4b1315c805f,已用 check-tag-target 复核落点)
在 beta.22 的界面工作之上,修掉「开着只读工具就必失败」那一类问题的两条真因。
缺陷一:一条写坏的来源引用能弄死整轮
开着「只读工具」时模型会写 kind:'tool' / kind:'file',可 toolCallId / uri 只有宿主才有
⇒ schema 判 BAD_SCHEMA ⇒ 整份补丁作废、其它合法条目陪葬 ⇒ 界面只剩 no-packet。
现在宿主只补自己确实能机械核对的事实,补不了的逐条丢弃并记账(dropped,不静默):
- 引文逐字来自用户这条原话 ⇒ 补上这一轮真实的
human.messageId; - 引文逐字来自本轮读入的上下文 ⇒ 如实改记
kind:'model'(模型从给定材料推导); - 两者都不成立 ⇒ 只丢这一条,其余条目照常落地。
缺陷二:provenance:'machine' 从未生效(顺序缺陷)
quoteSource 是 validateProvenance 在里面写下的,而构造条目时就读了它 —— 那时它还不存在。
后果:从读入材料里推出来的条目会看起来像"你说过的"。现在在 provenance 之后统一补标,
测试里另有反向回锚(来自原话的条目不许被标 machine)。
可诊断性
台账 trace 原来 s.error || s.code || s.reason 吞掉 reason ⇒ 只看到 dryRun:fail(BAD_SCHEMA)(分类),
看不到哪个字段不合法;interpretHead 又正好在 200 字处截断。现在两者都留全(reason 200 字、head 4000 字),
并附 +dropped(N)。
本次同时包含(beta.22 的内容)
界面与 0.5 对齐(档位 关闭/轻度/标准/重度 · 两行控件栏 · ? 用户手册 · 浮层分思维层/产出层)·
思维层固定范围 + 无滚动条 + 正文不截断 · token 用 provider 真实上报的 入/出/缓存(过千记 k/M,缺则 —,不估算)·
解释层标识符笔误 TOOL_SYSTEM_NOTE is not defined 已修(它在 29 ms 内抛错 ⇒ 既看不到思维也无产出)。
产物与复核
dsh-external-dsh-po06-0.6.0-beta.23.tgz(237,588 B)- sha256
66cd2b4caceeff4b50e128b4769f7ad80fe7b2eb2596f64ee0ff5c9ac8bd253d verify-artifact --tag v0.6.0-beta.23⇒ PASS(与 tag 逐字节一致)
未验(如实登记,不假装)
全量测试、变异检验、check-release、真机 + 真模型端到端未重跑;人工验收 po06/HUMAN-TEST.md 仍待执行;
「只读工具开启下的真机整链」仍待用户复验。本版没有任何"效果更好"的证据。
0.6.0-beta.22 · 界面与 0.5 对齐 + 思维层固定窗 + token 真实用量 + 只读工具修复
0.6.0-beta.22(dev/0.6 线;tag 落在提交 e793562f612ce1f9a9c2e26e3b9acd0033c9a2e0,已用 check-tag-target 复核落点)
这一版把"操控面"拉回 0.5 的手感,并修掉只读工具那条必现故障。
界面(用户 2026-09-21 逐条要求)
- 档位:
关闭 / 轻度 / 标准 / 重度(措辞与 0.5 对齐)。 - 控件栏分两层(不再堆成一条直线);新增
?用户手册(面向前者的新手教程,不是工程文档)。 - 拦截浮层照 0.5 分两层:思维层(它在写什么)+ 产出层(这一轮注入的包)。
- 思维层:固定显示范围(
min(220px,34vh))、去掉右侧滚动条、不随内容自动扩大;
正文一律不截断(用户:"思维链内容不要做任何节省/截断"),窗口只裁剪显示、自动跟到最新一行。 - token 计数:只认 provider 真实上报的用量,区分 入 / 出 / 缓存;过千记
k、过百万记M;
有只读工具的多轮调用逐轮累加;拿不到字段就显示—,从不按字数估算。
缺陷修复
- 「只读工具:开」必报
no-packet:真因是解释层里一处标识符笔误
(TOOL_SYSTEM_NOTE is not defined⇒ 正确名TOOL_NOTE),解释根本没跑起来就在 29 ms 内抛错,
于是「看不到思维 + 没有产出」同时出现。已修,并加守卫test/tool-note.test.mjs。 - 注入正文不再带来源标注(
(来源:model)这类只在界面/状态里留给你确认,不写进给工作 AI 的提示词)。 - 审查档失败绝不自动发送;「取消」保留你输入框里的原话、不再留草稿弹窗;「跳过」后不回弹结果。
产物与复核
dsh-external-dsh-po06-0.6.0-beta.22.tgz(234,770 B)- sha256
319276c455955adb6cf1fca1fcf79a37461e7e88a1dee15c51567f0a202d138c verify-artifact --tag v0.6.0-beta.22⇒ PASS(与 tag 逐字节一致)
未验(如实登记,不假装)
全量测试、变异检验、check-release、真机 + 真模型端到端未重跑;
人工验收 po06/HUMAN-TEST.md(一遍跑完)仍待执行。本版没有任何"效果更好"的证据。
0.6.0-beta.19 · 前置拦截(同轮生效)+ 0.5 浮层 + ? 用户手册
0.6.0-beta.19(dev/0.6 线;tag 落在提交 1136a1e,已用 check-tag-target 复核落点)
本轮交付:
- P11 前置拦截(用户要的"第一轮发、第一轮就回"):网页输入框里按发送/回车会先被拦下,解释完再把你的原话发出去 ⇒ 包在这一轮第一个模型调用之前就写好;「优化中」有已用秒数与「跳过并直接发送」,不设超时;「审查」权限下正文可直接编辑,点「确认提交」才发;解析失败一律 fail-open 按原文发出并说明原因。整数链人工验收步骤见
po06/HUMAN-TEST.md。 - 拦截界面 = 整块移植 0.5 浮层:可拖动头部 / 常驻底栏 / 右下缩放柄 / 关闭收成 46px 悬浮球 / 状态行 / 审查 textarea / 原文折叠 / 内联错误行 / 底栏五变体(‹回退·确认提交·重新生成 / 跳过并直接发送 / 已发送·仅供查看 / 重试·按原文发出)。0.5 的首字 ms、Σ tok、"成了-要返工"故意不搬(0.6 没有 run id 与那些计数器,不编数字)。
- 「?」= 给用户看的新手手册(6 节 / 1503 字,无工程细节):怎么用、三个开关怎么选、推荐组合、常见疑问。正文来自包里的
HELP-0.6.md,客户端不内置副本。 - 上下文切到「全文」时滑块只有关 / 开两格(底层仍存回合数,切回「回合」不丢量程)。
- 行尾按钮改「详情」+ 保留灰绿状态灯;详情面板只留「控制 / 解释层提示词」(「它在替我做什么」「最近几轮」按用户要求撤掉;"无出处条目"的警告挪进审查面板)。
- 修三处真缺陷:① 拦截路径缺 messageId(真机台账
threw:recordUserInput: messageId required)导致"拦不住、面板闪一下就没";② fail-open 的原因被吞(现在原因跟着最终态一起显示);③ 同一次发送同时命中 Enter+click 时拦截计数翻倍。 - 修 beta.18 的打包缺陷:该版本的 tgz 漏了
HELP-0.6.md(fresh install 点 ? 只会看到"帮助读不到")——本版已包含(package/HELP-0.6.md)。
产物与复核:
- dsh-external-dsh-po06-0.6.0-beta.19.tgz(217,924 B)
- sha256 9739a5d2146581025a11d7b7cf50bf728630d3675f90520f23fc91e6789a3354
- node po06/scripts/verify-artifact.mjs --tag v0.6.0-beta.19 ⇒ PASS(39 成员 / 33 lib,与 tag 逐字节 0 处不同)
未验(如实登记):拦截整链的真机验收尚未完成(按用户 2026-09-21 要求:减少自测、由用户一次性人工验收,见 po06/HUMAN-TEST.md);全量测试、变异检验、check-release、真机 + 真模型端到端均未跑。
0.6.0-beta.18 · 控件栏两层化 + ? 帮助(真机验过)
⚠ 本版本的安装包有缺陷,请改用 v0.6.0-beta.19:
dsh-external-dsh-po06-0.6.0-beta.18.tgz里漏了HELP-0.6.md(files白名单被回退掉了),
所以新装这个版本后点界面上的?会显示"帮助文件读不到"。beta.19 已包含该文件。
(工作副本里手动放过HELP-0.6.md的实例不受影响。)
0.6.0-beta.18(dev/0.6 线;tag 落在提交 ba424e7,已用 check-tag-target 复核落点)。
本轮交付(都在真机验过):
- 要求① 控件栏两层化:真机 DOM 量到 bar 489x50 @y=419、bar-row-1 y=419、bar-row-2 y=445、stacked=true——不再被输入区的"发送"按钮顶上去。
- 要求② 「?」帮助:点击真机 help-btn 弹出 11 节、2132 字、无实现者注记;正文来自包里的 HELP-0.6.md(GET /po06/api/help = source:file / 2632 字),客户端不内置副本;HELP-0.6.md 已加进 files 白名单(此前装出来会读不到)。
产物与复核:
- dsh-external-dsh-po06-0.6.0-beta.18.tgz(192,912 B)
- sha256 478b3309ed9aea2b40c102b85c9ea1297ca1e2260a8d0e1ab29ac3fef8b77751
- node po06/scripts/verify-artifact.mjs --tag v0.6.0-beta.18 --tgz ⇒ PASS(38 成员 / 33 lib,与 tag 内容 0 处不同)
未验(如实登记):全量测试、变异检验、check-release、真机 + 真模型端到端;beta.11–beta.17 未单发 Release(装机迭代)。
代价与未做项:见 po06/RELEASE-CHECKLIST.md G 段(含"每轮 +21–57 s"的前置拦截代价、以及尚未实现的客户端拦截)。
dsh-prompt-optimizer 0.6.0-beta.16 · 操作面对齐 0.5 + 运行情况可见
0.6.0-beta.16 · 操作面对齐 0.5 + 让"它这一轮做了什么"看得见
⚠️ 实验性 beta:内部自洽有证据(装机 33/33 逐字节一致、真机渲染与接口往返均已实测);
效果没有证据——留出评估只跑完 S1,没有任何可信判据显示它比"无插件"更好。默认不启用。
相对 beta.14 的增量
- "最近几轮"每一轮下面多一行:意图包在不在预算内(超了多少)、上下文读了多少字/几回合、
有没有派工具(没派会写原因,例如setting-not-true)、有没有从工具路径回落。
缺值显示"未记录"——不拿 0 冒充"没发生"。 /turns透出 12 个归因字段(packetOverBudget/OverBy/Budget、historyChars/TurnsRead/Available、
toolsEnabled/Reason/Rounds/Calls/Fallback、interpretVia);台账新增意图包预算归因。- 真机实测(你正在用的实例):
histChars=7066、histTurnsRead=4、toolsEnabled=false、via=plain
⇒ 上下文确实被注入(此前因政策层漏传字段恒为 0,已修);关掉"读项目文件"时确实不派工具。 - README 的"控制界面"一节改为与产品一致(此前还在描述 beta.10 的三档下拉)。
已验证 / 未验证(都写清)
已验证:装机 33/33 lib 逐字节一致;热重载 client ✓;真机 DOM 渲染(16 个 data-po06 标记、
值与后端一致、几何 690×52);档位→三项设置的真机接口往返(heavy⇒auto/detailed/generous、
off⇒off/standard/standard,写盘有备份,无写头 POST 被 403 拒);客户端守卫测试 13/13。
未验证:浏览器里"点一下→真的发出那次 POST";浮层 turn-facts 那一行的渲染;
浮层尚未按 0.5 形态重排;全量测试 / 变异检验 / check-release 未跑;
真机 + 真模型端到端完全没验(模型是否真去调工具、上下文是否真改善产出)。
条目级/包级历史回退仍未实现(返回 501)。
装法
dsh --profile po06beta --from-default-profile web --dump-config
dsh plugin --profile po06beta add <path>\dsh-external-dsh-po06-0.6.0-beta.16.tgz启用:{"settingsVersion":1,"enabled":true,"rollout":{"mode":"all"}} 写进 <home>\po06.json。
已知取舍
- 读项目文件默认关(0.5 默认开):工具轮次要花时间与 token,不悄悄放大成本。
- 工具轮次 3 轮 / 60 秒(0.5 是 5 / 90 秒)。
- 档位承诺的包预算(700/1200/2000)只约束可省略章节;你的要求(必保节)永不丢,超了会在注入文本里明说。
证据:EVIDENCE.md EV-0148/0149;清单:po06/RELEASE-CHECKLIST.md G 段;计划与规格:po06/P10-UI-ALIGN-PLAN.md、po06/P10-0.5-UI-SPEC.md。