前言¶
DeepSeek Harness (DSH) 採用插件化架構。在處理複雜代碼庫時,智能體往往需要從問題定位到符號、依賴路徑、架構社區和變更影響的全景視圖,而非僅僅依賴傳統的文件搜索。dsh-graphify 是一個原生插件,它將 Graphify 的本地知識圖譜引擎連接到 DSH,幫助智能體在會話中構建對項目的結構化理解。
插件介紹¶
該插件由 QuantumKuba 維護,歸類於“記憶”類工具。它解決的核心問題是:如何讓 DSH 智能體在不將倉庫視爲非結構化文件堆棧的情況下,獲得當前、本地且結構化的代碼地圖。
核心功能¶
該插件提供以下核心能力:
- 會話感知的項目解析:圖請求自動跟隨當前 DSH 會話的工作區,默認阻止對工作區外的訪問。
- 新鮮度檢查:通過
graphify_status命令檢查圖譜是否與源碼索引狀態匹配,識別過期圖譜。 - 安全更新策略:支持增量更新與全量構建。增量更新僅針對代碼提取,若檢測到不支持的變更(如文檔或配置),會保持圖譜標記爲過期並請求全量構建。
- DSH 原生操作:通過
/graphify命令構建或刷新當前會話的項目圖譜。 - 本地運行時韌性:插件能自動發現 Graphify 運行時,並在進程意外退出後嘗試重連。
- 雙模式工具集:
- Compact 模式:爲小模型(如 20B–30B)提供 6 個高頻工具(狀態、圖查詢、節點檢查、鄰居、最短路徑、會話資源)。
- Full 模式:暴露完整能力,包括社區分析、神節點識別和 PR 影響分析。
- 圖查詢工具:支持節點查詢、路徑查找、社區識別以及 PR 影響分析。
安裝與配置¶
在使用前,請確保環境已安裝必要的依賴:Node.js 22.18+、Python 3.10+ 以及 uv。
- 安裝插件:
使用官方命令將插件添加到指定的 DSH Profile:
dsh plugin --profile <profile> add dsh-graphify
- 配置模式:
默認使用full模式。如需爲小模型配置compact模式,可在配置中指定:
- insert:
- id: dsh-graphify
name: dsh-graphify
config:
toolMode: compact
典型用法¶
安裝並啓動 DSH 後,進入目標代碼庫目錄,即可使用以下命令:
- 構建/刷新圖譜:
在對話中直接輸入:
/graphify
這將執行全量構建,結果寫入 `graphify-out/graph.json`。
- 更新變更:
僅更新發生變化的代碼文件:
/graphify update
注意:此命令保守,僅提取代碼變更,不覆蓋文檔或配置文件的變更。
- 診斷狀態:
檢查運行時可用性、項目路徑和圖譜新鮮度:
graphify_status
注意事項¶
- 操作系統支持:該插件在 macOS 和 Ubuntu 上經過測試,Windows 平臺尚未驗證。
- 輸出路徑:生成的圖譜文件默認寫入
graphify-out/graph目錄。 - 更新限制:
/graphify update僅處理代碼文件的提取。若修改了 Markdown 文檔、包元數據或配置文件,必須運行/graphify進行全量構建,因爲這些變更不會包含在增量更新中。