Community编程与开发github.com

ClawSweeper

用于所有 ClawSweeper 工作:OpenClaw 议题/PR 扫描报告、修复任务、云端修复 PR、@clawsweeper 维护者提及命令、受信任的 ClawSweeper 审核后自动修复/自动合并、GitHub Actions 监控、权限、门控和手动回填。

ClawSweeper 是什么?

ClawSweeper 是 OpenClaw 的维护机器人,专门处理扫描报告、修复任务和受保护的修复 PR。它覆盖了从议题/PR 状态查询、报告生成、一键修复任务创建,到自动修复/自动合并、门控管理与安全边界控制等全流程操作。该技能支持在 Claude Code、Cursor、Codex 等 AI 代理平台上通过 `@clawsweeper` 提及命令或斜杠命令触发,其核心设计强调只读操作与授权变更分离,确保在不干扰其他维护者工作流的前提下安全执行。ClawSweeper 基于专用的 GitHub App 和 `CLAWSWEEPER_*` 配置运行,通过短生命周期的令牌实现注释、标签、分支推送、PR 创建与合并等确定性操作,同时保持审核工人在无凭据环境下运行以降低安全风险。其工作流包括扫描报告(存储在 `records/<repo-slug>/items/<number>.md`)、修复任务创建与派发、替换 PR 生成、门控变量管理(如 `CLAWSWEEPER_ALLOW_EXECUTE`)、以及通过 `gh run list` 进行实时监控。安全方面,它严格路由漏洞报告等敏感内容至 OpenClaw 中心安全处理,避免未经授权的修复。

兼容平台~Claude Code✓Codex CLI~Cursor
npx skills add https://github.com/clawdbot/clawdbot/tree/main/.agents/skills/clawsweeper

Installed? Explore more 编程与开发 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

ClawSweeper 是做什么的?

ClawSweeper 位于 ~/Projects/clawsweeper。它是 OpenClaw 的唯一维护机器人,用于扫描、修复任务和受保护的修复 PR。当被问及报告、发现、调度健康、修复/云端 PR 创建、评论命令、自动合并、权限或门控时,请使用此技能。

开始

在 ClawSweeper 检出目录中检查 git status --short --branch。状态和报告请求保持只读:当需要时效性时,使用当前报告和实时读取 API,无需拉取或构建即可检查。

对于授权的实现或执行,更新一个干净的任务专属检出,并在所选命令需要时才构建。保留不相关的编辑和其他操作者的活动工作流。

一个机器人,一个应用

使用 ClawSweeper 仓库和 clawsweeper GitHub 应用。仅使用 CLAWSWEEPER_* 配置进行此自动化。不要使用旧版应用、变量、标签或技能。

所需应用设置:

  • CLAWSWEEPER_APP_CLIENT_ID:clawsweeper 的公共应用客户端 ID。
  • CLAWSWEEPER_APP_PRIVATE_KEY:仅在 actions/create-github-app-token 步骤中使用的私钥。
  • 目标应用权限:读取目标扫描上下文;写入议题和拉取请求;内容写入报告提交、修复分支和工作流输入;Actions 写入 openclaw/clawsweeper 以进行评论路由器重新审核调度、工作流调度、运行取消和自愈。

令牌边界:

  • Codex 工作人员不会获得变更凭据。
  • 审核工作人员在剥离了秘密/令牌环境变量后运行。
  • 确定性脚本通过短生命周期的 GitHub App 令牌拥有注释、标签、分支推送、PR 创建、关闭和合并的所有权。
  • 合并和写入门控默认为关闭。

托管提交审核

托管的每次提交报告和提交检查运行已退役。对于保留的离线审核已提交分支,请使用 pnpm local-review -- --base main。$autoreview --mode commit --commit <sha> 仍然是一个独立的通用审核路径。

扫描报告

议题/PR 报告位于:

records/<repo-slug>/items/<number>.md
records/<repo-slug>/closed/<number>.md

以计数、具体发现和报告链接开头。不要在报告读取工作中发布未经请求的 GitHub 评论。公开表面是 markdown 报告、持久的 ClawSweeper 审核评论和可选的检查。

