Skip to content

DSHEssentialTools v2.14.0 — warm startup, web reconnect grace

Choose a tag to compare

@LLYlab LLYlab released this 26 Oct 06:22
· 1 commit to main since this release

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-adu 157 → 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