核心用法
/understand 是一个多阶段代码库分析引擎,通过七个结构化阶段将源代码转化为可交互的知识图谱:
1. 预检阶段 — 智能检测是全量重建还是增量更新,基于 Git commit hash 比对避免重复分析
2. 扫描阶段 — 子代理遍历项目,识别语言、框架、文件清单与复杂度估算
3. 分析阶段 — 并行子代理批量处理文件(5-10个/批,最多3并发),提取函数、类、模块等节点及18种关系边
4. 组装阶段 — 合并批次结果,清理悬空引用与重复节点
5. 架构阶段 — 识别分层结构(UI/API/Service/Data等),支持 React、Express、Django、Go 等框架专属规则
6. 导览阶段 — 基于 README 和入口文件生成学习路径,将文档叙事映射为代码探索路线
7. 审核阶段 — 交叉验证完整性,自动修复缺失字段,最终输出标准化 JSON
输出产物 knowledge-graph.json 包含:项目元数据、节点(file/function/class/module/concept)、边(18种类型含权重)、分层定义、学习导览。配套 /understand-dashboard 可启动可视化界面。
显著优点
- 智能增量更新:Git 感知机制避免全量重分析,大型项目秒级响应
- 框架原生理解:内置 React/Next.js、Express、Django、Go 等目录语义,自动推断架构分层
- 并行可扩展:批量+并发设计支持大型代码库,200+文件时主动提示范围限定
- 防御性工程:多重降级策略——子代理失败重试、部分结果保存、自动修复、警告透传
- 标准化输出:严格 Schema 约束,支持下游工具链集成
潜在局限
- 资源消耗:多阶段子代理调用对 token 消耗较大,超大型项目需分目录分析
- 框架覆盖有限:当前仅硬编码 4 种框架规则,小众框架依赖通用启发式
- 黑盒分析:基于静态代码扫描,运行时行为(动态路由、依赖注入等)可能遗漏
- 审核自动化边界:
approved: false时自动修复能力有限,复杂结构问题需人工介入
适合人群
- 新成员快速熟悉陌生代码库
- 技术负责人进行架构审计与债务评估
- 开源项目维护者生成可视化文档
- 需要进行代码迁移或重构前的影响面分析
常规风险
| 风险类型 | 说明 | 缓解措施 |
|---------|------|---------|
| 数据泄露 | 分析过程读取完整源代码 | 本地执行,输出隔离在 `.understand-anything/` 目录 |
| 不完整图谱 | 子代理超时或失败导致节点缺失 | 失败重试+部分保存+审核报告 |
| 架构误判 | 非标准目录结构导致分层错误 | 支持 `--full` 强制重建与目录范围限定修正 |
| 存储膨胀 | 中间文件累积 | Phase 7 自动清理 `intermediate/` 目录 |
安全等级 S(本地分析、无外部调用、自动清理临时文件),来源可信度 T1(官方工具链原生技能)。