PR 报告包含类似 Codex /review 风格的 reviewFindings,包含优先级、置信度、仓库相对文件路径和行范围。当存在发现时,公开的 PR 评论会显示简短的 Review findings: 列表;完整的审核评论、证据链接、可能的拥有者和运行时详情则隐藏在折叠的 Review details 块内。

对于简单的状态请求,读取现有报告和有限的活动工作流状态。仅在被请求完整审核时才使用 pnpm run audit。

对账是一个独立的授权变更操作:pnpm run reconcile 会移动/删除报告和工作计划文件。仅当请求该维护任务时才检查其 dry-run;不要在状态/报告读取期间运行对账。同样,apply-decisions 属于明确授权的应用工作流,首先运行其 dry-run。

创建一个修复任务

从议题/PR 引用和维护者提示创建任务:

pnpm run repair:create-job -- \
  --repo openclaw/openclaw \
  --refs 123,456 \
  --prompt-file /tmp/clawsweeper-prompt.md

从现有的 ClawSweeper 报告创建:

pnpm run repair:create-job -- \
  --from-report ../clawsweeper/records/openclaw-openclaw/items/123.md

任务创建器会检查是否已存在开放的 PR、正文匹配或远程 clawsweeper/<cluster-id> 分支,然后才写入另一个任务。使用 --dry-run 进行检查。仅当判断重复保护已过时时才使用 --force。

验证、提交,然后派发:

pnpm run repair:validate-job -- jobs/openclaw/inbox/clawsweeper-openclaw-openclaw-123.md
pnpm run repair:dispatch -- jobs/openclaw/inbox/clawsweeper-openclaw-openclaw-123.md \
  --mode autonomous \
  --runner blacksmith-4vcpu-ubuntu-2404 \
  --execution-runner blacksmith-16vcpu-ubuntu-2404 \
  --model gpt-6-astra

在任务文件提交并推送之前,不要派发刚创建的任务;工作流从 GitHub 读取任务路径。

替换 PR

对于有用但不可编辑/过时/不安全的源 PR,让维护者提示明确:

将 #123 视为有用的源工作。如果源分支无法安全更新(因为不可编辑、过时、仅草稿、不可合并或不安全),则创建一个窄范围的 ClawSweeper 替换 PR 而不是等待。保留源 PR 作者作为共同作者,在替换 PR 正文中注明源 PR,并且仅在替换 PR 打开后才关闭该源 PR。

工作者应输出 repair_strategy=replace_uneditable_branch 并在 source_prs 中列出源 PR URL。确定性执行器会打开或更新 clawsweeper/<cluster-id>,添加非机器人源作者作为 Co-authored-by 尾注,并仅在替换 PR 存在后才关闭被取代的源 PR。

门控

仅在明确授权的时间窗口内更改执行门控。在更改前记录原始状态和任何约定的恢复:

gh variable set CLAWSWEEPER_ALLOW_EXECUTE --repo openclaw/clawsweeper --body 1
gh variable set CLAWSWEEPER_ALLOW_FIX_PR --repo openclaw/clawsweeper --body 1
gh variable set CLAWSWEEPER_ALLOW_MERGE --repo openclaw/clawsweeper --body 1
gh variable set CLAWSWEEPER_ALLOW_AUTOMERGE --repo openclaw/clawsweeper --body 1

仅当授权窗口包含该恢复且其所有权/状态仍匹配时,才恢复门控。否则保持原样;另一个活动的维护者窗口可能有意将其保持为 1。切勿将所有门控重置作为通用清理。

重要门控:

  • CLAWSWEEPER_ALLOW_EXECUTE:允许确定性写入通道。
  • CLAWSWEEPER_ALLOW_FIX_PR:允许分支修复/替换 PR。
  • CLAWSWEEPER_ALLOW_MERGE:允许具有合并能力的应用器。
  • CLAWSWEEPER_ALLOW_AUTOMERGE:允许评论路由器自动合并。
  • CLAWSWEEPER_COMMENT_ROUTER_EXECUTE:允许计划的评论路由发布回复并派发修复。

维护者提及

对于所有面向维护者的控制,优先使用 @clawsweeper 评论。斜杠命令仍然作为兼容性别名被解析,但示例和实时指导应使用提及。

