Synology Chat(插件)
状态:通过插件支持,作为私信频道使用 Synology Chat webhook。该插件通过 Synology Chat 传出 webhook 接收入站消息,并通过传入 webhook 发送回复。
需要安装插件
Synology Chat 基于插件,不包含在默认的核心频道安装中。
从本地代码安装:
openclaw plugins install ./extensions/synology-chat
详情:插件
快速开始
- 安装并启用 Synology Chat 插件。
- 在 Synology Chat 集成设置中:
- 创建一个传入 webhook 并复制其 URL。
- 创建一个传出 webhook 并设置密钥令牌。
- 将传出 webhook URL 指向你的 OpenClaw Gateway:
- 默认为
https://gateway-host/webhook/synology。 - 或自定义的
channels.synology-chat.webhookPath。
- 默认为
- 在 OpenClaw 中配置
channels.synology-chat。 - 重启 Gateway 并给 Synology Chat 机器人发送私信。
最小配置:
{
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=...",
webhookPath: "/webhook/synology",
dmPolicy: "allowlist",
allowedUserIds: ["123456"],
rateLimitPerMinute: 30,
allowInsecureSsl: false,
},
},
}
环境变量
默认账户可使用环境变量:
SYNOLOGY_CHAT_TOKENSYNOLOGY_CHAT_INCOMING_URLSYNOLOGY_NAS_HOSTSYNOLOGY_ALLOWED_USER_IDS(逗号分隔)SYNOLOGY_RATE_LIMITOPENCLAW_BOT_NAME
配置值会覆盖环境变量。
私信策略与访问控制
- 推荐默认使用
dmPolicy: "allowlist"。 allowedUserIds接受 Synology 用户 ID 列表(或逗号分隔的字符串)。- 在
allowlist模式下,空的allowedUserIds列表被视为配置错误,webhook 路由将不会启动(如需允许所有人请使用dmPolicy: "open")。 dmPolicy: "open"允许任何发送者。dmPolicy: "disabled"阻止私信。- 配对审批:
openclaw pairing list synology-chatopenclaw pairing approve synology-chat <CODE>
出站投递
使用 Synology Chat 数字用户 ID 作为目标。
示例:
openclaw message send --channel synology-chat --target 123456 --text "Hello from OpenClaw"
openclaw message send --channel synology-chat --target synology-chat:123456 --text "Hello again"
支持通过 URL 方式发送媒体文件。
多账户
支持在 channels.synology-chat.accounts 下配置多个 Synology Chat 账户。每个账户可覆盖令牌、传入 URL、webhook 路径、私信策略和限制。
{
channels: {
"synology-chat": {
enabled: true,
accounts: {
default: {
token: "token-a",
incomingUrl: "https://nas-a.example.com/...token=...",
},
alerts: {
token: "token-b",
incomingUrl: "https://nas-b.example.com/...token=...",
webhookPath: "/webhook/synology-alerts",
dmPolicy: "allowlist",
allowedUserIds: ["987654"],
},
},
},
},
}
安全须知
- 妥善保管
token,泄露后及时轮换。 - 保持
allowInsecureSsl: false,除非你明确信任自签名的本地 NAS 证书。 - 入站 webhook 请求经过令牌验证并按发送者限速。
- 生产环境推荐使用
dmPolicy: "allowlist"。