Manus自动监控GitHub仓库异常提醒教程
想让Manus盯住GitHub仓库的变动,一旦出现异常就自动给团队发提醒,这件事听起来有点复杂,其实核心思路并不绕。关键是借助OpenClaw框架里的一个技能——github-watcher——再连上外部通知通道,比如微信或钉钉。它不走定时轮询那种老路子,而是靠GitHub Webhook实时接收事件:push代码、提issue、开pull_request,全都能捕捉,然后按你设定的规则筛选,最后把告警推到你手机上。
下面把具体步骤拆开来说,每一步都有值得留意的细节。
配置GitHub仓库Webhook
第一步,进到目标仓库的设置页面,找到Webhooks入口,新建一个。
Payload URL那里填你的Manus服务公网地址,格式长这样:https://your-manus-domain.com/github-webhook。Content type一定要选application/json,这个搞错了事情就卡住了。
事件类型至少要勾上push和pull_request。漏掉这两项,代码提交和合并请求的变更就收不到,那核心异常——比如谁往主干直推了敏感文件——等于完全看不见。
Secret字段填你在Manus里预设的签名密钥,用来确认请求真的来自GitHub。Active保持启用状态,别手滑关掉。
在Manus中启用github-watcher技能
Webhook就绪之后,下一步是让Manus这边能把事件接住并处理。
有两种常见做法。第一种,直接用命令行启用:运行openclaw skill enable github-watcher,系统会自动加载默认的规则配置文件skills/github-watcher/rules.yaml。
第二种,更灵活些,手动挂载自定义规则。编辑rules.yaml,在repositories下面添加你的仓库路径,格式是owner/repo-name;然后在alert_conditions里定义触发条件。比如push_to: ["main", "master"],意思就是主分支有直推就告警。
这里有个关键点:如果不在rules.yaml中显式声明仓库,哪怕Webhook那边已经配通,watcher也不会理睬这个仓库的任何事件——等于白搭。
对接微信/钉钉等通知通道
告警消息生成之后,得想办法把它送到人手上。这一步必须完成,否则消息只会滞留在Manus的内部队列里,出不去。
先确认输出技能已经安装。跑一下openclaw skill list | grep -E "(wechat|dingtalk|slack)",看看对应的通知技能状态是不是enabled。
接着配置凭证。在config.env里写入企业微信的CORP_ID、CORP_SECRET、AGENT_ID,或者钉钉机器人的WEBHOOK_URL和加签SECRET。
最后绑定通知策略。打开skills/github-watcher/config.yaml,把notification_channel字段设为wechat或dingtalk,同时设好target_users——可以指定某个用户的ID,也可以直接用@all全推送。
验证异常提醒是否生效
全部配好之后,怎么确定它真能跑通?做一次测试提交就清楚了。
在仓库里执行:echo "# test" >> README.md && git add . && git commit -m "[test] trigger alert" && git push origin main。
然后立即查看Manus的服务日志:journalctl -u manus -n 50 -f。如果看到GithubWebhookReceived和AlertDispatched这两个日志条目,说明Webhook已经收到事件,告警也已生成并发出。
再去微信或钉钉客户端看一眼——正常情况下,5秒内就能收到一条结构化提醒,里面会包含仓库名、分支、提交哈希以及提交者信息。
如果收不到消息,优先回GitHub Webhook页面的Recent Deliveries里检查响应状态码。返回401说明Secret校验失败,返回502说明Manus服务没监听对应的路由——顺着这个线索排查,很快能找到问题所在。
