GraphMind 代码知识图谱
把本地代码库转成可供 AI 查询、导航和长期记忆的知识图谱。
- Star 数
- ★ 213
- 最近更新
- 1 个月前
- License
- MIT
- 主语言
- Rust
- FA 评分
- 64/100 · 存在缺口
30 秒速览
- 运行形态
- 可在哪里用
- 通用 · 跨平台Claude Code · Claude.aiOpenAI API(部分支持)
- 费用
- 有免费版,另有付费云服务
- 上手难度
- 低 · 几分钟可跑通
- 开始前需要
- 典型场景
- 维护大型仓库的开发者,在修改函数前用
graphmind fn-impact或graphmind diff-impact检查潜在影响范围。 - 不适合
- 需要 Windows 桌面应用而不接受 CLI 的用户
- 只想使用托管式网页服务的团队
- 代码语言不在已列出的 30 种语言中的项目
- 源码审查
- 64/100 · 存在缺口
这个 Agent 能做什么,适合哪些场景?
GraphMind 是一套以 Rust 编写的本地优先代码智能工具,通过 tree-sitter 将仓库解析为函数和文件级知识图谱,并保存在 SQLite 与 JSONL 文件中。它提供 CLI、macOS 桌面应用和基于 stdio 的 MCP 服务器,可接入 Claude Code、Claude Desktop、Cursor、Windsurf、Cline、Zed、Continue、VS Code 与其他 MCP 客户端。检索层结合 FTS5、语义向量和一跳图扩展,并用 RRF 对符号结果排序;源码内容默认不返回,以控制上下文用量。除代码结构外,它还保存决策、模式、约定和问题记录,并能连接多个已注册项目。默认运行不开放端口、不启用遥测,也不需要云服务;嵌入功能可选择本地 ONNX、OpenAI 或 Voyage AI。基础能力采用 MIT 许可证,团队图谱和共享记忆同步则标注为 Pro/Team 层级。
用户先通过 graphmind init 注册并构建项目。Rust 核心使用 tree-sitter 解析受支持的源文件,提取符号、调用点和依赖边,把结构图及 FTS5 索引写入 ~/.graphmind/graphs/<slug>/graph.db,并用增量缓存维护后续构建。配置嵌入提供方后,graphmind build 还会生成向量并写入 embeddings.db;graphmind search 将全文匹配、余弦相似度和调用图扩展结果通过 RRF 合并。CLI 与 MCP 工具可查询符号和完整函数、读取文件、生成文件依赖图、追踪传递调用者、评估 Git 变更影响、检测循环和死代码,并导出 Mermaid、DOT、JSON 或 Obsidian 笔记。记忆功能把决策、模式、约定、缺陷和上下文写入项目级或全局 JSONL,通过 Claude Code 钩子或 MCP 指令自动召回。跨项目命令还能搜索所有注册仓库、推断共享符号关系并查看项目间依赖。
- 维护大型仓库的开发者,在修改函数前用
graphmind fn-impact或graphmind diff-impact检查潜在影响范围。 - 使用 Claude Code 或 Cursor 的团队,希望让助手直接查询符号、调用关系和架构,而不是反复读取完整仓库。
- 同时维护 API、前端和共享库的工程团队,需要跨已注册项目搜索符号并追踪项目间依赖。
- 接手陌生代码库的开发者,希望快速查看关键文件、层次化符号大纲、循环依赖和无入边符号。
- 希望跨 AI 会话保留架构决策、编码约定、已知缺陷和业务上下文的个人或团队。
- 需要把局部或跨项目代码图导出为 Mermaid、Graphviz DOT、JSON 或 Obsidian 知识库的架构人员。
如何安装或部署这个 Agent?
macOS 用户可从 GitHub Releases 下载对应的 GraphMind-macos-arm64.dmg 或 GraphMind-macos-x64.dmg;桌面应用会安装 CLI,并通过引导配置 MCP、钩子、技能和嵌入。
macOS 或 Linux 也可使用安装脚本:
curl -fsSL https://raw.githubusercontent.com/aouicher/graphmind/main/scripts/install.sh | bash或通过 Homebrew 安装 CLI:
brew install aouicher/graphmind/graphmindmacOS 桌面应用也可通过 Homebrew 安装:
brew install --cask aouicher/graphmind/graphmindLinux x64 可直接下载 CLI:
curl -fsSL https://github.com/aouicher/graphmind/releases/latest/download/graphmind-cli-linux-x64 -o ~/.local/bin/graphmind
chmod +x ~/.local/bin/graphmind从源码构建需要 Rust/Cargo:
git clone https://github.com/aouicher/graphmind
cd graphmind
cargo build --release -p graphmind-cli
cp target/release/graphmind ~/.local/bin/默认关闭嵌入,因此首次使用不需要 API 密钥。若选择 OpenAI 或 Voyage AI 嵌入,需要在 ~/.graphmind/config.json 中配置相应密钥。
如何使用这个 Agent?
先执行一次全局设置,再在每个代码仓库中初始化:
graphmind setup
cd ~/projects/myapp
graphmind initsetup 配置 PATH、Claude Code 钩子与技能,以及 Claude Desktop、Claude Code、OpenCode 和 Cursor 的 MCP 设置;init 注册当前目录、安装 Git 钩子、构建图谱,并写入支持的项目级 MCP 配置。两条命令均可安全重复执行。
完成构建后,可直接从终端查询:
graphmind search "authentication flow"
graphmind fn validate_token --include-content
graphmind deps src/services/auth.ts
graphmind diff-impact
graphmind dead-code --kind function
graphmind cycles
graphmind export -f mermaid如需持久化项目知识,可使用:
graphmind memory add "Authentication tokens are validated by AuthService"
graphmind memory search "authentication"
graphmind memory list本地嵌入模式无需 API 密钥;若要启用它,可在配置文件中选择本地模型:
{
"embedding": {
"mode": "local",
"model": "nomic-embed-text-v1.5"
}
}然后生成嵌入:
graphmind embed --runMCP 客户端通过 stdio 启动服务:
graphmind mcp这个 Agent 有哪些优点和局限?
- 结构图、FTS5、语义向量和调用图扩展集中在同一检索流程中,结果还标明来自 FTS、语义或图扩展。
- 默认完全本地运行,不开放端口、不启用遥测;图谱、嵌入和记忆均保存在可检查的 SQLite 或 JSONL 文件中。
- 除符号搜索外,还覆盖调用链、变更影响、循环依赖、死代码、事件监听器和跨项目关系等具体工程任务。
- 既能独立用作 CLI,也能通过 stdio MCP 接入多种编辑器和 AI 助手,并提供 Claude Code 钩子进行自动上下文注入。
- 支持 30 种语言,并提供增量构建、Git 提交后重建和推送前影响检查。
- 桌面应用的安装资产只列出 macOS;Linux 和 Windows 用户需要使用 CLI。
- 语义搜索在新安装中默认关闭;启用后需要本地 ONNX 模型,或配置 OpenAI/Voyage AI 密钥并承担相应网络与服务依赖。
- 自动改写 grep、find 和 rg 的 Claude Code 钩子会介入既有搜索工作流,团队需要评估其行为和五分钟缓存机制。
- 团队图谱同步和共享记忆工具属于 Pro/Team 层级,免费层无法获得完整团队同步能力。
- README 给出了令牌节省基准,但没有提供独立验证、准确率评测或与其他代码图谱工具的质量对比。
这个 Agent 与同类方案有什么区别?
与直接运行 grep -r 并把原始匹配交给模型相比,GraphMind 先建立符号与依赖图,再返回经过 FTS、语义检索和图扩展排序的紧凑结果。项目给出的基准是在约 10 万行代码上,GraphMind 输出少于 300 个 token,而原始 grep 输出超过 150 万个 token;这是仓库自身报告的测试结果。
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| GraphMind 代码知识图谱 当前 | 64 · 存在缺口 | 桌面应用免费版 + 付费版 | ★ 213 | 1 个月前 | Rust | Claude Code · Claude.ai |
| Gortex 代码智能引擎 | 78 · 表现良好 | 命令行工具免费 | ★ 1.8k | 11 天前 | Go | Codex · Claude Code · OpenAI API · Claude API |
| Ori Mnemos | 80 · 表现良好 | 命令行工具免费 | ★ 330 | 4 天前 | TypeScript | Claude Code · OpenAI API · Claude API |
| Graft 代码上下文层 | 73 · 存在缺口 | 命令行工具免费 + 模型费 | ★ 9.5k | 5 天前 | TypeScript | Codex · Claude Code · OpenAI API · Claude API |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
证据显示默认使用 stdio、限制文件路径、本地存储、默认禁用嵌入服务,并说明可选 API 与团队同步的数据流;记忆写入采用原子替换,也提供卸载和删除命令。扣分原因是 setup/init 会改写多个全局、编辑器和项目配置并安装钩子,自动保存记忆的描述与“gm_memory_add 需要确认”存在张力,API 密钥以本地配置文件保存但未说明权限或加密,依赖安全没有审计、锁定策略或漏洞扫描证据,而且 CI 顶层授予 contents: write。来源标签、路径和仓库归属较清楚,但发布者身份仍未经企业注册表验证。
Cargo 工作区、CI 中的 clippy、单元测试、多组 CLI/E2E 测试以及多平台构建流程,为普通使用提供了一定可靠性证据;安装方式和本地/远程嵌入替代方案也较完整。扣分在于 README 同时声称 25 个和 27 个 MCP 工具,工具表实际列出 27 个;桌面演示称支持 Mac 与 Windows,但安装段又称 Windows 仅 CLI;所给材料几乎没有具体运行时错误信息、故障恢复提示或依赖不可用时的行为说明。
README 明确覆盖代码检索、影响分析、持久记忆、跨项目关系以及多种 MCP 客户端,语言、平台、输出格式、嵌入模式和手动配置选项也很丰富,因此受众与场景说明充分。扣分原因是自动改写搜索、自动召回和自动保存的触发范围较宽,虽有穷举搜索绕过和缓存规则但没有完整误触发控制;免费与 Pro/Team 的边界、Windows 桌面支持及某些自动同步条件不够一致,环境兼容性主要由文档声明而非所给实现证据支撑。
信息架构、命令参考、手动和自动安装步骤、数据位置、架构图及 MIT 许可证都很完整,Cargo 元数据也与许可证一致。扣分原因是没有独立 FAQ 或系统化故障排查,已知限制主要局限于平台和语言状态,未讨论解析误差、死代码误报、动态调用或索引陈旧等产品限制;25/27 工具数量和桌面平台说法影响命名与文档稳定性;有版本号、标签发布和自动生成发布说明,但没有提供 changelog;维护责任仅由版权人、仓库和安全邮箱部分体现,缺少一般支持与治理说明。
紧凑文本、JSON 模式、来源标记、分页、截断提示、内容按需返回以及多种图导出格式,使输出直接适合 AI 和人工使用,结构图、搜索融合和持久记忆相对原始文本检索具有明确增量价值。扣分原因是 5700 倍和约千万 token 节省等效益只由 README 图表与单一场景描述支持,没有提供基准方法、原始数据或可核对测试;本地索引、ONNX 模型、可选付费 API、团队层级和广泛配置改写的成本与权衡没有充分量化。
许可证、版本、工作区结构、CI 流程和部分跨语言测试夹具能交叉支持项目的基本身份、构建和测试主张。扣分原因是大多数安全、隐私、工具行为、语言支持和性能主张只出现在 README,所给材料缺少对应实现文件、测试断言和基准原始数据;营销性数字与事实性陈述没有清晰区分,且文档内部存在工具数量和平台支持矛盾,因此只能给予有限可追溯性与交叉印证。
- setup 和 init 会改写 shell、Claude、Cursor、VS Code 及项目配置并安装钩子;使用前应审查具体差异并备份相关文件。
- “自动保存且无需询问”与 MCP 写入需要确认的说法不完全一致;不要假定所有持久记忆写入都会获得逐次同意。
- 配置远程嵌入或 Team 同步后,代码派生内容或记忆可能离开本机;应核查提供商、基础 URL、共享标志及组织数据政策。
- API 密钥以本地 config.json 形式保存;材料未证明文件权限、加密、密钥轮换或日志脱敏措施。
- 不要把 5700 倍 token 节省、30 多种语言稳定支持或死代码/影响分析结果视为已独立验证;本评估未执行软件。
- curl 管道安装脚本引用 main 分支而非给定修订;高保障部署应固定版本并在执行前审查脚本和发布物校验信息。
常见问题
离线环境可以使用吗?
它会把源码上传到云端吗?
~/.graphmind/,MCP 使用 stdio。只有显式配置 OpenAI/Voyage AI 嵌入或启用 Pro/Team 同步时才涉及网络功能。必须使用 Claude Code 吗?
/gm 技能则针对 Claude Code。写入记忆是否受控?
gm_memory_add 要求明确确认;记忆会持续保存,直到被显式删除。