前言¶
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
该目录页地址来自插件线索,未在本次资料中直接确认,使用时以目录实际页面为准。