@clawsweeper status
@clawsweeper re-review
@clawsweeper review
@clawsweeper fix ci
@clawsweeper address review
@clawsweeper rebase
@clawsweeper autofix
@clawsweeper automerge
@clawsweeper approve
@clawsweeper explain
@clawsweeper stop
@clawsweeper <question or safe action request>
@clawsweeper[bot] re-review
@openclaw-clawsweeper fix ci
@openclaw-clawsweeper[bot] fix ci

接受的别名:review、re-review、rereview、review again、rerun review 和 run review。review 和 re-review 会派发一次新的 ClawSweeper 议题/PR 审核,而不启动修复。fix ci、address review 和 rebase 仅对 ClawSweeper PR 或选择了 clawsweeper:autofix 或 clawsweeper:automerge 的 PR 派发修复工作者。autofix 运行有限的审核/修复循环而不合并。automerge 运行有限的审核/修复/合并循环,但草稿 PR 保持仅修复状态,直到 GitHub 将其标记为准备就绪以供审核。

自由格式的维护者提及,例如 @clawsweeper why did automerge stop? 或 @clawsweeper:can you explain this failure?,会派发一个只读辅助审核,以提及文本作为一次性指令。答案会出现在下一个公开的 ClawSweeper 审核评论中。看起来像操作的散文不会直接变更 GitHub;它必须映射到现有的结构化建议并通过正常的确定性门控。

默认接受的维护者:OWNER、MEMBER、COLLABORATOR;后备仓库权限接受 admin、maintain 或 write。贡献者的评论将被忽略且不回复。

手动运行路由器:

pnpm run repair:comment-router -- --repo openclaw/openclaw --lookback-minutes 180
pnpm run repair:comment-router -- --repo openclaw/openclaw --execute --wait-for-capacity

计划的路由保持 dry 状态,除非 CLAWSWEEPER_COMMENT_ROUTER_EXECUTE=1。

受信任的自动修复和自动合并

@clawsweeper autofix 将现有 PR 选择加入有限的审核/修复循环。@clawsweeper automerge 将现有 PR 选择加入有限的审核/修复/合并循环。路由器会:

  • 验证维护者授权;
  • 给 PR 打上 clawsweeper:autofix 或 clawsweeper:automerge 标签;
  • 为当前头部 SHA 派发 ClawSweeper 审核;
  • 创建或重用持久的采用任务;
  • 最多修复配置的上限次数;
  • 永不合并自动修复 PR 或草稿 PR;
  • 仅当 ClawSweeper 通过了确切的当前头部、检查为绿色、GitHub 表示可合并、没有人工审核标签存在、PR 不是草稿且两个合并门控都打开时,才合并自动合并 PR。

缺少变更日志永远不会成为审核发现或合并阻塞项。CHANGELOG.md 仅用于发布;在 PR 正文或压缩提交消息中记录面向用户的发布说明上下文,切勿为普通修复编辑变更日志。

如果当合并门控关闭时 ClawSweeper 通过了,它会打上 clawsweeper:merge-ready 标签并评论而非合并。@clawsweeper stop 会添加 clawsweeper:human-review。

当被要求创建 PR 并启用 ClawSweeper 自动合并时,不要将本地 OpenClaw 检出留在 PR 分支上。在 PR 被创建、推送并且 @clawsweeper automerge 请求被发布或以其他方式确认后,将本地检出返回到 main 并在工作树干净时快进它:

git switch main
git pull --ff-only

如果不相关的本地编辑或正在进行的中止阻止切换,则报告阻塞原因,而不是 stash、删除或覆盖工作。

修复上限:

CLAWSWEEPER_MAX_REPAIRS_PER_PR=10
CLAWSWEEPER_MAX_REPAIRS_PER_HEAD=1

安全边界

不要为 ClawSweeper 修复暂存未经批准的安全敏感工作。将漏洞报告、CVE/GHSA/安全公告工作、泄露的秘密/令牌/密钥、明文密钥存储、SSRF、XSS、CSRF、RCE、认证绕过、权限提升和敏感数据暴露路由到 OpenClaw 中央安全处理。

