dsh-code-index:DeepSeek Harness 的代码库索引插件

前言

DeepSeek Harness(dsh)通过插件为智能体扩展外部能力。对代码仓库任务来说,常见的问题是模型缺少一张稳定的代码库地图:不知道当前仓库有哪些关键文件,也不容易快速定位函数、类、接口和类型。

dsh-code-index 是一个 DSH 插件,用来给智能体提供三样东西:基于 tree-sitter 的符号索引、按相关度排序的符号搜索,以及一个受限制大小、可自动更新的仓库地图。

这是什么

dsh-code-indexlemonxiny55 维护的第三方插件,MIT 许可,未与 DeepSeek 官方从属,构建在公开的 dsh 插件面上。

它为智能体提供以下工具:

  • code_index
  • code_symbols
  • code_search
  • code_map

同时,它还可以向系统提示词注入一个仓库地图段落。

核心能力

索引与状态

code_index 用于查看或重建当前工作区的代码索引。

索引在首次使用时延迟构建,之后使用本地缓存,并按 mtime 做增量刷新。

支持的语言包括:

  • TypeScript
  • JavaScript
  • Python
  • Go
  • Rust
  • Java

解析通过 tree-sitter WASM 完成。

符号列表

code_symbols 可列出符号,包括函数、类、接口、类型、方法等,并返回 file:line

可过滤条件包括:

  • 名称
  • 路径
  • 符号类型
  • 是否导出

排序搜索

code_search 对符号做排序查找。

排序优先级为:

  1. 精确匹配
  2. 前缀匹配
  3. 子串匹配
  4. 子序列模糊匹配

导出符号优先,并返回相关度分数和 file:line

仓库地图

code_map 生成一个受限大小的排序仓库地图。

它按符号密度和 import 引用挑选 top 文件,并列出关键符号与行号。

可选的自动注入段落为:

code-index:repo-map

该段落 order 为 60,TTL 配置项为 mapTtlMs,默认 60 秒刷新。

自动注入面向默认工作区,也就是启动目录,匹配 headless/CLI 模式。多工作区 Web UI 会话建议改用 code_mapcode_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。模型需要正常配置好,才能调用这些工具。

典型用法

在工作区会话中,可以这样要求智能体:

  1. Which repo are we in — run code_map first.
  2. Find every function whose name contains parse and where it lives.
  3. List the exported symbols in src/core.
  4. 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_mapcode_symbols

结尾

dsh-code-index 的核心价值,是给 DSH 智能体提供符号索引、符号搜索和受限仓库地图,让模型在代码仓库任务中少一些猜测。

GitHub 仓库:

https://github.com/lemonxiny55/dsh-code-index

社区目录线索地址:

https://www.skillhub.cn/plugins/lemonxiny55/dsh-code-index

该目录页地址来自插件线索,未在本次资料中直接确认,使用时以目录实际页面为准。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye