自托管服务
zzet/gortex avatar
zzet/gortex

gortex 评测:把代码库变成图,让 AI 代理少读 50 倍 token

适用于 AI 代理和 IDE 的高性能代码智能引擎,支持 257 种语言、多存储库、基于图形、可通过 CLI、MCP 服务器和 API 访问。 AI 编码代理队友 - 仅公开所需的信息,将代币使用量减少高达 50 倍。 100%本地化。不和谐:。

1,575 个 Star151 个 ForkGoApache-2.0

秒懂

它是什么?
gortex 是一个用 Go 写的本地代码智能引擎,把多仓库代码解析成知识图谱,通过 CLI、MCP 和 API 暴露给 AI 代理。它的核心卖点是图查询替代整文件读取,官方宣称最多能省 50 倍 token,但实际效果取决于你的代码结构和代理的工作方式。
适合谁用?
gortex 适合那些已经在用 Claude Code、Cursor 或 Copilot 等代理,并且受困于上下文窗口溢出的开发者。它以图查询替代整文件读取,理论上能把 token 消耗降到原来的几十分之一,但前提是你的仓库能被 tree-sitter 正确解析,而且代理愿意走 MCP 工具而非直接读文件。
能商用吗?
可以。Apache-2.0 是宽松许可证:你可以使用、修改并销售基于它的软件,只需保留版权和许可证声明。
还在维护吗?
在维护。仓库最近一次提交在 2 天前。
用什么语言写的?
主要是 Go(依据 GitHub 的语言统计)。

以上回答依据项目的 GitHub 数据(最近同步于 2026年9月14日)和我们的分析,不构成法律意见。

开源项目深度解析

它解决的是 AI 代理的上下文瓶颈

AI 编程代理最大的开销不是推理,而是读文件。一个 500 行的文件,代理为了改其中 10 行,往往要把整个文件塞进上下文。gortex 的出发点就是改变这个模式:它把代码库预先解析成图,代理通过查询拿到精确的函数、调用链、影响范围,而不是读原始文本。README 里强调“agents read just what they need”,这直接对应 token 消耗的下降。它面向的是已经受困于长上下文、频繁截断的开发者,尤其是那些同时维护多个仓库、需要跨仓库追踪接口调用的人。gortex 把多仓库放进同一张图,默认支持跨仓库的契约匹配和调用链分析,这一点对微服务架构的团队尤其有吸引力。

图是怎么建起来的:tree-sitter 加三层解析

gortex 的解析分三层。第一层用 tree-sitter 做 AST 分析,覆盖 257 种语言和语法,这是基础。第二层是进程内的解析器,针对 Python、TypeScript、Go、Rust 等 16 种主流语言提供“编译器级”的符号解析,能识别函数、类、调用链、HTTP 路由。第三层是“forest-backed signatures”,用于处理前两层覆盖不到的语言,可能基于正则或更粗略的签名提取。解析结果落在一个持久化的知识图谱里,每个节点和边都有来源层级和置信度。这个设计意味着精度是分级的:主流语言可以精确到类型和调用关系,小众语言可能只有符号级别的信息。如果你主要用 Go 或 TypeScript,能拿到完整能力;但如果你用冷门语言,就得做好降级的准备。

一次安装,多个代理共用

gortex 的安装方式很直接。macOS 和 Linux 用 `curl -fsSL https://get.gortex.dev | sh`,Windows 用 PowerShell 的 `irm https://get.gortex.dev/install.ps1 | iex`。安装后跑三条命令:`gortex install` 做一次性机器设置,配置 MCP、技能和斜杠命令;`gortex daemon start --detach` 启动后台守护进程;`gortex track ~/projects/myapp` 添加仓库。之后在仓库目录里执行 `gortex init`,会生成 `.mcp.json`、hooks 和社区路由配置。关键点是 `gortex init` 会自动检测机器上已安装的 19 种代理,比如 Claude Code、Cursor、Windsurf、VS Code / Copilot,然后一次性为它们全部配置好。这意味着你不用为每个代理单独写 MCP 配置,一个命令搞定所有。

MCP 工具集:175 个工具,但只用你需要的

