Skip to Content
插件Graphify

Graphify

像“请求是怎么到达数据库的?”或“改了 parseConfig 会影响什么?”这样的问题,智能体通常要靠一长串 grep 和读文件才能回答。Graphify 插件用 Graphify-Labs 的开源工具 graphify  把工作区转换为知识图谱:文件、函数、类、调用、 导入、Markdown 章节以及 NOTE: / WHY: 注释,并按子系统分组。已连接的智能体用自然语言或符号名向图谱 提问,一次调用就能得到图谱中相关的部分,每个结果都带有文件和行号。

卡片把图谱画成一张地图,智能体的每次查询都会在上面实时回放:你能看到智能体问了什么、从哪些节点出发、 搜索如何扩散、找到了什么。

如何使用

  1. 在添加卡片菜单中选择插件…,在插件标签页中打开 Graphify,然后点击添加到画布。
  2. 点击卡片上的安装(每台电脑一次)。NeuroSquad 从 GitHub 下载 uv  0.12.22,并按应用中固定的校验和进行核对;uv 配置独立的 Python 3.12,然后从 PyPI 安装 graphify 0.9.74, 每个包都按哈希固定(--require-hashes,仅使用二进制包)。约 250 MB,全部放在应用的数据文件夹中。 不会使用或修改你自己的 Python、uv 或 pip 设置。
  3. 随后卡片会自动构建整个工作区的图谱,并显示已读取的文件数、总数和预计剩余时间。
  4. 从智能体向卡片画一条箭头。

现在智能体就拥有了图谱工具。大多数 CLI 无需重启即可使用;删除箭头后工具随之消失。

智能体能做什么

工具回答什么
graphify_query用自然语言或符号名提问 → 相关子图(符号、带行号的文件、调用和导入关系)
graphify_neighbors某个符号调用了什么、被谁调用、导入了什么、被谁导入,以及每处使用的文件和行号
graphify_path两处之间最短的调用/导入链
graphify_affected修改的影响范围:所有直接或间接依赖某个符号或文件的内容
graphify_node某个符号的位置、类型和所属子系统
graphify_community某个子系统的全部成员
graphify_god_nodes连接最多的符号——代码库的核心
graphify_stats图谱规模,以及有多少关系是直接从代码中读出的
graphify_reindex立即更新图谱,以反映刚刚的修改

首次构建尚未完成时,工具会回答当前进度(“仍在构建:37%,已读 461 个文件中的 170 个…”),智能体可以先用 常规搜索,稍后再问。

如何引导智能体使用图谱

拥有图谱工具的智能体并不总会用它:模型习惯了 grep。Graphify 增加了三层轻量引导,任何一层都不会阻止操作:

  • 工具描述会说明何时图谱更合适(“当问题与结构有关时,先于 grep 使用”),以及何时文本搜索仍然是对的 (字符串字面量、日志信息、配置值)。在 Claude Code 中,graphify_query、graphify_neighbors 和 graphify_affected 始终加载,而不是藏在工具搜索后面。
  • 首个回合的说明。 带有箭头的会话的第一个回合会附上一段简短、客观的说明:图谱是什么、哪个工具回答 哪类问题、何时 grep 仍然合适。之后,当提示与代码结构有关时(以及无论如何每五个回合一次),会附上一行 提醒。删除箭头后,下一个回合会收到一条说明,告知这些工具已不可用。Claude Code、Codex 和 Qwen Code 通过提示钩子接收;OpenCode、Kilo Code、pi、omp 和 Gemini CLI 通过 NeuroSquad 的插件、扩展或钩子桥接接收。 其他 CLI 只获得工具。
  • 文本搜索前的提示(Claude Code)。 当智能体准备对看起来像符号名的内容执行 Grep、Glob,或 grep / rg / find 命令时,会收到一行上下文,指向 graphify_neighbors 和 graphify_query。 搜索仍会按原样执行:不做任何权限决定,你的 allow / deny 规则和确认提示照常生效。智能体使用图谱后的 两分钟内不会提示,之后最多每 45 秒、每四次搜索提示一次。

在卡片设置中关闭引导智能体使用图谱,即可只保留工具。

