用途:在写代码前先搜索 GitHub 上真实存在的用法,避免凭猜测编写,适用于查询某个 API、库或代码模式的具体示例。
主要能力:使用 gh search code 检索代码中的字面 token,例如具体函数或类名、魔数常量、带引号的精确字符串;支持 language、path、filename、owner、repo 等限定符(如 --filename pnpm-workspace.yaml、--extension ts、--owner remorses、--repo owner/repo),不支持正则。使用 gh search repos 可按主题直接搜索仓库并按星标排序。可用 --json repository,path,url 配合 --jq 提取仓库名与文件路径,再用 gh repo view 查询各仓库的星标数进行排序。
使用方式:搜索时选择一个唯一且只出现在目标代码中的词,不要用自然语言句子;无结果时应减少词而不是增加词。从已知的函数、常量名出发,阅读命中结果再学习新的唯一名称继续搜索。收集候选仓库后按星标与可信度排序,完整阅读最佳的几个示例而不是只看第一条命中。深度阅读可用 opensrc path owner/repo 获取缓存的本地路径,或用 gh api 拉取文件内容。最后报告仓库 URL 和文件路径,便于后续查看。
限制:gh search code 使用 GitHub 旧版代码搜索 API,无正则,结果可能与 github.com 网站不同。gh search issues 和 gh search repos 会把单个引号参数当作短语,几乎匹配不到内容,应把词作为独立参数传入。搜索返回 HTTP 502/503/504 属于暂时性错误,应等待几秒后重试一次,不要丢弃查询。代码搜索 JSON 结果不含星标数,需要逐仓库另行查询。