> For AI agents: the complete documentation index is available at /llms.txt, the full documentation bundle is available at /llms-full.txt.

# AI 工具调研清单 — 完整对比

> 2026-05-29 调研。目标:让 AI 在多 repo 找对信息 + 写代码前知道东西已经有了、不重复造轮子。
> 每个工具的好坏都查过资料核实(部分来自 GitHub issue、Reddit、G2 真实用户反馈),不是凭印象编的。
> 这是**详细对比**;直接看结论去 [AI 工具栈选定](/tooling/ai-tooling-stack.md)。

## 四类工具,各管一件事

把 AI 找信息想成一条流水线:

| 这一层  | 大白话             | 代表工具                                                      |
| ---- | --------------- | --------------------------------------------------------- |
| ① 规则 | 告诉 AI「该怎么干活」    | CLAUDE.md / AGENTS.md                                     |
| ② 导航 | 告诉 AI「东西在哪个文件」  | vitepress-plugin-llms                                     |
| ③ 打包 | 把小项目整个塞给 AI 看全貌 | Repomix / code2prompt                                     |
| ④ 搜索 | 让 AI 按需在所有代码里搜  | claude-context / cocoindex-code / mcp-local-rag / Augment |

核心需求(写代码防重复)主角是 **④ 搜索**。

***

## ① 规则文件

| 工具        | 是什么                    | 谁读它                            |
| --------- | ---------------------- | ------------------------------ |
| CLAUDE.md | 给 AI 的项目规则             | 只有 Claude Code 读               |
| AGENTS.md | 通用的 AI 规则标准(6 万多个项目在用) | Codex、Cursor、Copilot、Gemini 都读 |

- **关键**:Claude 不自动读 AGENTS.md,得在 CLAUDE.md 里写一行引用它。
- **反常识**:规则不是越多越好,研究发现塞太多反而让 AI 表现更差。要精简。

***

## ② 导航(llms.txt 生成)

### vitepress-plugin-llms(我们的网站原生支持)

**是什么**:每次你 build 网站时,它自动生成一份「东西在哪」的导航文件,不用你手写维护。配置就一行,接在你已经在跑的命令上。

**好在哪**:零维护、自动更新、不会过期;接进现有流程不折腾。

**坑在哪(核实过)**:

- **作者明说这是给英文文档的,中文别用** —— 我们是中文文档,得先跑一次看中文导航能不能用。
- 生成的文件放在「打包好的网站」目录,**不回到源代码文件夹** —— 而 AI 读的是源代码文件夹,这个得另想办法。
- 有个已知 bug:文档里用了某种引用语法时,复制按钮会复制错。

### 其他导航工具(都不适合我们)

| 工具              | 为什么不行                     |
| --------------- | ------------------------- |
| Mintlify 自动导航   | 绑死在它的托管上,搬不走,只管搬进它的页面     |
| firecrawl       | 得先把网站发布上线它才能爬,读不到本地文件     |
| llms-txt-action | 生成的文件不回源代码,还要额外配置         |
| Docusaurus 专用插件 | 只支持 Docusaurus,而且部分已经没人维护 |

***

## ③ 打包(把整个 repo 塞给 AI 看全貌,适合小项目)

两个工具都是「打包工」—— 把一个 repo 的所有代码塞进一个文件丢给 AI。区别就一个:**打包时压不压缩**。

### Repomix(25.7 万人用,社区首选)

**是什么**:聪明的打包工。打包时会**压缩** —— 只留代码骨架(函数名、结构),删掉里面的具体实现,所以包小很多。

**好在哪**:

- 包小,稍大的项目也塞得下。
- 打包前**自动检查有没有把密码、密钥打包进去**(防泄密)。
- 跟 Claude Code 集成好,有官方插件。

**★ 我们自己实测(2026-05-29)**:

