用途:给定 GitHub 仓库 URL 和搜索查询,在特定仓库内定位代码,汇总匹配结果,并通过 GitHub API 读取某个文件的完整内容,无需克隆仓库。
主要能力:从 URL 解析出 OWNER 和 REPO;使用 gh search code --repo OWNER/REPO "<query>" 搜索代码,可加 --json path,repository,sha,url,textMatches 输出结构化结果;用 gh api repos/OWNER/REPO/contents/<path> 获取文件,content 字段为 base64 需解码;对大文件可用 download_url 配合 curl -L,或按 blob SHA 请求 git/blobs,或请求 raw 内容。
使用方式:先收集仓库 URL 与搜索查询,缺失时向用户询问;搜索后若零结果则报告并请求更精确查询;多文件匹配时列出路径和片段,让用户选择要深度读取的文件;单文件匹配时确认后读取;最后展示完整文件内容,并给出与查询相关的逻辑摘要。默认使用默认分支,可指定 ref。
适用场景:在已知仓库中查找某功能实现位置、阅读指定文件、不下载整个仓库时快速定位代码。
限制:需要已安装并认证 gh(gh auth status)以及访问 GitHub 的网络;contents API 对约 1 MB 文件有限制,需使用回退方式;除非用户明确要求,否则不要克隆仓库;大文件应先询问展示全文还是部分。分支、返回格式等细节以实际工具为准。