Graft
Graft 针对编程智能体的一种浪费:每个任务它们都是从零开始,靠 grep、打开文件、顺着 import 一路重新摸索仓库,会话结束后又把学到的东西丢掉。Graft 把这份理解只构建一次,写进你的仓库,成为一个由互相链接的 markdown 文件组成的文件夹,每个系统、API 或概念一个节点,用通俗的语言解释,而不是干巴巴的符号列表。
它没有向量嵌入或相似度索引:图就是智能体可以打开和 grep 的普通文件。它是本地缓存,`graft build` 会把它加入 .gitignore,每次查询都会先根据工作区重建结构图,README 称没有改动时不花钱、耗时约 3 毫秒。摘要由你选择的提供商和密钥来写(OpenAI、Anthropic、OpenRouter、Fireworks、Groq、LiteLLM 代理或本地模型)。安装是 `npm install -g @nanonets/graft` 然后 `graft init`,它会询问要接入哪些智能体(Claude Code、Cursor、Codex、Gemini 等),`--dry-run` 可以预览它会改动的每个文件。另有 MCP 服务、带 grep 和 map 命令的命令行、图的可视化,以及用于评审 PR 影响范围的可选 GitHub App。代码采用 MIT 许可证。
功能特性
为什么选择它
权衡点
维护状况检查
- 最近提交
- 2026-10-24
- 近 90 天提交数
- 100+
- 近 90 天发布数
- 0
- 最新发布
- —
- 未关闭 issue
- 249
- 近期 issue 至少有一条评论的比例
- 0/11
最早的一周在左边,最近 4 周为橙色。数据来源:GitHub 提交统计。
状态规则:GitHub 上已归档 = 已归档;最近提交在 90 天内 = 活跃;91 到 365 天 = 放缓;更久 = 停滞。所有数字来自所示日期的 GitHub API。
讨论最多的未关闭 issue
- #323 0.13.0+ won't start on Windows without a C toolchain: [email protected] ships no prebuilds, so require() throws before any command ru5 条评论 · 2026-09-09
- #374 Runaway upkeep child processes when ~/.graft is unwritable in a sandbox4 条评论 · 2026-09-13
- #326 Using skill instead of AGENTS.md4 条评论 · 2026-09-09
- #313 Do not clobber statusline on first install4 条评论 · 2026-09-09
- #298 graft build --deep: hardcoded maxTokens=8192 truncates tool-call JSON, and file-node summaries discarded due to id-decoration mismatch4 条评论 · 2026-09-04
issue 标题引自 GitHub。请打开链接确认该问题是否仍适用于你使用的版本。
适合谁
- 希望为自己的代码库自动生成轻量、互相链接的 Markdown 知识图谱,让 Claude Code、Cursor 等编程智能体直接 grep 和阅读,无需维护重型向量库。
- 想要减少智能体在大型代码库中来回摸索产生的 Token 浪费,让模型一目了然看清模块依赖与调用路径。
- 需要基于 Neo4j 图数据库、混合向量检索与复杂 Cypher 图查询的企业级代码图谱;那种架构 code-graph-rag 更适合。
- 代码库非常小(仅单文件或几百行脚本),无需额外构建上下文索引。
与同类的区别
Graft 将仓库编译为无需外部数据库的静态 Markdown 图,智能体可直接本地 grep;Code-Graph-RAG 则采用 Neo4j + 向量检索的图数据库方案,适合复杂语义分析。
兼容性
快速开始
使用场景
同类工具
评论
暂无评论,来发表第一条吧