前言¶
DeepSeek Harness(DSH)通過插件機制擴展能力。在代碼編輯或智能體開發場景中,讓模型理解項目結構、查找符號定義以及分析調用關係是高頻需求。dsh-tool-codegraph 插件通過包裝開源的 codegraph CLI 工具,將 AST/tree-sitter 代碼索引能力轉化爲 DSH 的 10 個特定工具,供智能體調用。
插件概況¶
- 名稱:dsh-tool-codegraph
- 定位:爲 DeepSeek Harness 提供的 CodeGraph 導航工具集
- 維護者:m1khal3v
- 許可證:MIT
- 類別:客戶端
安裝與前置要求¶
插件依賴 Node.js 環境以及獨立的 codegraph CLI 二進制文件。
- 確保系統已安裝 Node.js,版本需滿足
^22.19 || >=24。 - 確保開源工具
codegraph的二進制文件位於系統PATH環境變量中。
安裝插件:
dsh plugin add --profile web @m1khal3v/dsh-tool-codegraph
安裝後,檢查 CLI 包裝狀態:
codegraph status
核心功能¶
插件提供了 10 個具體的工具,覆蓋代碼索引、搜索、調用分析及影響評估:
- 索引健康與統計:查看索引狀態和統計信息。
- 同步更改:同步自上次索引以來的文件變更。
- 符號搜索:通過名稱查找符號。
- 代碼探索:映射代碼區域,包含原始源碼和調用路徑。
- 調用者查詢:查找調用當前符號的位置(結果不精確)。
- 被調用者查詢:查看當前符號調用了什麼(結果不精確)。
- 影響分析:分析修改符號可能產生的影響範圍。
- 符號詳情:查看單個符號的詳細定義或文件視圖。
- 文件結構:從索引中獲取項目文件結構。
- 受影響測試:查找受變更源文件影響的測試文件。
使用說明¶
初始化索引¶
插件集中沒有提供 init 工具。根據項目建議,索引必須由用戶手動啓動,而非由智能體代理自動啓動。當 codegraph status 報告索引缺失時,需手動執行初始化:
codegraph init
工作流¶
插件自動將使用規則注入到系統提示詞中,建議的工作流順序爲:狀態檢查 → 同步 → 探索 → 定向查詢。
注意事項¶
- 動態分發邊緣:調用者、被調用者和影響分析可能會遺漏動態分發(dynamic dispatch)產生的調用邊。遇到此類情況,應回退到使用
grep進行搜索。 - 索引權限:索引過程應由用戶觸發,避免由智能體代理在無感知的情況下長時間運行。
生態與源碼¶
該插件是 DeepSeek Harness 生態中的一個獨立項目,與 DeepSeek 或幻方官方無從屬關係。所有索引和查詢邏輯由底層的 codegraph CLI 處理。
- GitHub: https://github.com/m1khal3v/dsh-tool-codegraph
- 目錄頁: https://www.skillhub.cn/plugins/m1khal3v/dsh-tool-codegraph