通过 Synology Chat webhook 接入私信。插件接收 Synology Chat 出站 webhook 的入站消息,通过入站 webhook 发送回复。
快速设置
- 在 Synology Chat 集成中:
- 创建入站 webhook,复制 URL
- 创建出站 webhook,设置 secret token
- 将出站 webhook URL 指向 Gateway:
https://gateway-host/webhook/synology - 配置 OpenClaw:
{
channels: {
"synology-chat": {
enabled: true,
token: "synology-outgoing-token",
incomingUrl: "https://nas.example.com/webapi/entry.cgi?api=SYNO.Chat.External&method=incoming&version=2&token=...",
dmPolicy: "allowlist",
allowedUserIds: ["123456"],
},
},
}CLI 快速设置
openclaw channels add --channel synology-chat --token <token> --url <incoming-webhook-url>环境变量(默认账号)
SYNOLOGY_CHAT_TOKENSYNOLOGY_CHAT_INCOMING_URLSYNOLOGY_ALLOWED_USER_IDS(逗号分隔)
访问控制
dmPolicy: "allowlist"(推荐默认)allowedUserIds:Synology 用户 ID 列表dmPolicy: "open"需要allowedUserIds: ["*"]- 空
allowedUserIds在allowlist模式下视为配置错误,webhook 路由不会启动
openclaw pairing list synology-chat
openclaw pairing approve synology-chat <CODE>出站投递
使用数字 Synology Chat 用户 ID 作为目标:
openclaw message send --channel synology-chat --target 123456 --text "Hello"
openclaw message send --channel synology-chat --target synology-chat:123456 --text "Hello"多账号
每个账号需要独立的 webhookPath,OpenClaw 拒绝重复路径:
{
channels: {
"synology-chat": {
accounts: {
default: { token: "token-a", incomingUrl: "https://nas-a.example.com/..." },
alerts: {
token: "token-b",
incomingUrl: "https://nas-b.example.com/...",
webhookPath: "/webhook/synology-alerts",
},
},
},
},
}故障排查
Invalid token:出站 webhook secret 与token不匹配,或反向代理剥离了 token headerAllowlist is empty:dmPolicy="allowlist"但未配置用户User not authorized:发送者user_id不在allowedUserIds中
相关链接
- channel-pairing — DM 配对流程
- channel-routing — 消息路由机制