在 DeepSeek Harness (DSH) 的生态中,让智能体理解整个代码库是提高推理质量的关键。传统的 RAG(检索增强生成)方式通常直接将整个文件塞进上下文,这不仅消耗大量 Token,还容易丢失架构关系和依赖细节。dsh-understand-anything 通过生成结构化的知识图谱,解决了这个问题。它让 AI 先看懂整个代码库,再基于图谱回答问题、分析改动影响,并生成上手指南。
插件介绍¶
dsh-understand-anything 是一个由 GongYuanCaiJi 维护的插件,移植自开源项目 Egonex-AI/Understand-Anything(MIT 许可证)。它将代码库分析转化为结构化的知识图谱,使 DSH 智能体能基于图谱进行聊天、影响分析和架构理解,无需将原始文件全部塞入上下文。
核心功能¶
该插件提供以下核心能力:
- 交互式知识图谱:扫描代码库,产出
knowledge-graph.json,包含架构、依赖、调用关系和复杂度。 - 基于图谱回答:通过
/understand-chat命令,基于图谱回答代码库问题,而非直接读取文件。 - 改动影响分析:通过
/understand-diff分析当前改动影响了哪些组件及潜在风险。 - 新手上手指南:通过
/understand-onboard为新成员生成项目导读。 - 业务领域提取:通过
/understand-domain从代码中识别业务领域、流程与步骤。 - 知识库分析:通过
/understand-knowledge分析 Karpathy 模式的 LLM wiki 知识库。 - 设计稿分析:通过
/understand-figma利用 Figma API 生成设计知识图谱。 - 多语言支持:通过
--language zh生成中文摘要、标签与说明。
安装与配置¶
在安装前,请确保环境满足以下依赖:
- Node.js ≥ 22
- pnpm ≥ 10
使用官方命令安装:
dsh plugin --profile <你的 profile> add github:GongYuanCaiJi/dsh-understand-anything
安装过程中会运行 prepare 脚本进行结构校验。首次运行 /understand 时,插件会按照上游流程使用 pnpm 构建分析引擎。如果 pnpm 拦截了构建步骤,需要在 profile 的 pnpm-workspace.yaml 配置文件里将本套件加入 allowBuilds(本套件自带的 pnpm-workspace.yaml 已包含 tree-sitter 语法的 allowBuilds)。
典型用法¶
安装完成后,在 DSH 中使用以下命令:
# 分析当前代码库(生成 .ua/knowledge-graph.json)
/understand
# 中文分析
/understand --language zh
# 增量更新(只重新分析改过的文件)
/understand
# 问代码库问题
/understand-chat 这个项目的架构是怎么样的?
# 分析当前改动的影响
/understand-diff
# 生成新手指南
/understand-onboard
注意:分析引擎与技能文本均为上游英文原文,未做翻译(移植规则:100% 原样复制)。
适用场景与限制¶
该插件适合需要深入理解代码库结构的 DSH 智能体开发场景。需要注意的是,出于插件形态的兼容性考虑,以下功能未包含在本插件中:
- Web 应用:上游的官网(
homepage/)、交互式看板(packages/dashboard)及独立查看器(packages/viewer)均未搬入。 - Claude Code 专属功能:Claude Code 专属的 hooks(提交后自动更新)未搬入。
- 分析语言:目前分析引擎与技能文本保持上游英文原文。
结语¶
dsh-understand-anything 为 DeepSeek Harness 提供了构建代码库级理解能力的工具。通过知识图谱的方式,它使得智能体能够在不突破上下文窗口限制的前提下,实现深度的代码分析和业务理解。更多详情请参考 GitHub 仓库。