- **代码 repo(lead-tracking,58 文件)**:不压缩 62,575 token → 压缩后 37,097 token,**省 41%**(不是宣传的 70%,但 37K 能轻松喂进 AI)。Secretlint 真的自动排除了 2 个可疑文件。✅ 适合「让 AI 通读一个小代码 repo」。
- **docs repo(本站,864 文件)**:打包完 **1734 万 token,喂不进任何 AI**;前 5 大文件全是 SVG 图(`dynamodb.svg` 一个占 22%),光图就吃掉一半。❌ **docs repo 打包不可行**(太大 + 全是图),要用得先排除 SVG/图片。

**坑在哪(核实过)**:

- **超大项目照样塞不下** —— Google 一个大项目用它打包,压缩完还是有 5600 万「字」,远超 AI 能读的量。
- 打出来的包可能超过某些 AI 工具的文件大小限制,得拆开。
- 太大的单个文件(超 50MB)它直接跳过不打包。
- 压缩功能还标着「实验性」,不是所有编程语言都压得好。

### code2prompt(7.4 万人用,给爱折腾的人)

**是什么**:老实的打包工。**不压缩**,原样全塞进去。

**好在哪**:能自定义打包格式;能**估算这个包喂给不同 AI 各要花多少钱**;速度快。

**坑在哪(核实过)**:

- **不压缩,所以包大** —— 项目稍大就塞不下,比 Repomix 更容易超。
- 社区里 Repomix 是默认选择,它是「给高级用户的替代品」。

**同类的还有几个**:gitingest、yek、files-to-prompt,都是「老实打包」这一派,原理一样。

***

## ④ 搜索(让 AI 按需在所有代码里搜)★ 我们真需求的主角

这一类干的事:**让 AI 写新功能前,先告诉它「这个能力已经有了,在那个文件」**,AI 就不会重复造轮子。

**先说共同点**:这一类**全是辅助 CC 的插件**(装成 MCP server),**你照常用 CC,它们在背后帮 CC 搜代码,没有一个要你换掉 CC**。

**两种做法,效果不一样**:

|            | A 按意思搜                                              | B 按关系搜                                    |
| ---------- | --------------------------------------------------- | ----------------------------------------- |
| **怎么搜**    | 给每段代码做张「这段干什么」的卡片,你问问题时按意思匹配                        | 建张「谁调用谁、谁依赖谁」的精确地图                        |
| **哪几个工具**  | claude-context、cocoindex-code、mcp-local-rag(**三个**) | Augment、Sourcegraph(**两个**)               |
| **找东西**    | 哪怕代码里没你搜的那个词,意思接近也能找到                               | 精确:你改一个函数,它告诉你「这 8 个地方在用它」                |
| **对「防重复」** | 够用 —— 告诉你「这有个现成的 helper」                            | **更强** —— 不光告诉你 helper 在哪,还告诉你它被谁用了、改了影响谁 |
| **花钱**     | 免费(全开源)                                             | 要花钱(Augment 付费,Sourcegraph 出局)            |

**对你「写代码防重复」这个需求**:B(按关系搜)理论上更对症,因为它懂结构不只懂意思。但 B 的代表 Augment 要付费,免费的全是 A。**取舍是:免费的 A 类够用但不精确,精确的 B 类要花钱。**

**一个重要发现**(来自研究):按意思搜(A 类)对「找对文件」这件事,**不一定比 AI 直接用关键词搜更强**。所以下面这些工具**都得装上实测,不能光信宣传**。

### claude-context(开源,11.6 万人用)— A 按意思搜 · 辅助 CC

**是什么**:把你的代码做成「意思卡片」存进一个数据库,AI 问「处理用户登录的代码在哪」时,它返回最相关的 3-5 个函数,而不是把几千个文件全塞给 AI。

**怎么存的**:卡片存进一个叫 Milvus 的数据库(要单独搭)。做卡片可以用本地工具(不花钱、不联网)。

**好在哪**:

