DeepSeek Harness (DSH) 的核心在於“一切皆插件”的架構。在開發智能體或進行代碼輔助時,讓模型準確獲取代碼的調用關係、文件位置以及結構化上下文是一個常見痛點。dsh-graft-plugin 解決了這個問題,它將 graft(一個預構建的代碼圖)直接置入 DSH 環境中,供用戶和模型同時使用。
插件概覽¶
這是一個 DeepSeek Harness 插件,旨在將代碼符號、文件行號和調用關係圖前置化。它主要解決如何讓模型在編輯代碼時,既能理解代碼結構,又能利用精確的上下文信息。
- 名稱:dsh-graft-plugin
- 維護者:adithyanraj03
- 類別:客戶端
- 許可證:MIT
- 核心價值:爲模型提供代碼索引工具,在 Composer 中顯示 graft 索引狀態和 Token 節省情況。
安裝與前置依賴¶
安裝前,確保已安裝全局的 graft CLI 工具:
npm install -g @nanonets/graft
Web Profile 安裝¶
使用 DSH 官方 CLI 安裝插件:
dsh plugin --profile web add dsh-graft-plugin
注意 pnpm 10+ 用戶:pnpm 10+ 會阻止未批准的 postinstall 腳本。如果安裝失敗,需先批准構建:
cd ~/.dsh/profiles/web && pnpm approve-builds # 勾選 dsh-graft-plugin
dsh plugin --profile web add dsh-graft-plugin # 重新運行以寫入 bundle 行
桌面應用安裝¶
桌面版 DSH 不使用 CLI 安裝,需通過設置界面操作:
- 打開 Plugins(左側邊欄的設置)。
- 點擊 Add plugin。
- 輸入倉庫地址或包名:
https://github.com/adithyanraj03/dsh-graft-plugin
- 點擊 Install。
桌面應用安裝的插件目前不自動更新,如需升級需卸載重裝。
核心功能¶
插件在 Composer 中集成了一枚芯片,並提供了工具鏈。
Composer 芯片¶
在 Composer 區域,芯片會顯示當前會話使用的 graft 索引狀態和 Token 節省情況:
* ● in sync:索引同步,匹配當前代碼
* ◐ syncing:索引正在重建中
* ▲ stale:索引過期,代碼已有變更
鼠標懸停(或點擊)芯片可查看根節點數、邊數、索引新鮮度以及 Token 節省統計,並包含一個 graft viz 按鈕。
模型工具¶
插件爲模型提供了以下工具,均在會話中按需解析:
* graft_ask:詢問代碼如何工作或查找位置,返回帶代碼片段的命中結果。
* graft_grep:搜索所有實例,按符號分組。
* graft_callers:查看符號的調用者、被調用者及調用鏈路。
* graft_skeleton:獲取文件的完整 API 結構。
* graft_map:查看代碼樹的層級結構。
命令行工具¶
在對話中使用以下命令管理索引:
* /graft:構建或重建索引。
* /graft status:查看芯片文本信息。
* /graft deep:完全重建索引。
自動重建與可視化¶
- 自動重建:當模型編輯文件後,插件會在後臺自動重建 graft 索引(帶有防抖邏輯)。
- 可視化:點擊
graft viz按鈕可打開代碼圖。支持 dsh 內置側邊欄(0.1.5+)、dsh-better-sidebar 插件或瀏覽器標籤頁。
使用示例¶
在 DSH 對話中,可以直接調用工具或使用命令:
# 重建索引
/graft
# 查看狀態
/graft status
# 完全重建
/graft deep
# 模型工具調用示例
graft_ask: "如何處理用戶登錄邏輯?"
graft_callers: "查看 auth 模塊的調用關係"
graft_skeleton: "獲取 src/api/user.js 的 API 定義"
graft_map: "查看整個項目的目錄樹結構"
注意事項與限制¶
- 依賴衝突:如果同時使用
dsh-better-sidebar0.18.x 和新版 DSH,可能因缺少@deepseek-ai/dsh-client-ui-primitives而無法掛載。插件不主動插入dsh-better-sidebar行,以避免衝突。 - 權限:插件以當前 DSH 進程的權限運行,安裝前建議檢查源碼與許可證。
總結¶
dsh-graft-plugin 通過引入代碼圖概念,爲 DeepSeek Harness 提供了結構化的代碼上下文。它不僅幫助模型更準確地理解代碼,還通過 Composer 芯片直觀地展示了索引狀態和效率。對於需要深度代碼交互的開發者,這是一個值得安裝的實用插件。
- GitHub:https://github.com/adithyanraj03/dsh-graft-plugin
- 插件目錄:https://www.skillhub.cn/plugins/adithyanraj03/dsh-graft-plugin