Graphicle-AI/graphicle
Code graph and memory for your coding agents, in one Rust program. For Claude Code, Codex, Cursor and any MCP client.
Graphicle – 一个用于 AI 编码助手的本地 Rust 代码图谱与记忆引擎
它是什么
Graphicle 是一个用 Rust 编写的单二进制文件开源工具,它为存储库构建代码图谱(文件、函数、类、调用、导入),并存储项目范围内的文档、决策和过往的编码助手会话。数据存储在开发者机器上的一个 SQLite 文件中,因此无需外部数据库、Docker 容器或云服务。
为什么它对 AI 辅助开发很重要
- 按需引用上下文 – 当编码代理(Claude Code、Cursor、Codex、VS Code 等)提出问题时,Graphicle 会返回回答该问题的确切文件和行号片段,并保持在您设置的令牌预算内。驱动代理的模型会读取这些片段,因此答案是可以验证的。
- 本地优先且私密 – 无需 API 密钥、账户或遥测。所有索引、搜索和记忆都驻留在开发者的计算机上;只有可选的模型调用(例如到 Anthropic、OpenAI、Ollama)会发送出去。
- 速度与内存效率 – 存储库中的基准测试显示,0.1.1 预发布引擎在 13 个真实代码库上的运行速度比同类 Python 工具 Graphify 快 3 倍–22 倍,峰值内存使用量减少 0.3 倍–0.97 倍。
- 一站式安装 – 单个
brew install(或脚本)即可为您提供代码图谱构建器、记忆服务器、MCP(多客户端协议)服务器、Web UI 和 CLI。无需 Python、Docker 或单独的数据库。
核心功能(如 README 中所述)
| 功能 | 作用 |
|---|---|
| 代码图谱 | 使用 tree-sitter 解析源代码,记录文件、符号、调用、导入;提供 CLI (graphicle graph …) 和交互式 HTML 视图。 |
| 项目记忆 | 索引 Markdown、PDF、Office、HTML 文档和过往的 Claude Code / Codex 会话;记忆与它们描述的符号相关联,并在代码更改时失效。 |
| 引用上下文 | graphicle ask / graphicle context 返回带有文件名和行范围引用的片段,尊重令牌预算,无需调用模型。 |
| MCP 服务器 | 通过 MCP 协议公开图谱和记忆工具,以便任何兼容的客户端(Claude Code、Cursor、VS Code 等)都可以调用它们。 |
| 会话捕获 | 记录编码助手的每个完成的轮次;审查过的记忆会被存储,并在以后的新会话中自动提供。 |
| Git 集成 | 安装 Git 钩子,在每次回答前同步更改的文件,并备份它修改的每个文件 (*.graphicle-bak)。 |
| 跨仓库工作区 | graphicle context --workspace 可以跨越工作区中的多个存储库。 |
| Web UI | graphicle open 启动一个浏览器视图,显示图谱、源文件和记忆,您可以在其中批准记忆。 |
| 隐私控制 | 尊重 .gitignore,跳过密钥,编辑私有范围,并且仅进行每日发布检查请求(可通过 GRAPHICLE_NO_UPDATE_NOTIFIER 选择退出)。 |
谁会使用它?
- 开发者:依赖基于 LLM 的编码助手,并希望为助手的建议提供确定性、可验证的引用。
- 团队:需要一个与他们正在处理的代码的确切版本相关联的共享本地知识库(文档、决策、之前的助手会话)。
- 工具构建者:想要一个快速的、Rust 原生的代码图谱后端,可以通过 MCP 从任何编辑器或 IDE 访问。
如何开始(README 中的快速入门)
- 安装 –
brew install graphicle-ai/tap/graphicle(或单行 curl 脚本)。 - 索引仓库 –
cd your-repo && graphicle setup。这会构建图谱、捕获当前会话、向AGENTS.md添加简短条目并安装 Git 钩子。 - 提问 –
graphicle ask "where is tax added to prices?"– 您将看到引用的片段;配置模型 (graphicle config set model anthropic) 以获得完整答案。 - 探索 –
graphicle open(浏览器 UI),graphicle graph extract . --code-only,graphicle graph affected "retry()"。 - 撤销 –
graphicle disconnect删除钩子并恢复备份的文件。
限制与当前状态(截至 README)
- Windows 构建是预览版,尚未进行代码签名。
- 基准测试基于预发布版本 (0.1.0/0.1.1);引擎仍在不断演进。
- 令牌预算处理仅限制引用上下文的数量;最终答案的质量仍取决于您配置的下游 LLM。
- 长时间运行的会话和大量记忆积累尚未完全测试。
以上所有信息均直接取自存储库的 README;未添加任何外部假设。
相关
- 项目
- 项目
- 项目
- 项目