cordis-plugin-graph:运行时 Cordis 插件关系图可视化

在 DSH / Cordis Web 应用开发中,插件之间的依赖关系、注入解析结果以及 Loader 树的嵌套结构通常难以直观呈现。静态的包图无法反映运行时的实际状态,而日志往往过于分散。cordis-plugin-graph 通过在设置中新增一个标签页,将运行时的插件网络以 Cytoscape 图的形式实时渲染出来。

这是一个 DSH / Cordis Web 插件。它为运行时的 Cordis 实例提供实时、可缩放的关系图,显示注入、提供者和加载器树。由 cordisplugins 维护。

核心功能

视图平面
支持 Client(渲染上下文)和 Host(引擎上下文)两个平面视图。Client 视图在进程内检查,包含 dsh-client-ui-* 插件、插槽渲染器、连接、主题、区域设置和设置。Host 视图从同源路由轮询(引擎上下文),包含会话、智能体、工具、模型适配器和持久化。在无 web 服务器可达时(打包桌面、无头),会优雅降级为仅 Client 模式。

节点与生命周期
节点代表插件纤程。节点按生命周期阶段(active, pending, loading, failed, unloading, disposed)着色,Loader 行的 disabled 状态也会用颜色标识。节点大小随提供的服务数量缩放,以便直观区分。

连接关系
支持显示三种连接关系,并可单独切换:
* requires (inject):显示注入到该纤程的依赖。
* provides to:显示该纤程提供的依赖。
* nested in (Loader tree):显示 Loader 树的父级关系。

运行时活动
当显示 Host 平面时,会展示工具调用流。工具节点会在每次调用时脉冲跳动,可以直观地看到智能体任务在图中的流转过程。

交互与详情
* 点击节点可查看模块说明符、Loader 条目 ID、提供的服务和实时效果标签。
* 支持通过搜索栏查找插件名称或模块。

安装与启用

使用官方安装命令添加插件:

dsh plugin add cordis-plugin-graph

重启 Host 后,标签页将出现在设置 -> 插件中,位于“Plugin list”旁边。

典型用法

  1. 切换视图:在设置中切换 Client / Host / Both 平面视图,观察不同上下文下的插件分布。
  2. 查看详情:点击任意节点,查看其提供的具体服务和 Loader 信息。
  3. 搜索与过滤:使用搜索框快速定位特定插件或模块。
  4. 监控运行时:在 Host 视图下运行智能体任务,观察工具节点的脉冲跳动,确认工具调用流。

适用场景与注意

  • 部署环境:仅适用于 web 配置文件部署(ACRYL 或 DSH Desktop)。
  • 环境要求:需要 Node.js ^22.19.0 || >=24.0.0,以及 Cordis 4.0.1。
  • 权限与安全:插件在当前 DSH 进程权限下运行。安装前应检查源码与许可证(MIT)。
  • 降级机制:如果当前环境无法访问 web 服务器(如打包后的桌面应用或无头环境),插件会自动降级为仅 Client 模式运行。

该插件通过可视化手段解决了运行时插件结构难以排查的问题,适合在开发调试阶段使用。

GitHub 仓库 | 插件目录

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

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

小夜