用途 private-github-search 用于在用户所有 GitHub 仓库(包括私有仓库)中进行全文搜索,适合回答“我把 X 放在哪了”“哪个仓库里有……”这类问题。资料说明,GitHub 的现代代码搜索(能索引私有仓库的版本)仅在网页端提供,而 gh search code 使用旧引擎,对私有仓库经常搜不到结果。该技能因此改为搜索所有仓库的本地镜像,覆盖与 GitHub 索引相同的内容(默认分支、非 fork 仓库),且完整搜索只需毫秒级。
主要能力
- 通过本地镜像覆盖全部仓库(含私有仓库)的全文搜索。
- 使用 ripgrep 进行快速检索:rg -il 'pattern' ~/repo-mirror/repos 可列出匹配文件,rg -in 'pattern' ~/repo-mirror/repos | head 可查看匹配行。
- 内置同步脚本,可增量刷新镜像:若距上次同步不足一小时则立即退出,否则约需 15 秒;--force 可无视时间强制同步。
使用方式
- 定位脚本(适用于插件安装和手动符号链接):find ~/.claude ~/.codex -name "private-github-search-sync.sh" 2>/dev/null | sort -V | tail -1
- 先刷新镜像:bash <脚本路径>
- 用 ripgrep 搜索:rg -il 'pattern' ~/repo-mirror/repos 或 rg -in 'pattern' ~/repo-mirror/repos | head
首次配置 若 ~/repo-mirror/owners.txt 不存在,需先询问用户要镜像哪些 GitHub 账号(资料明确提示不要猜测,用户可能管理多个账号),将账号按每行一个写入 ~/repo-mirror/owners.txt,然后在后台运行同步脚本。初次克隆需要数分钟,且需要 gh 已认证并拥有对这些账号的访问权限。
适用场景
- 跨多个自有仓库查找某个函数、配置或代码片段的位置。
- 在包含私有仓库的范围内做全文检索,弥补 gh search code 对私有仓库的不足。
- 需要毫秒级响应的本地快速搜索。
限制与注意事项
- 镜像只包含默认分支的末端,若需查看历史或其他分支,应改用完整克隆中的 git log -S 或 GitHub 网页搜索。
- 镜像可能包含私有数据:应使其远离被同步的文件夹,且绝不能提交或发布其内容。
- 其他细节(如具体支持的操作系统、脚本实现细节等)资料未提供。