地图

  • 文件显示为圆点,大小取决于内容多少,颜色取决于子系统。放大(或点击显示符号)即可看到每个文件 周围的函数和类。
  • 实时查询。 智能体查询图谱时,起始节点会泛起涟漪,搜索沿着经过的关系逐跳扩散,结果面板列出找到的 内容及文件和行号。点击结果可将地图定位到该处,或在编辑器中打开文件。
  • 底部的时间线:最近的查询及提问者。点击即可重新回放。
  • 在角落的输入框中自己搜索图谱,匹配项同样会亮起。
  • 点击节点查看详情和关系;适应视图让所有内容回到视野中。
  • 展开卡片,以大视图查看地图。

用鼠标拖动地图,用滚轮缩放;当你缩放画布或卡片不在屏幕上时,地图动画会暂停。

始终保持最新

开启自动更新(默认开启)时,卡片会发现更改过的文件,并在最后一次更改约 4 秒后更新图谱。已连接的 智能体完成一个回合后,以及每次打开应用时,也会更新一次。graphify 会缓存读过的每个文件,因此更新只会重新 读取有变化的部分。关闭后可用立即更新手动更新。

设置

卡片标题栏中的设置按钮:

  • 自动更新和引导智能体使用图谱(见上文)。
  • 语言:从图谱中排除整门语言。
  • 额外忽略:额外的模式,每行一个,.gitignore 语法。项目中的 .gitignore 和 .graphifyignore 始终生效。
  • 包含 git 忽略的文件:适用于应进入图谱的生成代码。

更改索引范围会重新构建图谱。

WSL 和 SSH 工作区

  • WSL:graphify 在 Windows 上运行,通过 Windows 路径读取发行版中的文件。位于 Windows 磁盘上的项目 (/mnt/c/…)照常监视文件;位于发行版自身磁盘上的项目,会在已连接智能体完成回合后以及点击立即更新 时更新。
  • SSH:不支持,卡片会注明。请使用代码图谱插件,它会在 SSH 主机上运行自己的引擎。

Graphify 还是代码图谱?

两者都会索引代码,但擅长回答的问题不同,可以同时使用。

代码图谱Graphify
擅长精确导航:调用者和被调用者、代码片段、只读 Cypher、语义搜索用自然语言提问 → 相关子图、事物之间如何关联、修改会影响什么
还会映射路由、包子系统、Markdown 章节、NOTE: / WHY: 注释
卡片上索引统计和搜索框实时地图,动画展示每次查询
WSL / SSH在 WSL 内和 SSH 主机上运行WSL 通过 Windows 路径;不支持 SSH

图谱基于工作区文件夹构建。在隔离 worktree 中工作的智能体查询的仍是主文件夹的图谱。

隐私与存储

一切都在你的电脑上运行。Graphify 只读取代码(不处理需要语言模型的文档、图片等内容),从不使用语言模型, 也不会向它传递任何 API 密钥。graphify 没有遥测,其可选的查询日志已关闭。引擎位于应用的数据文件夹中,每个 图谱位于其中的 graphify/projects/<文件夹>-<哈希>/。不会向你的项目或主目录写入任何内容。删除某个文件夹的 最后一张卡片会删除其图谱。

graphify 由 Graphify-Labs 开发,以 Apache License 2.0 发布。

故障排除

  • 在代理后安装失败。 uv 使用应用环境中的 HTTPS_PROXY / HTTP_PROXY;在启动 NeuroSquad 之前设置它, 然后再次点击安装。
  • 安装失败,提示 “no matching distribution”。 某个包没有适用于你系统的二进制包;graphify 不会从源码 构建。卡片会显示 uv 的消息。
  • “仍在构建”。 非常大的工作区首次构建需要一些时间;卡片会显示进度,智能体提问时也会得到同样的进度。
  • 智能体仍在使用 grep。 检查箭头是否存在、引导智能体使用图谱是否开启,以及智能体的 CLI 是否属于 接收指引的那些(其他 CLI 会被卡片标为“仅工具”)。也可以直接要求它:“用 graphify 查找…”。
  • 地图为空或缺少文件。 检查设置中的语言和额外忽略,以及项目的 .gitignore。
  • 卡片提示不支持 SSH。 SSH 工作区请使用代码图谱插件。