Gitcrawl —— 本地GitHub归档搜索与PR状态同步技能

381980 80119 更新时间: 2026-07-12 18:08:10

Gitcrawl 是一个面向 GitHub 仓库的本地归档优先的 Issue/PR 检索与操作辅助技能。它的核心理念是:在调用 GitHub 实时 API 之前,优先使用本地缓存的 Issue/PR 归档数据,从而提升检索效率、降低对 GitHub API 的实时依赖。该技能基于 Go 模块构建,安装命令为 go install github.com/openclaw/gitcrawl/cmd/gitcrawl@latest

安装
npx skills add https://github.com/openclaw/openclaw --skill gitcrawl
技能详情 readonly

1. 数据新鲜度检查

在执行任何检索之前,应先通过 gitcrawl doctor --json 检查本地归档数据的新鲜度,确保后续查询基于足够新的数据

2. 归档检索(本地优先)

Gitcrawl 提供多种本地检索命令,无需实时调用 GitHub API:

命令 用途
gitcrawl threads 按编号批量获取 Issue/PR 线程
gitcrawl neighbors 获取与指定 Issue/PR 关联的相邻线程
gitcrawl search 按关键词搜索 Issue,支持按状态(open/closed)筛选
gitcrawl clusters 识别相似的 Issue 聚类,支持按规模排序和最小规模过滤
gitcrawl cluster-detail 查看某个聚类的详细信息

所有检索命令均支持 --json 输出,便于程序化处理

3. PR 状态同步(gh-shim)

在做出合并/变更决策前,Gitcrawl 提供了 gitcrawl gh 子命令来获取 PR 的最新状态:

  • gitcrawl gh pr status --compact —— 查看 PR 状态摘要

  • gitcrawl gh pr view --json —— 查看 PR 的详细 JSON 信息(包括编号、标题、状态、URL、是否草稿、头部分支和 SHA)

  • 使用 --live 标志可强制获取实时数据

4. 实况校验(live gh

实际执行变更操作(评论、打标签、关闭、重新打开、合并、提交 PR 审核)之前,必须使用原生的 gh 命令行工具进行实时校验

bash
gh pr view <number> --json number,title,state,mergedAt,body,files,comments,reviews,statusCheckRollup
gh issue view <number> --json number,title,state,body,comments,closedAt

三、主要用途

1. Issue/PR 分类与筛选(Triage)

在大量 Issue/PR 中快速定位候选对象——先查本地归档获取上下文,仅在需要做变更决策时才调用实时 API

2. 重复 Issue 检测与管理

通过 clusters 和 cluster-detail 命令发现语义相似的 Issue 聚类,便于合并或归类处理

3. PR 合并前的状态确认

在合并 PR 之前,通过 gitcrawl gh 快速确认 PR 的最新状态(是否可合并、是否草稿、头部分支等),避免基于过期数据做出错误决策

4. 减少 API 调用

通过本地归档优先的策略,显著降低对 GitHub API 的实时调用频率,提升检索速度,尤其适合需要批量处理大量 Issue/PR 的场景。


四、标准工作流程

text
1. gitcrawl doctor --json          → 检查归档新鲜度
2. gitcrawl search / threads / clusters → 在本地归档中检索候选
3. gitcrawl gh pr view             → 获取 PR 最新状态(缓存优先)
4. gitcrawl gh --live pr view      → 仅在需要实时数据时使用 --live
5. gh pr view / gh issue view      → 在执行任何变更操作前,用原生 gh 做最终实况校验
6. 执行变更操作(合并、关闭、打标签等)

五、重要原则与注意事项

  1. 报告完整性:在输出结果时,必须报告绝对日期、仓库名称、Issue/PR 编号、聚类 ID 以及数据来源缺口

  2. 相似性≠操作依据不得仅凭相似性就执行关闭或打标签操作——必须确保意图匹配,并经过实况验证

  3. 变更前必须实况校验:在评论、打标签、关闭、重新打开、合并或提交 PR 审核之前,必须使用原生 gh 命令进行实时数据核对


六、总结

Gitcrawl 是一个本地优先的 GitHub 归档查询与 PR 状态同步工具,通过“先归档后实时”的策略,在保证数据准确性的前提下大幅提升 Issue/PR 检索效率。它特别适合需要高效处理大量 GitHub Issue/PR 的开发者、开源项目维护者或自动化 triage 流程使用。