dsh-dynamic-toolbox v2026.08.18
本次更新聚焦 DSH rc.7 生命周期适配、多工作区可靠性与实时流程图的运行态呈现。工具箱自举、插件管理、会话跟随和 Client Timer 均完成加固,并补齐真实组合冒烟测试。
✨ 亮点
- 零模型调用自举收敛:安装
host-bootstrap后,打开会话即可自动 define + run 工具箱;不再向会话插入额外询问卡,用户同意统一收敛到每进程一次的 Client 批准。 - 多工作区真正隔离:
toolboxRegistry按仓库 root multiplex;宿主 ID 使用 canonical path + 稳定哈希,长路径、不同分隔符和 Windows 大小写不再碰撞。同名插件也会按 owner session/root 严格归属,管理、批量启停、重跑和启停记忆不会串仓库。 - Cordis 生命周期安全:Client 加载桩的 timeout/interval 全部接入 Cordis Timer 服务,插件停止或重跑时自动清理,不再积累浏览器全局定时器。
- 真实 rc.7 组合验证:新增真实 Cordis 内核 + Dynamic Runner + Timer 组合冒烟,覆盖 define、批准、Host-half 启动、自动补齐、RPC 调用与 teardown。
🌊 实时流程图
- 流式助手卡:收到首个
assistant/chunk即出现助手卡,文本与 reasoning 片段实时更新;最终assistant/message在原卡片上落定,避免轮询时重复闪现。 - 实时运行耗时:助手生成与工具调用均显示运行时长,Client 每 250ms 就地刷新,不受 2 秒面板轮询频率限制。
- 中断状态收口:已经产生 chunk、但因失败或取消没有最终 message 的请求,会在
step/end/turn/end后落定为「生成已中断」,停止流光和计时,同时保留已生成片段。 - Agent 状态判定:主会话与子代理的运行徽章优先读取
agents权威状态,避免仅凭日志增长误判仍在运行。 - 动画跨刷新续播:新消息、调用输入和调用输出动画跨
innerHTML轮询保持进度,完成态不会从头重复播放。
🧰 工具箱与 Cordis 面板
- 会话/工作区即时跟随:抽屉跟随当前 Web 会话切换,通过 Host 查询权威 cwd;跨工作区时清空旧面板缓存与请求状态,不再显示上一个仓库的内容。
- 首次打开自愈:面板 RPC 增加超时与有限重试,工具列表晚到时自动补发首次加载,修复永久停在「加载面板…」的窗口期问题。
- 导航入口回归侧边栏:工具箱入口重新注入导航区并由 MutationObserver 自愈;无 DOM 环境保留官方 footer Slot 兜底。
- 隐藏 Host-only Cordis 行:管理页新增「隐藏CordisPlugin」开关,默认隐藏官方 Cordis 面板里的 Host-only 行,但不影响工具箱管理页清单;待审批行始终可见,running 数按面板实际可见行计算。
- 画中画与滚动更稳定:主抽屉仍是唯一状态源,Document PiP 使用 DOM 镜像;自动刷新、详情展开与切换 Tab 时保留滚动位置。
🛠 插件管理修复
- 启停、重跑与批量操作改用每一行真实 owner agent,修复自举插件报
lost on DSH restart。 - 只 define、尚未运行的插件可从最新 Package 正常启动,不再报「没有可运行的 Package」。
- 修改「重启后启动/关闭」后立即失效清单缓存,管理页 pill 与磁盘启停记忆实时一致。
stopFromPanel缺失时只禁用停止路径,插件清单、启动、工具和面板继续可用。- Bootstrap 启动前显式检查
define/run/inventory能力,版本不兼容时给出明确诊断。
📦 兼容性与验证
- 面向 DeepSeek Harness 0.1.0-rc.7 动态 Cordis 契约。
node make-payloads.mjs全量语法与 Payload 构建检查通过。node smoke.mjs:19 个套件全部通过,覆盖 Flow、Client Loader、Bootstrap 能力、停止降级、双仓库隔离及真实 rc.7 组合。
⬆️ 升级方式
已安装自动自举:
git pull
# 重启 DSH;打开任一会话后批准一次,框架会自动补齐全部插件零安装路径:
cordis_define ← plugins/toolbox/payload.json
cordis_run → 批准一次 → 框架自动补齐其余插件
host-bootstrap 是静态插件,本次升级需要重启 DSH;工具箱、Flow 等动态实现仍可通过 Cordis 面板「重跑」从磁盘即时生效。