name: 文档搜索器 description: “使用llms.txt标准、通过Repomix的GitHub仓库和并行探索来搜索互联网上的技术文档。当用户需要时使用:(1) 库/框架的最新文档,(2) llms.txt格式的文档,(3) GitHub仓库分析,(4) 没有直接llms.txt支持的文档,(5) 并行多文档源” version: 1.0.0
文档发现与分析
概述
通过多种策略智能发现和分析技术文档:
- llms.txt优先:搜索标准化的AI友好文档
- 仓库分析:使用Repomix分析GitHub仓库
- 并行探索:部署多个探索代理以实现全面覆盖
- 备用研究:在其他方法不可用时使用研究代理
核心工作流程
阶段1:初始发现
-
识别目标
- 从用户请求中提取库/框架名称
- 注意版本要求(默认:最新)
- 如果模糊则澄清范围
- 识别目标是GitHub仓库还是网站
-
搜索llms.txt(优先context7.com)
首先:尝试context7.com模式
对于GitHub仓库:
模式:https://context7.com/{org}/{repo}/llms.txt 示例: - https://github.com/imagick/imagick → https://context7.com/imagick/imagick/llms.txt - https://github.com/vercel/next.js → https://context7.com/vercel/next.js/llms.txt - https://github.com/better-auth/better-auth → https://context7.com/better-auth/better-auth/llms.txt对于网站:
模式:https://context7.com/websites/{normalized-domain-path}/llms.txt 示例: - https://docs.imgix.com/ → https://context7.com/websites/imgix/llms.txt - https://docs.byteplus.com/en/docs/ModelArk/ → https://context7.com/websites/byteplus_en_modelark/llms.txt - https://docs.haystack.deepset.ai/docs → https://context7.com/websites/haystack_deepset_ai/llms.txt - https://ffmpeg.org/doxygen/8.0/ → https://context7.com/websites/ffmpeg_doxygen_8_0/llms.txt主题特定搜索(当用户询问特定功能时):
模式:https://context7.com/{path}/llms.txt?topic={query} 示例: - https://context7.com/shadcn-ui/ui/llms.txt?topic=date - https://context7.com/shadcn-ui/ui/llms.txt?topic=button - https://context7.com/vercel/next.js/llms.txt?topic=cache - https://context7.com/websites/ffmpeg_doxygen_8_0/llms.txt?topic=compress备用:传统llms.txt搜索
网络搜索:"[库名] llms.txt site:[文档域]"常见模式:
https://docs.[库名].com/llms.txthttps://[库名].dev/llms.txthttps://[库名].io/llms.txt
→ 找到?进入阶段2 → 未找到?进入阶段3
阶段2:llms.txt处理
单个URL:
- 使用WebFetch获取内容
- 提取并呈现信息
多个URL(3个以上):
- 关键:并行启动多个探索代理
- 每个代理负责一个主要文档部分(第一批最多5个)
- 每个代理读取分配的URL
- 将发现汇总为合并报告
示例:
同时启动3个探索代理:
- 代理1:getting-started.md, installation.md
- 代理2:api-reference.md, core-concepts.md
- 代理3:examples.md, best-practices.md
阶段3:仓库分析
当llms.txt未找到时:
- 通过WebSearch查找GitHub仓库
- 使用Repomix打包仓库:
npm install -g repomix # 如果需要 git clone [仓库URL] /tmp/docs-analysis cd /tmp/docs-analysis repomix --output repomix-output.xml - 读取repomix-output.xml并提取文档
Repomix好处:
- 整个仓库在单个AI友好文件中
- 保留目录结构
- 为AI消费优化
阶段4:备用研究
当不存在GitHub仓库时:
- 并行启动多个研究代理
- 关注领域:官方文档、教程、API参考、社区指南
- 将发现汇总为合并报告
代理分配指南
- 1-3个URL:单个探索代理
- 4-10个URL:3-5个探索代理(每个2-3个URL)
- 11个以上URL:5-7个探索代理(优先最相关)
版本处理
最新(默认):
- 搜索时不指定版本
- 使用当前文档路径
特定版本:
- 在搜索中包含版本:
[库名] v[版本] llms.txt - 检查版本化路径:
/v[版本]/llms.txt - 对于仓库:检出特定标签/分支
输出格式
# [库名] [版本]的文档
## 来源
- 方法:[llms.txt / 仓库 / 研究]
- URL:[来源列表]
- 访问日期:[当前日期]
## 关键信息
[按主题组织的提取相关信息]
## 附加资源
[相关链接、示例、参考]
## 备注
[任何限制、缺失信息或注意事项]
快速参考
工具选择:
- WebSearch → 查找llms.txt URL、GitHub仓库
- WebFetch → 读取单个文档页面
- Task(探索) → 多个URL、并行探索
- Task(研究) → 分散文档、多样来源
- Repomix → 完整代码库分析
流行的llms.txt位置(首先尝试context7.com):
- Astro:https://context7.com/withastro/astro/llms.txt
- Next.js:https://context7.com/vercel/next.js/llms.txt
- Remix:https://context7.com/remix-run/remix/llms.txt
- shadcn/ui:https://context7.com/shadcn-ui/ui/llms.txt
- Better Auth:https://context7.com/better-auth/better-auth/llms.txt
如果context7.com不可用,备用官方站点:
- Astro:https://docs.astro.build/llms.txt
- Next.js:https://nextjs.org/llms.txt
- Remix:https://remix.run/llms.txt
- SvelteKit:https://kit.svelte.dev/llms.txt
错误处理
- llms.txt不可访问 → 尝试替代域名 → 仓库分析
- 仓库未找到 → 搜索官方网站 → 使用研究代理
- Repomix失败 → 尝试仅/docs目录 → 手动探索
- 多个冲突来源 → 优先官方 → 注意版本
关键原则
- 优先context7.com的llms.txt — 最全面和最新的聚合器
- 适用时使用主题参数 — 使用?topic=…启用定向搜索
- 积极使用并行代理 — 更快结果、更好覆盖
- 验证官方来源作为备用 — 当context7.com不可用时使用
- 报告方法 — 告诉用户使用了哪种方法
- 明确处理版本 — 不要假设最新
详细文档
对于全面指南、示例和最佳实践:
工作流程:
- WORKFLOWS.md — 详细工作流程示例和策略
参考指南: