OpenClawSkills
GitHub
通道 • 5 分钟阅读

Nextcloud Talk(通话/聊天)

Nextcloud Talk:支持状态、能力与配置

状态:通过插件支持(webhook bot)。支持私信、房间(rooms)、reactions,以及 Markdown 消息。

Tutorial.step

需要安装插件

Nextcloud Talk 以插件形式提供,不随 core 安装打包。

通过 CLI 安装(npm registry):

Bash
openclaw plugins install @openclaw/nextcloud-talk

本地安装(当你从 git 仓库运行时):

Bash
openclaw plugins install ./extensions/nextcloud-talk

如果你在 configure/onboarding 中选择 Nextcloud Talk 且检测到 git checkout,OpenClaw 会自动提供本地安装路径。

详情:''/plugin''

Tutorial.step

新手快速配置

1. 安装 Nextcloud Talk 插件。

2. 在 Nextcloud 服务器上创建一个 bot:

Json5
{
  channels: {
    "nextcloud-talk": {
      enabled: true,
      baseUrl: "https://cloud.example.com",
      botSecret: "shared-secret",
      dmPolicy: "pairing",
    },
  },
}
Tutorial.step

备注

- Bot 不能主动发起私信:必须由用户先给 bot 发第一条消息。

- webhook URL 必须能被 Gateway 访问;若在反向代理后面,请设置 <code>webhookPublicUrl</code>。

- Bot API 不支持媒体上传;媒体会以 URL 形式发送。

- webhook payload 不区分"私信 vs 房间";如需区分,请设置 <code>apiUser</code> + <code>apiPassword</code> 做房间类型查询(否则会把 DMs 当作 rooms 处理)。

Tutorial.step

访问控制(私信)

- 默认:<code>channels.nextcloud-talk.dmPolicy = "pairing"</code>。未知发送者会收到配对码。

- 批准:

- <code>openclaw pairing list nextcloud-talk</code>

- <code>openclaw pairing approve nextcloud-talk &lt;CODE&gt;</code>

- 公开私信:<code>channels.nextcloud-talk.dmPolicy="open"</code> 且 <code>channels.nextcloud-talk.allowFrom=["*"]</code>。

Tutorial.step

Rooms(群聊)

- 默认:<code>channels.nextcloud-talk.groupPolicy = "allowlist"</code>(并默认需要 mention 才回复)。

- 用 <code>channels.nextcloud-talk.rooms</code> 对 rooms 做 allowlist:

Json5
{
  channels: {
    "nextcloud-talk": {
      rooms: {
        "room-token": { requireMention: true },
      },
    },
  },
}

- 若希望不处理任何 rooms:保持 allowlist 为空,或设置 <code>channels.nextcloud-talk.groupPolicy="disabled"</code>。

Tutorial.step

能力

| 功能 | 状态 |

| -- |

| 私信 | 支持 |

| Rooms | 支持 |

| Threads | 不支持 |

| 媒体 | 仅 URL |

| Reactions | 支持 |

| 原生命令 | 不支持 |

Tutorial.step

配置参考(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)