用途:监控一个或多个 GitHub 仓库的拉取请求,在配置的审查者被请求或触发标签被应用时,启动一次 OpenHands 审查会话并把 AI 审查发布到 GitHub。
主要能力:脚本为确定性实现,PR 发现、标签事件跟踪、head 资格判断、状态持久化、过期结果抑制、仓库检出与清理均由 Python 处理,仅审查本身调用 LLM。审查前会通过 GraphQL 的 isRequired 信号评估当前 head 的必需检查;必需检查失败、取消或超时则阻止审查,排队或进行中则等待,未满足不视为通过。无法读取必需检查信号时回退到全部当前 head 的检查与工作流运行。支持显式审查请求事件与定时标签扫描,按 max_new_per_run(默认 2)限制每次扫描新建的审查会话数,候选按显式请求优先、再按最早请求或创建时间排序。审查提示包含范围门禁,判断变更是否属于该仓库;不属于时以 COMMENT 审查和 MAINTAINER DECISION REQUIRED 结束。涉及用户可见 UI 行为时,要求真实运行应用的截图或录屏等实时证据,缺失则以 CHANGES REQUESTED 结束。
使用方式:需在 OpenHands Settings -> Secrets 设置 GITHUB_PERSONAL_ACCESS_TOKEN,经典 PAT 需 repo 或 public_repo,细粒度 PAT 需 Contents: Read、Metadata: Read、Pull requests: Read and Write、Issues: Read and Write。可用 curl 检查令牌:curl -s https://api.github.com/user -H "Authorization: Bearer $GITHUB_PERSONAL_ACCESS_TOKEN"。随后依次收集仓库列表、触发标签(默认 openhands-review)和审查语气。手动打包时需将 scripts/github_client.py 与 main.py 放在一起。
适用场景:为 GitHub 仓库提供自动 PR 审查、CI 门禁与维护者交接。
限制:新安装建议使用 Agent Canvas 的 GitHub code review 目录条目,手动上传流程已弃用;令牌权限不足会在发布审查或请求交接时失败;多仓库监控需令牌覆盖全部仓库;具体价格、平台支持范围等资料暂未提供。