dsh-repo-map: Generating compact directed repository graphs with regex

前言

在 DeepSeek Harness(DSH)里处理陌生仓库时,上下文窗口往往装不下整库文件,智能体又需要先知道「有哪些源文件、顶层符号大致在哪」。把整库打包进上下文成本高,上语言服务器做精确跳转又偏重。dsh-repo-map 走中间路线:用正则启发式扫描源码,输出一份紧凑的仓库地图,供 DSH 做上下文定向;需要精确导航时可配合 dsh-code-intel,需要完整内容时可配合 dsh-repomix。

这是什么

dsh-repo-map 是社区插件 lengrufeng2008/dsh-repo-map(维护者 lengrufeng2008),在 SkillHub 目录中归类为「记忆」。项目自述为:基于正则的紧凑仓库地图,列出源文件与顶层符号,用于 DSH 的上下文定向;不依赖 LSP,不做类型解析与调用图。许可证 MIT,当前版本 0.1.0,要求 Node.js >= 20。

核心功能

根据 README 与 package.json 描述,插件能力可概括为:

  1. 生成仓库地图:对指定目录扫描,产出源文件列表及顶层符号(类、函数等,依语言启发式而定)。
  2. CLI 独立运行:提供 dsh-repo-map 命令行入口(bin/dsh-repo-map.mjs),可在 DSH 外本地生成地图。
  3. DSH 内调用:在 Harness 中通过自然语言指示使用 repo_map 处理当前仓库(见下文示例)。
  4. 可选导出 JSON:命令行支持 --json 与 --output,便于脚本或二次消费。

明确不包含的能力(README「Limits」):

  • 非语法级解析器,仅为正则启发式,可能有漏检或误匹配。
  • 仅顶层符号,不含方法级细节、调用图、引用关系或类型信息。
  • 不进行网络请求。

安装与启用

DSH 采用「一切皆插件」的扩展方式;SkillHub(skillhub.cn)是社区插件目录,与 DeepSeek / 幻方无官方从属关系。该插件在目录页标注为可安装,版本 v0.1.0。

在 SkillHub 插件页「发送给 DeepSeek Harness 安装」流程中,向 Harness 说明安装 lengrufeng2008/dsh-repo-map 即可;Harness 会读取后端安装计划后执行安装。安装前建议自行查看 GitHub 仓库 源码与 MIT 许可证。插件在 DSH 进程权限下运行,安装前应确认你信任该来源。

若仅需本地 CLI(不经过 DSH 插件包),可在克隆或下载仓库后于项目根目录用 Node 20+ 执行 README 中的命令(见下一节)。

典型用法

命令行

在仓库根目录执行(路径 . 表示当前目录):

node bin/dsh-repo-map.mjs . --json --output map.json

限制扫描文件数量示例:

node bin/dsh-repo-map.mjs . --max-files 300

第一条命令将地图以 JSON 写入 map.json;第二条在文件过多时控制上限,避免地图过大。

在 DSH 中使用

README 给出的 Harness 侧提示示例:

Use repo_map on this repository.

可在对话中改用中文等价表述,核心是请求对当前仓库生成并使用 repo map 做定向,而非拉取全库或启动 code intel。

开发与测试

维护者提供的测试命令:

npm test

对应 package.json 中 node --test test/*.test.mjs。

适用场景与注意

适合:快速熟悉中等规模仓库的文件布局与顶层符号;在 DSH 对话开始前或并行步骤中注入轻量结构信息;离线、无 LSP 环境。

不适合:需要跳转到定义、查引用、类型推断或调用链分析时,应使用 dsh-code-intel;需要把大量源文件原文塞进上下文时,应使用 dsh-repomix。

注意:地图质量取决于正则规则与各语言写法,不能替代编译器或 LSP 的语义理解。插件与 CLI 均在本地运行、无网络,但 DSH 插件安装后仍随 Harness 进程权限访问工作区文件,请仅安装你审查过的插件。

结尾

dsh-repo-map 用正则生成紧凑的源文件与顶层符号地图,帮助 DSH 在不全文加载仓库的情况下建立方向感。详情与源码见 GitHub:lengrufeng2008/dsh-repo-map;安装与分类信息见 SkillHub 目录页:skillhub.cn/plugins/lengrufeng2008/dsh-repo-map。

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

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

Xiaoye