前言¶
在 DSH 插件生態中,工作流如果只在引擎內部執行,開發者往往看不到節點、邊、分支和失敗點。asakumizy/dsh-graph-monitor 解決的是這個問題:它把 LangGraph 風格的 GRAPH 工作流定義成可編輯、可運行的對象,並在執行過程中即時點亮節點與邊。
下面介紹它的定位、核心能力、啓用方式和典型用法。
這是什麼¶
dsh-graph-monitor 是一個 DSH(DeepSeek Harness)插件,由 asakumizy 維護,許可證爲 MIT。
它的主要目標是:
- 定義並運行 GRAPH 工作流;
- 在工作流執行時即時展示節點與邊狀態;
- 讓開發者能在對話、頁籤和設置編輯器中查看、編輯和運行工作流。
資料中出現的名稱形式包括倉庫名 asakumizy/dsh-graph-monitor 和 package.json 中的 name 值 graph-monitor。
核心能力¶
GRAPH 可視化¶
插件提供 GRAPH 可視化能力:
- 分層拓撲圖:
START → 節點 → END; - SVG 渲染;
- 展示拓撲與引擎實際執行拓撲保持一致。
這有助於在運行前確認工作流結構,在運行中觀察執行路徑。
即時節點與邊狀態¶
執行過程中,插件用顏色和動畫區分狀態:
- 當前節點:紫色脈動;
- 完成節點:綠色;
- 失敗節點:紅色;
- 行進邊:琥珀色高亮。
這些狀態幫助開發者快速判斷流程走到哪裏、哪個節點失敗。
自定義 workflow¶
插件支持通過設置編輯器編輯 workflow JSON,包括:
- 節點;
- 邊;
- 條件路由;
fn處理器。
編輯後可以校驗,並保存到:
~/.dsh/graph-monitor/workflows/*.json
保存後的 workflow 可用於後續運行和查看。
點擊節點查看執行詳情¶
點擊節點後,可以查看:
- 狀態;
- 耗時;
- 輸入;
- 輸出;
- 錯誤。
對於調試失敗節點,這一部分比只看最終輸出更直接。
對話集成¶
插件支持對話集成:
/workflow
/workflow <workflow-id> <輸入…>
其中:
/workflow:列出現有工作流;/workflow <workflow-id> <輸入…>:運行指定工作流,並即時展示卡片。
插件還提供 graph_monitor_run 工具,可在對話中觸發工作流運行。
運行歷史¶
插件支持運行歷史回看,並查看最終輸出。適合對比多次運行結果。
執行後端¶
插件支持兩種 nodeExecutor 執行後端:
simulated
real
simulated 爲默認後端,使用固定延遲和模板輸出。
real 模式綁定 DSH 真實能力;如果所需能力缺失,會自動回退到模擬模式。
控制流原語¶
資料列出以下控制流原語:
gate
switch
subgraph
loop
retry
timeout
這些原語用於定義條件分支、子圖、循環、重試和超時等工作流控制結構。
模型驅動編排¶
資料說明,工作流可以通過 emitOps 生成圖編輯指令。支持的操作包括:
addNode
addEdge
rewire
setEntry
skip
這表示編排不只是固定路徑,還可以由模型通過結構化指令參與圖結構修改。
內聯謂詞執行說明¶
資料明確:內聯 JavaScript 謂詞經 DSH codeRuntime 執行,並且明確“絕不 eval”。
安裝與啓用¶
資料未提供官方單一插件安裝命令。下面按資料給出的兩種方式描述啓用流程。
依賴¶
插件依賴:
Node.js >= 18 (ESM)
並且聲明瞭以下 peerDependencies:
@deepseek-ai/cordis ^4.0.1
@deepseek-ai/dsh-home-paths ^0.1.0-rc.6
@deepseek-ai/dsh-session ^0.1.0-rc.6
方式一:手動布放 desktop profile¶
先確認插件已布放到 desktop profile 的插件目錄,資料中的目標目錄爲:
~/.dsh/profiles/desktop/node_modules/graph-monitor
然後在 desktop profile 的 cordis.patch.yml 中登記該插件。資料示例使用 insert 列表追加條目:
- id: graph-monitor
name: 'graph-monitor'
config:
nodeExecutor: real
其中 nodeExecutor 可選:
simulated
real
simulated 爲默認後端,適合觀察流程動畫;real 模式會綁定 DSH 真實能力,能力缺失時自動回退模擬。
方式二:bundle 引用¶
另一種方式是在 profile 的 package.json 中把 graph-monitor 加入 bundle 列表。資料示例爲:
"dsh": { "profile": { "bundles": ["graph-monitor"] } }
這種方式依賴共享層中已經存在 graph-monitor。
重啓與新建會話¶
安裝完成後必須重啓 DSH Desktop。
舊會話的工具面在會話創建時已經固化,因此需要新建會話後,新工具面纔會生效。
典型用法¶
1. 列出工作流¶
在聊天輸入框輸入:
/workflow
這會列出現有可用工作流。
2. 運行指定工作流¶
在聊天輸入框輸入:
/workflow text-pipeline hello world
這會運行 text-pipeline 工作流,並以即時卡片形式展示節點與邊狀態。
3. 在 Graph Monitor 頁籤運行¶
在任意會話右側切到 Graph Monitor 頁籤後,可以:
- 選擇 workflow;
- 填寫輸入;
- 運行;
- 點擊節點查看狀態、耗時、輸入、輸出和錯誤;
- 查看運行歷史和最終輸出。
4. 在設置中編輯 workflow¶
進入:
設置 → Graph Monitor
然後可以:
- 新建或編輯 workflow JSON;
- 編輯節點、邊、條件路由和
fn處理器; - 校驗;
- 保存。
保存路徑爲:
~/.dsh/graph-monitor/workflows/*.json
適用場景與注意¶
適合以下使用場景:
- 需要觀察 DSH 中 GRAPH 工作流執行過程;
- 需要查看節點輸入、輸出、耗時和錯誤;
- 需要編輯 workflow JSON 並保留運行歷史;
- 需要在對話中通過
/workflow或graph_monitor_run觸發工作流; - 需要比較
simulated與real兩種執行後端的差異。
需要注意:
- 資料未提供可複製的單條官方安裝命令;
- 安裝完成後必須重啓 DSH Desktop;
- 舊會話工具面在會話創建時固化,需新建會話才生效;
real模式會綁定 DSH 真實能力,能力缺失時自動回退模擬;- 內聯 JavaScript 謂詞經 DSH
codeRuntime執行,資料明確“絕不eval”; - 插件以當前 DSH 進程權限運行,安裝前應檢查源碼與許可證。
結尾¶
asakumizy/dsh-graph-monitor 的價值在於把 DSH 中的 GRAPH 工作流從“只能運行”變成“可定義、可運行、可觀察、可編輯”。它適合在 DSH 插件開發中用於工作流調試、狀態觀察和編排試驗。
GitHub:
https://github.com/asakumizy/dsh-graph-monitor