gortex 通过 MCP 暴露了 175 个可配置的工具,涵盖符号查找、调用链、爆炸半径、数据流、克隆检测、重构建议和代码操作。README 里强调“use only what you need”,因为工具太多反而会干扰代理的决策。它还提供 16 个资源和 3 个提示词,资源可能是预计算的图数据,提示词则是引导代理如何调用工具的模板。一个值得注意的机制是“speculative execution”:`preview_edit` 和 `simulate_chain` 可以在不写磁盘的情况下,模拟一次 WorkspaceEdit 会改变哪些内容。这避免了代理为了验证改动而反复读写文件,进一步节省 token。另外,实时编辑器覆盖层会把未保存的缓冲区推送到一个“影子图”,工具读取时能感知到你的临时改动,这对 IDE 场景很实用。

省 token 的另一个来源:GCX1 线格式

除了图查询,gortex 还在传输层做了优化。它定义了 GCX1 线格式,这是一个公开的、可往返序列化的协议,比 JSON 平均少 27% 的 token,同时保持相同的语义保真度。这意味着代理和 gortex 守护进程之间的通信更紧凑,对 token 计费的影响是直接的。不过,这个格式是 gortex 自定义的,如果你的代理或工具链不支持,就得退回 JSON。好消息是 README 说它是“published”的,所以理论上其他项目可以适配。但实际采用率未知,你可能会被锁定在 gortex 的生态里。

局限性和失败模式

gortex 的解析质量依赖 tree-sitter,而 tree-sitter 对动态语言的支持并不完美。Python 的元类、Ruby 的 method_missing、JavaScript 的 Proxy 这类运行时特性,静态解析根本抓不到。README 自己也承认,只有 16 种语言有“编译器级”解析,其余 241 种可能只有符号级信息。如果你的代码大量使用反射或动态分发,图里的调用链会不完整,代理拿到的影响分析可能漏掉关键路径。另一个限制是初次索引需要时间。虽然 README 说“extremely fast”,但那是针对查询阶段,索引一个大型多仓库项目仍然需要跑完整解析,之后还要构建深度为 3 的 reach 索引。如果仓库特别大,你可能需要等待数分钟才能开始使用。最后,gortex 的守护进程常驻内存,虽然零外部依赖,但会占用一定资源,在低配机器上可能是个负担。

替代方案:Sourcegraph 与树状解析的对比

最接近的替代品是 Sourcegraph 的 Cody 或 Sourcegraph 本身的代码搜索。Sourcegraph 走的是另一条路:它用 PostgreSQL 存储代码索引,提供全局搜索和代码导航,也支持 MCP 和 API。但 Sourcegraph 是中心化部署的,要么用云端版,要么自己搭服务器,数据不在本地。gortex 强调 100% 本地、零依赖、单二进制,数据完全在自己机器上。这意味着没有数据外泄风险,但你也失去了 Sourcegraph 的跨团队共享能力。另一个区别是 Sourcegraph 的解析器覆盖语言更广,但 gortex 的图结构更适合做影响分析,比如“改这个函数会破坏哪些调用方”。Sourcegraph 的搜索是关键词级别的,而 gortex 的爆炸半径查询是图遍历。如果你的需求是精确的调用链追踪,gortex 更合适;如果你要的是大规模代码搜索和跨团队协作,Sourcegraph 更成熟。

维护成本与许可证

gortex 使用 Apache-2.0 许可证,这是宽松许可证,允许商用和修改,但需要保留版权声明。项目发布频繁,最近一周内就有三个版本(v0.63.6 到 v0.63.8),说明迭代速度很快,但也意味着升级成本高。每次升级都可能改变 MCP 工具的行为或线格式,你需要测试代理集成是否仍然正常。安装脚本支持 SHA256 校验和 cosign 验证,发布也遵循 SLSA Build L3 级别,供应链安全做得不错。但频繁更新意味着你必须关注 changelog,否则可能遇到破坏性变更。维护方面,gortex 是单二进制,升级就是替换可执行文件,相对简单。长期来看,你要评估这个项目是否持续活跃,从最后推送时间(2026-08-20)看是活跃的,但个人项目总有风险,建议在关键路径上做好备份。

编辑结论

gortex 适合那些已经在用 Claude Code、Cursor 或 Copilot 等代理,并且受困于上下文窗口溢出的开发者。它以图查询替代整文件读取,理论上能把 token 消耗降到原来的几十分之一,但前提是你的仓库能被 tree-sitter 正确解析,而且代理愿意走 MCP 工具而非直接读文件。如果你的项目以动态语言为主,或者大量依赖反射、元编程,解析精度会下降,节省效果也会打折。在采纳之前,先跑一遍 `gortex track` 和 `gortex init`,用 `gortex mcp` 列出的工具实测一次跨文件调用链,确认它对你的代码库真的有效,再决定是否全面切换。

官方来源

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
社区笔记

社区笔记