在软件开发协作中,管理多个GitHub Pull Request (PR) 常常是开发者面临的一大挑战。你是否曾遇到过这样的情况:一天结束时才发现某个PR在几小时前收到了评审评论,CI悄无声息地失败了,或者一个你标记为“待评审”的PR已经搁置两天无人问津?
为了监控PR状态而频繁进行上下文切换不仅耗费精力,而且错过关键的评审窗口更是代价巨大,可能导致整个团队的工作停滞不前。因此,开发者迫切需要一个无需切换页面、告别仪表盘或埋没在邮件中的通知方案,而是能将信息直接发送到他们日常使用的沟通工具中。
OpenClaw GitHub PR Watchdog:智能监控解决方案
GitHub PR Watchdog正是为解决这些痛点而生,它是一个构建于OpenClaw平台上的智能技能。该工具能够监控你所有开放的Pull Request,并在需要关注时,将智能、可操作的提醒直接发送到你选择的消息应用,如Telegram、Slack、Discord或WhatsApp。它在后台静默运行,按照你设定的心跳周期(例如每20分钟)检查一次,只有当有实际需要你关注的事件发生时才会主动通知。
工作原理揭秘
PR Watchdog技能通过一个存储在本地OpenClaw配置中并安全加密的个人访问令牌,连接到GitHub的REST API。它每隔设定的N分钟(默认20分钟,可配置)执行以下操作:
- 获取所有开放PR: 扫描你所关注的所有代码仓库中的开放PR。
- 检查最新活动: 针对每个PR,检查自上次检查以来的所有新活动,包括:
- 新的评审评论或修改请求;
- CI状态变化(通过/失败/待定);
- 已超出你设定“未活跃”阈值的PR;
- 已获得批准并可合并的PR。
- 发送简洁摘要: 仅针对有变化的PR发送一份简洁的摘要提醒,确保信息高度相关且无噪声。
- 自动草拟回复: 针对收到的评审评论,该技能还能草拟建议回复。用户只需发送一个简单的命令(如“reply 1”)即可批准并发布这些回复,大大提升了互动效率。
整个过程实现了“无噪声,无重复,只有信号”的精准通知。
提醒示例(通过 Telegram)
以下是一个通过Telegram发送的提醒示例:
🔴 CI Failed — my-app / feat/auth-refresh
↳ 3 checks failed | View run →
💬 New Review — my-api / fix/rate-limiter
@sarah_dev: "Can we extract this into a helper?"
Suggested reply ready — send "reply 1" to post it
✅ Approved & Ready — my-app / chore/upgrade-deps
2 approvals | No conflicts | Safe to merge技术实现细节
该技能的核心逻辑位于一个名为`SKILL.md`的文件中,并搭配一个轻量级的Node.js运行器。OpenClaw平台负责处理任务调度、密钥管理和消息路由等底层工作,开发者只需专注于GitHub API的调用和输出格式化逻辑的编写。
`skill.yaml`配置片段展示了关键参数定义:
# skill.yaml (excerpt)
name: pr-watchdog
description: Monitor GitHub PRs and alert on review activity, CI status, and stale PRs
schedule: every 20 minutes
inputs:
- GITHUB_TOKEN
- WATCHED_REPOS # comma-separated list
- STALE_THRESHOLD_HRS # default: 24
- ALERT_CHANNEL # telegram | slack | discord整个项目的JavaScript代码量约为180行,其中大部分代码用于格式化输出,确保提醒信息一目了然。OpenClaw的平台能力极大地简化了此类自动化工具的开发过程,使得开发者能够高效地构建和部署Agent。