SuperAPI AI 工具集

private-github-search

编程与开发

查看项目

更新于 10-16 12:08

技能介绍

用途 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 可无视时间强制同步。

使用方式

  1. 定位脚本(适用于插件安装和手动符号链接):find ~/.claude ~/.codex -name "private-github-search-sync.sh" 2>/dev/null | sort -V | tail -1
  2. 先刷新镜像:bash <脚本路径>
  3. 用 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 网页搜索。
  • 镜像可能包含私有数据:应使其远离被同步的文件夹,且绝不能提交或发布其内容。
  • 其他细节(如具体支持的操作系统、脚本实现细节等)资料未提供。