文档发现与分析(Docs Seeker)

入门 Starter 工具型 Tool claude-code
4 min read · 203 lines

多策略技术文档智能发现:llms.txt 优先、仓库分析、Web 搜索

文档发现与分析(Docs Seeker)

概述

通过多种策略实现技术文档的智能发现与分析:

  1. llms.txt 优先:搜索标准化的 AI 友好文档
  2. 仓库分析:使用 Repomix 分析 GitHub 仓库
  3. 并行探索:部署多个 Explorer Agent 实现全面覆盖
  4. 回退研究:当其他方法不可用时使用 Researcher Agent

核心工作流

阶段一:初始发现

  1. 识别目标

    • 从用户请求中提取库/框架名称
    • 记录版本要求(默认:最新版)
    • 如有歧义则澄清范围
    • 识别目标是 GitHub 仓库还是网站
  2. 搜索 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 搜索

    WebSearch:"[库名] llms.txt site:[文档域名]"
    

    常见模式:

    • https://docs.[library].com/llms.txt
    • https://[library].dev/llms.txt
    • https://[library].io/llms.txt

    找到则进入阶段二;未找到则进入阶段三。

阶段二:llms.txt 处理

单个 URL:

  • 使用 WebFetch 获取内容
  • 提取并呈现信息

多个 URL(3+):

  • 关键:并行启动多个 Explorer Agent
  • 每个 Agent 处理一个主要文档部分(首批最多 5 个)
  • 每个 Agent 读取分配的 URL
  • 将发现汇总为综合报告

示例:

同时启动 3 个 Explorer Agent:
- Agent 1:getting-started.md、installation.md
- Agent 2:api-reference.md、core-concepts.md
- Agent 3:examples.md、best-practices.md

阶段三:仓库分析

当 llms.txt 未找到时:

  1. 通过 WebSearch 查找 GitHub 仓库
  2. 使用 Repomix 打包仓库:
    npm install -g repomix  # 如需安装
    git clone [repo-url] /tmp/docs-analysis
    cd /tmp/docs-analysis
    repomix --output repomix-output.xml
    
  3. 读取 repomix-output.xml 并提取文档

Repomix 优势:

  • 整个仓库打包为单个 AI 友好文件
  • 保留目录结构
  • 为 AI 消费优化

阶段四:回退研究

当不存在 GitHub 仓库时:

  • 并行启动多个 Researcher Agent
  • 重点领域:官方文档、教程、API 参考、社区指南
  • 将发现汇总为综合报告

Agent 分配指南

  • 1-3 个 URL:单个 Explorer Agent
  • 4-10 个 URL:3-5 个 Explorer Agent(每个 2-3 个 URL)
  • 11+ 个 URL:5-7 个 Explorer Agent(优先处理最相关的)

版本处理

最新版(默认):

  • 不带版本标识符搜索
  • 使用当前文档路径

特定版本:

  • 搜索中包含版本:[library] v[version] llms.txt
  • 检查版本化路径:/v[version]/llms.txt
  • 对于仓库:检出特定标签/分支

输出格式

# [Library] [Version] 文档

## 来源
- 方法:[llms.txt / 仓库 / 研究]
- URL:[来源列表]
- 访问日期:[当前日期]

## 关键信息
[按主题组织的提取相关信息]

## 补充资源
[相关链接、示例、参考]

## 说明
[任何限制、缺失信息或注意事项]

快速参考

工具选择:

  • WebSearch -> 查找 llms.txt URL、GitHub 仓库
  • WebFetch -> 读取单个文档页面
  • Task(Explore)-> 多个 URL、并行探索
  • Task(Researcher)-> 分散的文档、多样化的来源
  • Repomix -> 完整代码库分析

热门 llms.txt 地址(优先尝试 context7.com):

如果 context7.com 不可用则回退到官方网站:

错误处理

  • llms.txt 无法访问 -> 尝试替代域名 -> 仓库分析
  • 仓库未找到 -> 搜索官方网站 -> 使用 Researcher Agent
  • Repomix 失败 -> 仅尝试 /docs 目录 -> 手动探索
  • 多个冲突来源 -> 优先官方来源 -> 注明版本

关键原则

  1. 优先使用 context7.com 获取 llms.txt —— 最全面和最新的聚合器
  2. 适用时使用主题参数 —— 通过 ?topic=... 实现定向搜索
  3. 积极使用并行 Agent —— 更快的结果、更好的覆盖
  4. 将官方来源作为回退验证 —— context7.com 不可用时使用
  5. 报告方法论 —— 告知用户使用了哪种方法
  6. 显式处理版本 —— 不要假设使用最新版

详细文档

完整的指南、示例和最佳实践:

工作流:

参考指南:

相关技能 Related Skills