dsh-code-graph:Branch-aware Code Knowledge Graph Plugin for DSH

在 DSH 生态中,智能体读代码常依赖 grep,但这只能返回文本,无法体现调用链、影响面或架构关系。dsh-code-graph 解决了这个问题。它为 DSH 插件系统引入了分支感知的代码知识图谱能力,让 Agent 能够通过图查询而非盲目搜索来理解代码。

是什么

这是一个由 hoyyang 维护的 DSH 插件。它复用本机 codebase-memory-mcp 引擎,提供结构化的代码索引和查询能力。它不依赖 MCP 会话,而是通过原生工具分发器与引擎二进制交互。

核心功能

  1. 结构化读代码:支持 callers、callees、impact(影响面 BFS)、trace(调用与数据流路径)、architecture(架构概览),覆盖 158+ 语言。
  2. 分支自动跟随:检出任意分支后直接提问,索引图自动对应当前分支;切回访问过的分支零重索引。
  3. 大仓滚动单索引:超过 500MB 的仓库只保留当前分支一份索引,切分支删旧建新,磁盘占用恒为 1 份。
  4. 保鲜门控:每次查询比对 HEAD+脏树签名,漂移自动 fast 增量重索引。
  5. 图查询零命中自动回落 ripgrep:图查询无结果时自动回退到 ripgrep,结果显式标注 fallback,绝不冒充图结果。
  6. 读代码硬门禁:未先调 codegraph 的代码 grep 会被拒绝并给出引导;门禁自身异常一律放行(fail-open)。
  7. 跨分支查询:通过 branch 参数直查已建索引的非检出分支(冻结态)。

安装与启用

使用官方安装命令:

dsh plugin add github:hoyyang/dsh-code-graph

安装后,插件依赖本机 codebase-memory-mcp 引擎二进制(默认路径 ~/.local/bin/codebase-memory-mcp)。如果引擎缺失,插件会在调用时报错点名,但不会影响 DSH 启动。

典型用法

  1. 查看索引状态:
    /codegraph
  1. 新建索引:
    /codegraph <仓库绝对路径> fast
  1. Agent 侧查询:
    codegraph { "op": "callers", "repo_path": "<repo>", "name": "handleRequest" }
  1. 切分支后直接提问:索引自动跟随。

适用场景与注意

该插件适合需要深度理解代码调用关系、架构影响面或跨分支代码检索的场景。安装前请确认本地已配置 codebase-memory-mcp 引擎。

注意:
- 不会修改仓库文件:不装 git hooks、不写 .gitignore、不启动常驻监听。
- 卸载命令:

  dsh plugin --profile web remove dsh-code-graph

此命令会自动清理工具、命令、提示 section/skill 文件和状态文件,但不会触碰图数据库与用户仓库。
- 生态背景:DSH 理念是「一切皆插件」;社区目录是独立站点,与 DeepSeek / 幻方无官方从属关系。

结尾

dsh-code-graph 通过原生工具分发与保鲜门控机制,为 DSH 提供了高效的代码知识图谱能力。如需了解完整文档,请访问 GitHub 或 SkillHub 目录。

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

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

小夜