Repository navigation
DSHEssentialTools v2.14.0 — warm startup, web reconnect grace
v2.14.0 — 默认就装(warm)· 浏览器断连自动等一次 · 提示不再每步重注册
三条反馈:「不会自动装载东西」「不会用」「手动装载后 web 频繁失效」。
1) 自动装载:开局就把最常用的四个模块装上(warm)
2.12/2.13 只有"上次装过什么"会恢复,没装过的就一直是空的 —— 新会话/新机器上只有 adu_* 五个
元工具,模型自然"不会用"。现在:
- 新增配置
aduWarm,默认["dlt","alv","browser","web"]:启动时与det.adu.mounted合并后一起装载。
于是写代码(dlt)、看文档(dlt)、看图(alv)、查网页(browser/web)一开局就可用;
只剩最重、最少用的plugins(19 个工具)保持按需。 aduWarm: []回到纯按需;aduWarm: "all"全装。- 面板与
adu_status会显示warm,一眼看清"开局自动装了什么"。
2) web 频繁失效:断连不再立刻判死
扩展是 MV3 service worker,休眠/重启时 socket 掉一下再连回来是常态。旧实现一看到断连就
直接把失败甩给模型(2.10 引入的 fail-fast),观感就是"web 工具频繁失效"。现在:
- 调用前若扩展未连上,先最多等 1.5s(每 300ms 探一次)让 service worker 连回
127.0.0.1:9123; - 若命令中途断连(
browser-disconnected),等 600ms 后重试一次; - 仍然失败时错误文案区分三层:桥(未启动)/ 扩展(未连接)/ 档位(只读、只写、关闭),并给下一步。
detHealth新增「浏览器桥」检查:桥是否运行、扩展是否连接、当前档位、网络权限是否到位。
3) 提示抖动:文本没变就不重注册
_refreshAduPrompt() 原来每次装载/卸载都 dispose + 重注册系统提示段。系统提示每变一次,
宿主可能重开一个请求序列(缓存失效、界面观感抖动)。现在先比对文本,没变就什么都不做。
测试
alv-adu157 → 166:_aduWarmIds默认值 /aduWarm: []/"all"三种形态、
浏览器断连等待与可读错误、detHealth的桥检查、提示缓存守卫。- 全量:128 + 60 + 23 + 47 + 17 + 37 + 22 + 40 + 71 + 10 + 166 = 621 断言全绿。
Install
powershell dsh plugin --profile web add github:LLYlab/DSHEssentialTools