dsh-insight-tree:DSH 运行时可观测性与插件诊断

DSH 的架构基于插件,运行时环境涉及配置、加载状态、会话活动和版本兼容等多个维度。当插件行为异常或启动失败时,排查往往需要查阅多个分散的信息源。dsh-insight-tree 旨在将这些信息合并为一份可解释的报告,并提供可视化的管理界面,帮助开发者完成“发现问题 → 判断影响 → 采取处理”的闭环。

是什么

这是一个面向 DeepSeek Harness(DSH)的运行时可观测与插件诊断面板。它由用户 xingzhen199186 维护,采用 MIT 许可证。该插件将 Profile 配置、实际安装包、Loader 运行状态、会话活动和上游版本信息合并生成一份可解释的报告,并通过插件树、当前会话活动和独立诊断页提供支持。

核心功能

综合报告生成
插件会合并 Profile 配置、实际安装包、Loader 运行状态、会话活动和上游版本信息生成可解释报告。报告基于 InsightTreeReport 模型(当前 schema 为 v3),所有界面均消费这份报告,避免逻辑不一致。

插件管理
它可以处理当前 Profile 中已安装的非核心插件:关闭、重新启用(重载)、更新或卸载。修改前会执行静态配置 dry-run,失败时保留原文件。

独立诊断
提供命令行独立诊断工具。即使 DSH 本体未运行,也可以启动独立诊断页面,读取 Profile、检查插件状态,并执行可用的关闭、重新启用和卸载操作。

启动归因
当 DSH 启动失败时,它会尝试自动归因到非核心插件。这通过包装命令 dsh-insight-tree-web 实现,只有当错误被报告明确归因到非核心插件时,才会自动打开独立诊断页。

兼容性检查
提供版本和依赖的兼容性检查,判断插件与 DSH 本体及配套包的适配情况。

安装与启用

从 npm 安装到 DSH:

dsh plugin --profile web add dsh-insight-tree

安装完成后重启 DSH Web,使 host、client bundle 和 cordis.patch.yml 装配生效:

schtasks /run /tn DSHWebRestart

典型用法

安装成功后,可以通过以下方式使用:

  • 插件树面板:启动 DSH 后,在“设置 → 插件 → 插件树”打开面板,查看插件的结构、能力、依赖、兼容性和 Loader 状态。
  • 本轮活动:在对话页右侧打开“本轮活动”,查看当前对话中实际出现的插件活动。
  • 命令行独立诊断:在命令行中执行:
dsh-insight-tree-diagnose --profile web --port 3092

随后访问 http://127.0.0.1:3092/。

  • 包装命令:使用包装命令启动诊断:
dsh-insight-tree-web --profile web

适用场景与注意

适用场景
- 需要确认 Profile 中实际装配了哪些插件。
- 需要验证 Loader 是否正确加载了插件,以及当前处于什么阶段。
- 需要检查当前插件与 DSH 本体及配套包的兼容性。
- 需要查看本轮会话实际使用了哪些插件能力。
- 需要在 DSH 未运行时,独立检查并处理插件配置。

注意事项
- 它不是插件市场,也不是第三方插件安全审计器。
- HTTP 服务只监听 loopback,支持令牌认证。
- 修改前执行静态配置 dry-run,失败时保留原文件。
- 卸载有被依赖插件时会拒绝执行。
- Loader、session projection 和 session query 的真实可用性取决于 DSH 主机是否提供对应服务。
- 工具事件没有显式 owner 时,只能使用稳定映射或标记为未确认,不能保证精确归因。
- 独立诊断没有 Loader 运行证据,因此不会虚构“当前正在运行”的状态。
- 缺少必要上下文时显示“暂时无法确认”,不把未知误报为“不适配”。

生态与链接

该插件已公开到 GitHub:https://github.com/xingzhen199186/dsh-insight-tree

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