用途
godfetch 用于统一处理外部研究类任务:查询库文档与 API 参考、检索任意 git 仓库中的源码、核对包的最新版本与弃用状态。它把原本分散在多套工具里的查询流程整理成一张路由表,按问题类型选择主工具与回退工具,适合需要频繁核对第三方库、上下游依赖或跨仓库代码的智能体工作流。
主要能力
- 库文档:先用 scripts/llms-probe.sh 探测文档域名是否发布作者官方的 llms.txt/llms-full.txt,命中后直接读取;未命中则回退到 context7 的社区索引(覆盖约 3.3 万库),通过 ctx7 CLI 先解析 library ID 再取文档片段。
- 代码检索与导航:Sourcegraph MCP 提供跨 GitHub、GitLab、Bitbucket 的 200 万以上开源仓库检索,包含精确标识符搜索、概念查询、单文件读取、定义与引用跳转、提交与差异检索等工具。GitHub 上的语义化问题可改用 Morph 的 github_codebase_search,获得带 file:line 引用的综合答案。需要多点深入时用 git-clone 把仓库浅克隆到本地缓存(默认 ~/.cache/clio-repos/)再用 shell 工具探索。
- 包版本:deps-dev 通过 scripts/get-versions.py 查询 npm、PyPI、Go、Cargo、Maven、NuGet、RubyGems 的最新稳定版,输出 package、version、published、status 四列 TSV,并标出已弃用包。
- 通用网络查询:以上都不适用时走 WebSearch → WebFetch。
使用方式
按资料中的命令执行:文档探测用 bash scripts/llms-probe.sh <docs-domain>;context7 首次需 bunx ctx7@latest login,随后 bunx ctx7@latest library <name> [query] 解析 ID、bunx ctx7@latest docs <libraryId> "<query>" 取文档;克隆用 bash scripts/git-clone.sh <repo> [--branch X] [--refresh];版本查询用 python3 scripts/get-versions.py <system> <pkg1> [pkg2] ...。文档与克隆等 I/O 型任务建议并行发起以掩盖延迟。
适用场景
查库文档与 API 参考、追踪变更日志与破坏性变更、跨仓库按标识符或概念搜代码、核对依赖最新版本与弃用情况、对比选型,以及 GitHub issue/PR/release 的查看与发现。
限制与注意事项
- 不得用 WebFetch 抓取 github.com 或 raw.githubusercontent.com,应改用对应的 gh api、gh issue view、gh pr view、gh release view 等命令。
- context7 存在社区整理与增强层,可能引入不准确内容,作者发布的 llms.txt 优先。
- llms-full.txt 体积可能极大(如 Cloudflare 约 46 MB),资料给出约 500 KB 的启发式阈值,超限应改为先读索引再按页拉取。
- Sourcegraph 索引存在约 24 小时延迟,且资料指出 MCP 访问属于 Enterprise 计划,公共实例免费层行为未经验证,若返回 401/403 应回退到 git-clone。
- Morph 的合成结论可能出错,载荷性结论需抽查。
- 不计费信息、平台支持范围等资料未提供的内容未在此描述。
以上工具选择、参数与命令均以资料为准;未在资料中明确的功能、价格或使用步骤暂未提供。