- **能本地跑**(不一定要用云、不一定要花钱)。
- **官方支持你那三个 AI 工具全部**(Claude + Codex + Gemini + Cursor)—— 这一类里唯一三个都明确支持的。
- 改了代码只更新改动的部分,不用整个重做。

**坑在哪(核实过,按对你的重要性排)**:

- **★ 最要害:它绑死「当前目录」** —— 即使你索引了一个 repo,**你必须人在那个 repo 目录里才能查它**(GitHub issue #245)。开发者反馈:同时开好几个 repo 时,没法在一个 repo 里查另一个 repo。**这对你「跨 9 repo 找东西」的核心需求很别扭** —— 它能索引多个 repo,但查的时候被锁在当前目录。装来试时必须重点验这个。
- 要自己搭那个数据库(Milvus),没运维经验有点门槛(单机版 Docker 装,够用)。
- 挑 Node 版本(只支持 20-23,装了 24 用不了)。
- 三个包拼起来,用户反馈有些毛刺。

### cocoindex-code(开源,母框架 10.1 万人用)— A 按意思搜 · 辅助 CC

**是什么**:跟上面 claude-context 干的事一样(按意思搜代码),区别是**卡片存在一个小文件里,不用单独搭数据库,装上就跑**。

**好在哪**:

- **1 分钟装好,零配置** —— 比 claude-context 省事(不用搭数据库)。
- 做卡片用本地工具,不花钱不联网。
- 支持多种编程语言。

**坑在哪(核实过)**:

- **支不支持多个 repo 文档没说清楚**(看起来是一个项目一个),对你「跨 9 repo」的需求是关键未知,要实测。
- **在 Mac 上做卡片慢** —— 它用不了 Mac 的 GPU 加速,只能 CPU 慢慢算。
- 完整版比较重(装的东西多),占空间。
- 没明确说支持 Gemini。

**⚠️ 诚实标注**:claude-context 和 cocoindex-code 谁的检索质量更好,**没有中立的第三方横评** —— 两边都是各自官方/blog 自夸「省 70% token」。所以「哪个更准」只能自己实测,不能信任何一方宣传。

### mcp-local-rag(开源,小众)— A 按意思搜 · 辅助 CC

**是什么**:也是按意思搜,主打**啥都不用搭,一个命令装好**,完全本地、不花钱、不联网。

**好在哪**:真·零配置(连数据库都不用搭);完全私密。

**坑在哪(核实过,这几个坑比较重要)**:

- **最大问题:要手动「喂」代码给它** —— 你改了代码不重新喂,它搜出来的就是旧的(过期)。这是它最大短板。
- 换工具要删库重来。
- 只支持 PDF、Word、txt、Markdown 这几种格式;单用户;没明确说支持 Gemini。

### Augment(付费 $20/月起)— B 按关系搜 · 辅助 CC(用它的 MCP 模式)

**是什么**:付费助手,它把你**所有 repo 的代码读了个遍、记住了谁跟谁有关系**。你改一个函数,它自动告诉你「这函数被这 8 个地方用了、依赖这几个东西、有这些测试」—— 直接防你重复造轮子。

**辅助还是替代 CC?** Augment 有两个身份:它自己是个独立工具(跟 CC 竞争,你不需要),但它**也提供 MCP 模式接进 CC**(你照常用 CC,它在背后喂 context)。你要的是后者 —— 不换 CC。

**好在哪(核实过)**:

- **记忆规模业界最大**(50 万文件),大代码库不慌。
- 不是简单搜关键词,是**真懂代码之间的关系**。
- 专业评分高(Gartner 4.8/5)。
- **最贴合我们「防重复」的需求**。

**坑在哪(核实过,真实用户骂的)**:

- **贵,而且按次烧钱** —— 2025 年改了收费方式,老用户在 Reddit 骂「挂羊头卖狗肉」「贵得离谱」。
- **没有永久免费版**,试用额度用完就得掏钱。
- 极端例子:有人一个月烧了快 $15,000。

### Sourcegraph / Cody — B 按关系搜 · 能自托管但要折腾

**是什么**:老牌的代码搜索工具,按关系搜(精确找调用、引用)。

**「代码还在,为什么不用开源版?」(核实过)**:你问得对,不是完全不能用 —— 但有三个真障碍:

- **冻结的标本** —— 2024 年 9 月开源版被冻结(archived),之后**没有任何更新/修复**,你自己 build 出来是个老版本,有 bug 也没人管。
- **License 是混的** —— 只有 Apache 那部分(基础代码搜索/浏览/导航,叫 Sourcegraph OSS)能合法免费用;企业功能是另一套闭源 license,得自己挑哪些文件能用。
- **要自己 build + 自己维护** —— 没有现成的免费安装包,得从源码编译。

**结论**:**能免费自托管基础代码搜索,但要折腾**(自己编译 + 挑 Apache 部分 + 用冻结的老版本)。对想省事的个人不划算;愿意折腾的话,基础搜索功能确实白嫖得到。它最新的 Cody(AI 版)才是转纯企业付费($59/人/月)的那个。

### ④ 类怎么选

| 你最在乎             | 选谁                             | 但要注意                                                         |
| ---------------- | ------------------------------ | ------------------------------------------------------------ |
| 支持三个 AI 工具 + 最成熟 | claude-context                 | **★ 它锁当前目录,跨 repo 查别扭**(对你核心需求是关键风险,必须实测)+ 要搭数据库 + 挑 Node 版本 |
| 最省事、装上就跑         | mcp-local-rag 或 cocoindex-code | mcp-local-rag 要手动喂、会过期;cocoindex Mac 上慢、多 repo 支持没说清         |
| 最贴合「防重复」需求(且愿付费) | Augment                        | 付费 + 烧钱被骂                                                    |
| 愿意折腾、要免费的精确关系搜   | Sourcegraph 自托管                | 自己编译 + 挑 Apache 部分 + 冻结老版本                                   |

**对你「跨 9 repo」的关键提醒**:三个免费的 A 类工具里,claude-context「锁当前目录」、cocoindex「多 repo 没说清」—— **跨 repo 这件事恰恰是它们都没明确解决的**,这正是装来试时第一个要验的。

***

## 调研中我纠正过的错误(诚实留痕)

1. 有个叫 `google/codesearch`(4 千人用)的,我一开始跟另一个同名工具搞混了 —— 它其实是 2015 年的老式关键词搜索,**没有 AI 功能**,不属于这一类。
2. cocoindex 我写过「1.8 万人用」,错了,母框架是 **10.1 万**。
3. claude-context 我说过「必须用云」,错了,**能本地跑**。
4. claude-context 我说过「不支持 Gemini」,**完全说反了,它支持**。
5. Sourcegraph 冻结时间我记错了,是 **2024 年 9 月**;而且我一开始武断判它「出局」—— 其实它的开源版**能自托管,只是要折腾**(自己编译 + 挑 Apache 部分)。
6. claude-context 我一开始把「挑 Node 版本」当主要坑 —— 其实**真正要害是「锁当前目录、跨 repo 查别扭」**,这对你的核心需求才是关键。

## 还没验证的(装上跑的时候补)

- 这几个搜索工具到底支不支持 Gemini(官方文档大多没写清)。
- claude-context 本地搭起来到底多费劲。
- vitepress-plugin-llms 生成的中文导航质量到底行不行。

## 资料来源

[Repomix](https://github.com/yamadashy/repomix) · [code2prompt](https://github.com/mufeedvh/code2prompt) · [claude-context](https://github.com/zilliztech/claude-context) · [cocoindex](https://github.com/cocoindex-io/cocoindex) · [mcp-local-rag](https://github.com/shinpr/mcp-local-rag) · [vitepress-plugin-llms](https://github.com/okineadev/vitepress-plugin-llms) · [Augment](https://www.augmentcode.com) · [AGENTS.md](https://agents.md)
