Nextcloud Talk 是 Nextcloud 套件中的即时通讯模块,广泛用于企业和个人的自托管协作。OpenClaw 通过 Webhook Bot API 接入 Nextcloud Talk,支持私信和房间(群组)消息。
安装插件
# npm registry
openclaw plugins install @openclaw/nextcloud-talk
# 本地 git checkout
openclaw plugins install ./extensions/nextcloud-talk配置步骤
第一步:在 Nextcloud 服务器注册 Bot
在 Nextcloud 服务器的命令行执行:
./occ talk:bot:install "OpenClaw" "<shared-secret>" "<webhook-url>" --feature reaction参数说明:
| 参数 | 说明 |
|---|---|
OpenClaw | Bot 显示名称 |
<shared-secret> | 共享密钥,OpenClaw 用它验证 Webhook 请求合法性 |
<webhook-url> | OpenClaw Gateway 的公网地址 + /nextcloud-talk |
--feature reaction | 启用表情回应功能 |
第二步:在 Nextcloud Talk 启用 Bot
在目标房间的设置中,找到机器人列表,启用 OpenClaw Bot。
第三步:配置 OpenClaw
最简配置:
{
"channels": {
"nextcloud-talk": {
"enabled": true,
"baseUrl": "https://cloud.example.com",
"botSecret": "shared-secret",
"dmPolicy": "pairing"
}
}
}完整配置参考:
| 字段 | 说明 | 默认值 |
|---|---|---|
baseUrl | Nextcloud 服务器地址 | 必填 |
botSecret | 与 occ talk:bot:install 相同的共享密钥 | 必填 |
webhookPath | OpenClaw 监听路径 | /nextcloud-talk |
webhookPublicUrl | 反向代理后的公网地址(与 baseUrl 不同时设置) | 继承 Gateway |
apiUser | Nextcloud 用户名(用于房间类型识别) | 可选 |
apiPassword | Nextcloud 密码(用于房间类型识别) | 可选 |
dmPolicy | 私信访问策略 | pairing |
访问控制
私信(DM)
默认 dmPolicy: "pairing",未知用户发来消息后获得配对码:
openclaw pairing list nextcloud-talk
openclaw pairing approve nextcloud-talk <CODE>开放访问(允许所有人):
{
"channels": {
"nextcloud-talk": {
"dmPolicy": "open",
"allowFrom": ["*"]
}
}
}
allowFrom仅匹配 Nextcloud 用户 ID,不匹配显示名称。
房间(群组)
默认 groupPolicy: "allowlist"(仅白名单房间,需 @提及):
{
"channels": {
"nextcloud-talk": {
"rooms": {
"room-token": { "requireMention": true }
}
}
}
}禁用所有房间:
{
"channels": {
"nextcloud-talk": {
"groupPolicy": "disabled"
}
}
}功能支持
| 功能 | 支持情况 | 备注 |
|---|---|---|
| 私信(DM) | ✅ | 用户必须先发消息给 Bot |
| 房间消息 | ✅ | 需要在房间设置中启用 Bot |
| 消息反应 | ✅ | 需要 --feature reaction 标志 |
| Markdown 消息 | ✅ | — |
| 媒体上传 | ❌ | 媒体通过 URL 发送,不支持直接上传 |
| Bot 主动发起 DM | ❌ | 必须用户先联系 Bot |
注意事项
Webhook 地址:必须从 Nextcloud 服务器可以访问,内网部署时确认网络路由正确。若 Gateway 在反向代理后面,设置 webhookPublicUrl 为公网地址。
房间类型识别:Webhook 载荷不区分 DM 和群组房间。配置 apiUser + apiPassword 后,OpenClaw 可以通过 Nextcloud API 自动判断房间类型,获得更准确的路由。
自签 SSL 证书:若 Nextcloud 使用自签证书,需额外配置证书信任或暂时开启 allowInsecureSsl。
原文:Nextcloud Talk - OpenClaw | 来源:OpenClaw 官方文档