ClawSweeper 是 OpenClaw 的维护机器人技能,位于 ~/Projects/clawsweeper,用于清扫(sweep)、修复任务(repair jobs)和受控修复 PR(guarded fix PRs)。当被问及报告、发现、派发健康、修复/云端 PR 创建、评论命令、自动合并、权限或门控时,应使用此技能。
一、用途 ClawSweeper 是 OpenClaw 唯一的维护机器人,负责 issue/PR 清扫报告、修复任务以及受保护的修复 PR。它使用 ClawSweeper 仓库和 clawsweeper GitHub App,仅使用 CLAWSWEEPER_* 配置,不使用旧版应用、变量、标签或技能。
二、主要能力
- 清扫报告:issue/PR 报告存放于 records/<repo-slug>/items/<number>.md 和 records/<repo-slug>/closed/<number>.md。报告以计数、具体发现和报告链接开头。PR 报告包含 Codex /review 风格的 reviewFindings,含优先级、置信度、仓库相对文件和行范围。
- 修复任务:可从 issue/PR 引用和维护者提示创建任务,也可从现有 ClawSweeper 报告创建。任务创建器会检查是否已有打开的 PR、正文匹配或远程 clawsweeper/<cluster-id> 分支,避免重复。
- 替换 PR:对于有用但不可编辑、过时或不安全的源 PR,可创建窄范围的 ClawSweeper 替换 PR,保留源 PR 作者为共同作者,并在替换 PR 打开后关闭源 PR。
- 维护者提及命令:支持 @clawsweeper status、re-review、review、fix ci、address review、rebase、autofix、automerge、approve、explain、stop 等命令,以及自由形式的只读辅助审查。
- 受信 autofix 与 automerge:@clawsweeper autofix 将现有 PR 纳入有界审查/修复循环;@clawsweeper automerge 纳入有界审查/修复/合并循环。
- 监控:可通过 gh run list 查看 sweep.yml、repair-cluster-worker.yml、repair-comment-router.yml、github-activity.yml 以及目标派发器 ClawSweeper Dispatch 的运行状态。
三、使用方式
- 应用设置:需要 CLAWSWEEPER_APP_CLIENT_ID 和 CLAWSWEEPER_APP_PRIVATE_KEY。目标应用权限包括读取目标扫描上下文、写入 issue 和 PR、contents 写入用于报告提交/修复分支/工作流输入、Actions 写入用于评论路由重新审查派发等。
- 令牌边界:Codex worker 不获得变更凭据;审查 worker 以剥离密钥/令牌环境运行;确定性脚本通过短期 GitHub App 令牌负责评论、标签、分支推送、PR 创建、关闭和合并;合并与写入门控默认关闭。
- 创建修复任务:使用 pnpm run repair:create-job -- --repo openclaw/openclaw --refs 123,456 --prompt-file /tmp/clawsweeper-prompt.md,或从报告创建。使用 --dry-run 检查,--force 仅在确认重复保护过时后使用。
- 验证、提交后派发:先 pnpm run repair:validate-job,再 pnpm run repair:dispatch,指定 --mode、--runner、--execution-runner、--model。任务文件必须先提交并推送,再派发。
- 门控:CLAWSWEEPER_ALLOW_EXECUTE、CLAWSWEEPER_ALLOW_FIX_PR、CLAWSWEEPER_ALLOW_MERGE、CLAWSWEEPER_ALLOW_AUTOMERGE、CLAWSWEEPER_COMMENT_ROUTER_EXECUTE。仅在明确授权窗口内更改,并记录原始状态与恢复约定。
- 评论路由:可手动运行 pnpm run repair:comment-router -- --repo openclaw/openclaw --lookback-minutes 180,或加 --execute --wait-for-capacity。计划路由默认 dry,除非 CLAWSWEEPER_COMMENT_ROUTER_EXECUTE=1。
四、适用场景 适用于 OpenClaw 仓库的 issue/PR 维护自动化,包括生成清扫报告、创建和派发修复任务、处理维护者提及命令、执行受控 autofix/automerge、监控工作流运行状态等。
五、限制
- 安全边界:不得将未批准的安全敏感工作提交给 ClawSweeper Repair。漏洞报告、CVE/GHSA/公告工作、泄露的密钥/令牌/密钥、明文密钥存储、SSRF、XSS、CSRF、RCE、认证绕过、权限提升和敏感数据暴露应路由到 OpenClaw 中央安全处理。
- 合并条件:automerge 仅在 ClawSweeper 通过精确当前 head、检查为绿色、GitHub 表示可合并、无人工审查标签、PR 非草稿且两个合并门控均打开时才合并。
- 修复上限:CLAWSWEEPER_MAX_REPAIRS_PER_PR=10,CLAWSWEEPER_MAX_REPAIRS_PER_HEAD=1。
- 缺失 changelog 不是审查发现或合并阻塞项;CHANGELOG.md 仅用于发布,正常修复不得编辑 changelog。
- 状态和报告请求保持只读;对报告读取工作不得发布未经请求的 GitHub 评论。
- 创建 PR 并启用 automerge 后,应将本地 OpenClaw 检出恢复到 main 并快进;若有不相关本地编辑或进行中的 rebase 阻止切换,应报告阻塞而非 stash、删除或覆盖工作。