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 倉庫 | 插件目錄

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

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

小夜