对于明确选择了 clawsweeper:autofix 或 clawsweeper:automerge 的 PR,安全敏感的审核发现可能会派发有限修复,但合并保持阻塞,直到后续的精确头部审核干净且正常的合并门控通过。信任确定性的 ClawSweeper 安全标记、标签和任务前言;不要从模糊的文本推断安全处理。

监控

接收者工作流:

gh run list --repo openclaw/clawsweeper --workflow sweep.yml \
  --limit 12 --json databaseId,displayTitle,event,status,conclusion,createdAt,updatedAt,url
gh run list --repo openclaw/clawsweeper --workflow repair-cluster-worker.yml \
  --limit 12 --json databaseId,displayTitle,event,status,conclusion,createdAt,updatedAt,url
gh run list --repo openclaw/clawsweeper --workflow repair-comment-router.yml \
  --limit 12 --json databaseId,displayTitle,event,status,conclusion,createdAt,updatedAt,url
gh run list --repo openclaw/clawsweeper --workflow github-activity.yml \
  --limit 12 --json databaseId,displayTitle,event,status,conclusion,createdAt,updatedAt,url

目标派发器:

gh run list --repo openclaw/openclaw --workflow "ClawSweeper Dispatch" \
  --limit 8 --json databaseId,displayTitle,event,status,conclusion,headSha,url

读取输出

对于发现或失败,总结:

  • 目标仓库、项目/PR、运行、报告路径
  • 结果、置信度、严重性和确切的阻塞项
  • 受影响的文件或集群引用
  • 验证命令及其是否通过
  • 变更门控是打开还是关闭
  • 下一个确定性操作

保持扫帚小巧:一个集群、一个分支、一个 PR、窄范围的证明、清晰的拥有者可见证据。

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

1password

Set up and use 1Password CLI for sign-in, desktop integration, and reading or injecting secrets.

acp-router

Route plain-language requests for Claude Code, Cursor, Copilot, OpenClaw ACP, OpenCode, Gemini CLI, Qwen, Kiro, Kimi, iFlow, Factory Droid, Kilocode, or explicit ACP harness work into either OpenClaw ACP runtime sessions or direct acpx-driven sessions ("telephone game" flow). For coding-agent thread requests, read this skill first, then use only `sessions_spawn` for thread creation. Codex chat binding defaults to the native Codex app-server plugin unless ACP is explicit or background spawn needs ACP.

add-model-provider

Add and live-prove a model provider with non-interactive config one-liners, without exposing credentials.

agent-transcript

Requested GitHub PR/issue agent transcripts: redact, trim, preview, and insert safely.

apple-notes

Create, view, edit, delete, search, move, or export Apple Notes via the memo CLI on macOS.

apple-reminders

List, add, edit, complete, or delete Apple Reminders and reminder lists via remindctl.

auto-qa

Run OpenClaw-wide autonomous QA and live/stress campaigns across independent subsystem lanes, with verified fixes and a resumable evidence report.

autoreview

Structured code review through the shared OpenClaw agent-skills installation.

bear-notes

Create, search, and manage Bear notes via grizzly CLI.

blacksmith-testbox

Run Blacksmith Testbox for CI-parity checks, secrets, hosted services, migrations, or builds local cannot reproduce.

block-kit

Use proactively for structured or interactive Slack replies, and when asked to author or validate native Slack Block Kit JSON.

blogwatcher

Monitor blogs and RSS/Atom feeds for updates using the blogwatcher CLI.

blucli

BluOS CLI (blu) for discovery, playback, grouping, and volume.

bluebubbles

Send and manage iMessages via BlueBubbles, including attachments, tapbacks, edits, replies, and groups.

browser-automation

Use when controlling web pages with the OpenClaw browser tool, especially multi-step flows, login checks, tab management, or recovery from stale refs/timeouts.

camsnap

Capture frames or clips from RTSP/ONVIF cameras and local webcams, including USB pan/tilt/zoom control.

canvas

Present HTML on connected OpenClaw node canvases, navigate/eval/snapshot, and debug canvas host URLs.

channel-message-flows

Use when running QA Lab channel message flow evidence.

clawdtributor

Clawtributor PRs here, last week or another window: discover conversation refs, recheck GitHub, rank by impact.

clawhub

Search ClawHub for plugins by default, or skills when explicitly requested; install, verify, update, uninstall, publish, or sync skills.

相关技能