Nextcloud Talk(通话/聊天)
Nextcloud Talk:支持状态、能力与配置
状态:通过插件支持(webhook bot)。支持私信、房间(rooms)、reactions,以及 Markdown 消息。
需要安装插件
Nextcloud Talk 以插件形式提供,不随 core 安装打包。
通过 CLI 安装(npm registry):
openclaw plugins install @openclaw/nextcloud-talk
本地安装(当你从 git 仓库运行时):
openclaw plugins install ./extensions/nextcloud-talk
如果你在 configure/onboarding 中选择 Nextcloud Talk 且检测到 git checkout,OpenClaw 会自动提供本地安装路径。
详情:''/plugin''
新手快速配置
1. 安装 Nextcloud Talk 插件。
2. 在 Nextcloud 服务器上创建一个 bot:
{
channels: {
"nextcloud-talk": {
enabled: true,
baseUrl: "https://cloud.example.com",
botSecret: "shared-secret",
dmPolicy: "pairing",
},
},
}备注
- Bot 不能主动发起私信:必须由用户先给 bot 发第一条消息。
- webhook URL 必须能被 Gateway 访问;若在反向代理后面,请设置 <code>webhookPublicUrl</code>。
- Bot API 不支持媒体上传;媒体会以 URL 形式发送。
- webhook payload 不区分"私信 vs 房间";如需区分,请设置 <code>apiUser</code> + <code>apiPassword</code> 做房间类型查询(否则会把 DMs 当作 rooms 处理)。
访问控制(私信)
- 默认:<code>channels.nextcloud-talk.dmPolicy = "pairing"</code>。未知发送者会收到配对码。
- 批准:
- <code>openclaw pairing list nextcloud-talk</code>
- <code>openclaw pairing approve nextcloud-talk <CODE></code>
- 公开私信:<code>channels.nextcloud-talk.dmPolicy="open"</code> 且 <code>channels.nextcloud-talk.allowFrom=["*"]</code>。
Rooms(群聊)
- 默认:<code>channels.nextcloud-talk.groupPolicy = "allowlist"</code>(并默认需要 mention 才回复)。
- 用 <code>channels.nextcloud-talk.rooms</code> 对 rooms 做 allowlist:
{
channels: {
"nextcloud-talk": {
rooms: {
"room-token": { requireMention: true },
},
},
},
}- 若希望不处理任何 rooms:保持 allowlist 为空,或设置 <code>channels.nextcloud-talk.groupPolicy="disabled"</code>。
能力
| 功能 | 状态 |
| -- |
| 私信 | 支持 |
| Rooms | 支持 |
| Threads | 不支持 |
| 媒体 | 仅 URL |
| Reactions | 支持 |
| 原生命令 | 不支持 |
配置参考(Nextcloud Talk)
完整配置:''/gateway/configuration''
Provider 选项:
- <code>channels.nextcloud-talk.enabled</code>:启用/禁用
- <code>channels.nextcloud-talk.baseUrl</code>:Nextcloud 实例 URL
- <code>channels.nextcloud-talk.botSecret</code>:bot shared secret
- <code>channels.nextcloud-talk.botSecretFile</code>:secret 文件路径
- <code>channels.nextcloud-talk.apiUser</code>:用于 room lookups 的 API user(DM 识别)
- <code>channels.nextcloud-talk.apiPassword</code>:用于 room lookups 的 API/app password
- <code>channels.nextcloud-talk.apiPasswordFile</code>:API password 文件路径
- <code>channels.nextcloud-talk.webhookPort</code>:webhook 监听端口(默认 8788)
- <code>channels.nextcloud-talk.webhookHost</code>:webhook host(默认 0.0.0.0)
- <code>channels.nextcloud-talk.webhookPath</code>:webhook path(默认 <code>/nextcloud-talk-webhook</code>)
- <code>channels.nextcloud-talk.webhookPublicUrl</code>:外部可访问的 webhook URL
- <code>channels.nextcloud-talk.dmPolicy</code>:<code>pairing | allowlist | open | disabled</code>
- <code>channels.nextcloud-talk.allowFrom</code>:私信 allowlist(user IDs);open 需要 <code>"*"</code>
- <code>channels.nextcloud-talk.groupPolicy</code>:<code>allowlist | open | disabled</code>
- <code>channels.nextcloud-talk.groupAllowFrom</code>:群发送者 allowlist(user IDs)
- <code>channels.nextcloud-talk.rooms</code>:按 room 配置与 allowlist
- <code>channels.nextcloud-talk.historyLimit</code>:群历史条数(<code>0</code> 禁用)
- <code>channels.nextcloud-talk.dmHistoryLimit</code>:私信历史条数(<code>0</code> 禁用)
- <code>channels.nextcloud-talk.dms</code>:按 DM 覆盖(historyLimit)
- <code>channels.nextcloud-talk.textChunkLimit</code>:出站分段大小(字符)
- <code>channels.nextcloud-talk.chunkMode</code>:<code>length</code>(默认)/ <code>newline</code>
- <code>channels.nextcloud-talk.blockStreaming</code>:为该通道禁用 block streaming
- <code>channels.nextcloud-talk.blockStreamingCoalesce</code>:block streaming 合并参数
- <code>channels.nextcloud-talk.mediaMaxMb</code>:入站媒体上限(MB)