v3.0.0
v3.0.0
模块化重构 + 懒加载 + 实时状态卡片 + 初始化健壮性。遵循官方 DeepSeek Harness 插件规范打包。
新增与改进
- 模块化重构:单文件
lib/index.mjs拆分为config/state/runtime/mcp/adhoc/collect/tools单向依赖模块;node:test单元测试 25 个。 - 懒加载启动:boot 不阻塞 GUI,工具立即注册;环境初始化推迟到首次调用(并发查询共享一次初始化并自动等待就绪)。
- 启用 / 禁用开关:持久化到
credentials.json;禁用时所有 dbhub 工具立即返回「插件已禁用」并释放常驻进程,重开即用。 - 浏览器状态卡片(设置 → 插件 → dsh-dbhub-live):🟢/🟡/🔴 状态徽章、已注册工具数、工作模式(懒加载)、最近错误(红色)、启用/禁用开关;手写 lazy-CJS client bundle,无构建步骤。
- 初始化健壮性:按
$DSH_HOME实例隔离存储;升级/手改遗留配置自动清洗并一次性回写迁移(normalizeStore/normalizeRuntime,未知字段向前兼容);运行目录被删除自动重建;写入被拦截仅告警并继续内存态运行;dbhub.toml写入失败成为可见初始化错误并自动重试;__proto__键防原型污染。 - 打包规范化:
exports(././client/cordis.patch.yml)、dsh.client、peerDependencies、check/test脚本,符合官方插件规范;@deepseek-ai/schemastery弹性依赖(动态 import + 内置最小 schema 兜底),本地目录链路安装不会启动失败。
Bug 修复
- 修复
spawnServer引用未导入的DATA_DIR(禁用→启用时报「启动 dbhub 失败: DATA_DIR is not defined」)。 - 修复无工作区数据源时可能绕过 toml 直接拉起 dbhub 进程的问题(零源早退移到指纹判断之外,空
[[sources]]永不写入)。已同步到AGENTS.md防回归。
数据与兼容
- 数据仍在
$DSH_HOME/storages/dsh-dbhub-live/(v2 遗留的credentials.json/runtime.json在启动时自动规范化迁移,无需手工处理)。 - 现有工作区持久连接与
dbhub_configure流程完全兼容。