让OpenClaw 重启完成通过飞书消息通知

2026年3月23日 1点热度 0人点赞 0条评论

给openclaw安装skill,修改配置,添加模型等等,经常需要重启openclaw gateway,甚至于这虾会自行判断而直接重启gateway生效,消息断开,我还在干等虾的操作汇报...

于是我让虾配置重启gateway成功后,通过飞书接口给我说一声。

折腾了好一会,失败好几次,最后只能让虾梳理配置思路,指导虾检查哪里不行,更换通知方式等,终于实现。

有需要也可以让虾配置gateway重启发出通知,遇到问题将下面的流程丢给虾参考:

📌 环境版本

OpenClaw:2026.3.13(详见 openclaw -v)

Node.js:v22

系统:Ubuntu 22.04 / Linux 5.15

通知渠道:飞书

🔹 第一步:用官方命令配置systemd

OpenClaw自带了systemd安装脚本,一行命令搞定:

openclaw gateway install

自动检测Linux系统、生成service文件、设置开机自启。

如果之前手动配过,会提示覆盖,建议先看一下现有配置:

cat /etc/systemd/system/openclaw-gateway.service

🔹 第二步:开启内部Hook事件

OpenClaw的Hook机制可以监听gateway:startup事件,但默认是关闭的。打开openclaw.json,加上这段:

{ "hooks": { "internal": { "enabled": true } } }

保存后重启gateway:

systemctl --user restart openclaw-gateway

🔹 第三步:创建Hook文件

mkdir -p ~/.openclaw/hooks/gateway-notify

新建两个文件:

HOOK.md

name: gateway-notify
events:
  - gateway:startup

handler.js

const { sendFeishuMessage } = require('./feishu-api.js')
module.exports = async function handler(event) {
  const now = new Date().toLocaleString('zh-CN', { timeZone: 'Asia/Shanghai' })
  await sendFeishuMessage(`🤖 OpenClaw Gateway 已重启\n时间:${now}`)
}

⚠️ 注意:module.exports 必须是默认导出,不能用 { handler } 命名导出,否则运行时会报错。

🔹 第四步:给systemd注入飞书凭证

Gateway运行在systemd下,handler里调用飞书API需要FEISHU_APP_ID和FEISHU_APP_SECRET。用systemctl edit直接改:

sudo systemctl edit openclaw-gateway

在编辑器里填入:

[Service]
Environment="FEISHU_APP_ID=cli_xxxxxx"
Environment="FEISHU_APP_SECRET=xxxxxxxx"

保存后重载生效:

sudo systemctl daemon-reload
sudo systemctl restart openclaw-gateway

🔹 第五步:测试

sudo systemctl restart openclaw-gateway

看看飞书有没有收到消息。收不到就查日志:

journalctl -u openclaw-gateway -f

🔍 常见问题

• 没收到 — 确认hooks.internal.enabled已开启

• hook报错 — 检查handler.js导出方式是否正确

• token无效 — 确认systemd里的APP_ID/SECRET和飞书应用配置一致

kenny

这个人很懒,什么都没留下

文章评论