DeepSeek Harness 插件:sleetdrop/dsh-plugin-topology

在开发基于 DeepSeek Harness (DSH) 的智能体应用时,插件间的依赖关系往往隐藏在运行时调用中。当服务调用链路变得复杂,或者出现未预期的循环依赖时,排查问题会变得非常困难。下面介绍一个能够实时检查这些依赖关系的工具。

这是什么

sleetdrop/dsh-plugin-topology 是 DeepSeek Harness 的插件依赖关系检查器。它将实时的 Cordis 插件 fiber 树快照为一个插件/服务二部图,计算图论指标,并以多种格式渲染。该插件维护者独立于 DeepSeek 官方,但遵循 MIT 许可证。

安装

使用官方安装命令将插件添加到指定 profile:

dsh plugin --profile <name> add @sleetdrop/dsh-plugin-topology

核心功能

该插件包含三个主要部分:

  1. 快照与指标:快照实时的 Cordis 插件 fiber 树,并计算图论指标,包括入度/出度、度中心性、介数中心性、特征向量中心性以及 PageRank。
  2. 导出能力:支持将依赖关系导出为 JSON(兼容 NetworkX)、Graphviz DOT 或 SVG 格式。
  3. 浏览器面板:提供可视化的浏览器面板,渲染可缩放图,包含指标、图例和未解决依赖表。

使用方法

打开浏览器面板

浏览器面板通过 sidebar.footer.action 触发,无需选中特定会话即可查看运行时全局拓扑。面板默认最大化显示。

导出与序列化

在模型侧,使用 graph.render 工具将当前运行实例的插件依赖关系序列化为文档:
* json:生成 NetworkX 兼容的节点链接图,节点携带图论指标,图对象携带全局指标(密度、强连通分量等)。
* dot / svg:生成 Graphviz 源码或渲染后的 SVG,用于分享或使用外部工具分析。

交互操作

  • 查看详情:鼠标悬停在节点上,可查看 fiber 状态、模块源代码和绘制的入/出度。
  • 方向高亮:使用 deg+ 或 deg- 胶囊切换按钮,可以高亮特定方向的依赖边和目标节点,其余部分会淡化。该功能在依赖度为 0 时禁用。

注意事项

  1. 版本独立:该插件拥有独立的语义版本(当前为 0.5.0),不镜像 DeepSeek Harness 的版本。当前版本目标为 DSH 0.2.0-rc.2。
  2. 内部依赖:插件需要访问 Cordis 内部结构(如 root.registry、root.reflect.store),这些不在稳定公共 API 中。使用前需确保 Harness 版本满足 peerDependencies 要求。
  3. 同名实例:在显示图中,同名插件实例会合并为一个节点,但节点标签会显示实例创建序号(如 timer [1,9,23])。在 JSON 和 DOT 导出中,实例保持唯一。
  4. 浏览器面板要求:浏览器面板需要 web profile 支持,且 --patch 覆盖仅作用于节点侧。

总结

dsh-plugin-topology 提供了从宏观拓扑到微观 fiber 状态的完整视图,适合在调试复杂依赖关系时使用。

  • GitHub: https://github.com/sleetdrop/dsh-plugin-topology
  • 目录: https://www.skillhub.cn/plugins/sleetdrop/dsh-plugin-topology
羽毛球分组比赛记分
小程序二维码

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

小夜