前言¶
DeepSeek Harness(dsh)通過插件爲智能體擴展外部能力。對代碼倉庫任務來說,常見的問題是模型缺少一張穩定的代碼庫地圖:不知道當前倉庫有哪些關鍵文件,也不容易快速定位函數、類、接口和類型。
dsh-code-index 是一個 DSH 插件,用來給智能體提供三樣東西:基於 tree-sitter 的符號索引、按相關度排序的符號搜索,以及一個受限制大小、可自動更新的倉庫地圖。
這是什麼¶
dsh-code-index 是 lemonxiny55 維護的第三方插件,MIT 許可,未與 DeepSeek 官方從屬,構建在公開的 dsh 插件面上。
它爲智能體提供以下工具:
code_indexcode_symbolscode_searchcode_map
同時,它還可以向系統提示詞注入一個倉庫地圖段落。
核心能力¶
索引與狀態¶
code_index 用於查看或重建當前工作區的代碼索引。
索引在首次使用時延遲構建,之後使用本地緩存,並按 mtime 做增量刷新。
支持的語言包括:
- TypeScript
- JavaScript
- Python
- Go
- Rust
- Java
解析通過 tree-sitter WASM 完成。
符號列表¶
code_symbols 可列出符號,包括函數、類、接口、類型、方法等,並返回 file:line。
可過濾條件包括:
- 名稱
- 路徑
- 符號類型
- 是否導出
排序搜索¶
code_search 對符號做排序查找。
排序優先級爲:
- 精確匹配
- 前綴匹配
- 子串匹配
- 子序列模糊匹配
導出符號優先,並返回相關度分數和 file:line。
倉庫地圖¶
code_map 生成一個受限大小的排序倉庫地圖。
它按符號密度和 import 引用挑選 top 文件,並列出關鍵符號與行號。
可選的自動注入段落爲:
code-index:repo-map
該段落 order 爲 60,TTL 配置項爲 mapTtlMs,默認 60 秒刷新。
自動注入面向默認工作區,也就是啓動目錄,匹配 headless/CLI 模式。多工作區 Web UI 會話建議改用 code_map 或 code_symbols,它們會按當前會話 cwd 解析。
安裝與啓用¶
需要 dsh,以及 Node >= 22。插件聲明 peer dependency:
@deepseek-ai/cordis ^4.0.1
安裝命令:
npx @deepseek-ai/dsh plugin --profile web add dsh-code-index
安裝後重啓 Web UI:
npx @deepseek-ai/dsh web
啓動日誌會確認各個工具是否註冊。
也可以在啓動 UI 前檢查組合後的配置:
dsh --profile web --dump-config
建立索引不需要 API key。模型需要正常配置好,才能調用這些工具。
典型用法¶
在工作區會話中,可以這樣要求智能體:
Which repo are we in — run code_map first.Find every function whose name contains parse and where it lives.List the exported symbols in src/core.Rebuild the code index.
一個典型組合是先調用 code_map,再調用:
code_search { query: "extractSymbols" }
用於定位定義和上下文。
適用場景與注意¶
適合需要讓 DSH 智能體理解倉庫結構、查找符號、定位函數或類、生成倉庫概覽的代碼任務。
注意:
- 插件以當前
dsh進程權限運行,並會讀取工作區文件以建立索引。安裝前應檢查源碼、依賴和 MIT 許可證。 web-tree-sitter固定在^0.20.8。資料說明新版 web-tree-sitter 期望 dylinked grammar wasm,而tree-sitter-wasms提供 static builds;該組合已驗證在 Node >= 22/24 下工作。- 本地變量也會被索引,傾向召回;
code_search排序會把它們壓低。 - DSH 仍處 developer-preview harness 階段,上游 harness/plugin API 可能發生變化。
- 自動注入段落只面向默認工作區;多工作區 Web UI 會話應使用
code_map或code_symbols。
結尾¶
dsh-code-index 的核心價值,是給 DSH 智能體提供符號索引、符號搜索和受限倉庫地圖,讓模型在代碼倉庫任務中少一些猜測。
GitHub 倉庫:
https://github.com/lemonxiny55/dsh-code-index
社區目錄線索地址:
https://www.skillhub.cn/plugins/lemonxiny55/dsh-code-index
該目錄頁地址來自插件線索,未在本次資料中直接確認,使用時以目錄實際頁面爲準。