Nextcloud Talk(外掛)
狀態:透過外掛支援(webhook 機器人)。支援私訊、房間、表情回應和 Markdown 訊息。
需要外掛
Nextcloud Talk 以外掛形式提供,不包含在核心安裝中。
透過 CLI(npm 套件庫)安裝:
openclaw plugins install @openclaw/nextcloud-talk
本機 checkout(在 git repo 中開發):
openclaw plugins install ./extensions/nextcloud-talk
如果你在設定/引導設定時選擇 Nextcloud Talk 且偵測到 git checkout,OpenClaw 會自動提供本機安裝路徑。
詳情:外掛
快速設定(入門)
-
安裝 Nextcloud Talk 外掛。
-
在你的 Nextcloud 伺服器上建立機器人:
./occ talk:bot:install "OpenClaw" "<shared-secret>" "<webhook-url>" --feature reaction -
在目標房間設定中啟用機器人。
-
設定 OpenClaw:
- 設定:
channels.nextcloud-talk.baseUrl+channels.nextcloud-talk.botSecret - 或環境變數:
NEXTCLOUD_TALK_BOT_SECRET(僅限預設帳號)
- 設定:
-
重啟 Gateway(或完成引導設定)。
最小設定:
{
channels: {
"nextcloud-talk": {
enabled: true,
baseUrl: "https://cloud.example.com",
botSecret: "shared-secret",
dmPolicy: "pairing",
},
},
}
備註
- 機器人無法主動發起私訊。使用者必須先向機器人發送訊息。
- Webhook URL 必須可被 Gateway 存取;如果在代理之後,請設定
webhookPublicUrl。 - Bot API 不支援媒體上傳;媒體以 URL 形式發送。
- Webhook 負載不區分私訊和房間;設定
apiUser+apiPassword以啟用房間類型查詢(否則私訊會被視為房間)。
存取控制(私訊)
- 預設:
channels.nextcloud-talk.dmPolicy = "pairing"。未知發送者會收到配對代碼。 - 核准方式:
openclaw pairing list nextcloud-talkopenclaw pairing approve nextcloud-talk <CODE>
- 公開私訊:
channels.nextcloud-talk.dmPolicy="open"加上channels.nextcloud-talk.allowFrom=["*"]。 allowFrom僅匹配 Nextcloud 使用者 ID;顯示名稱會被忽略。
房間(群組)
- 預設:
channels.nextcloud-talk.groupPolicy = "allowlist"(需提及)。 - 使用
channels.nextcloud-talk.rooms設定房間許可清單:
{
channels: {
"nextcloud-talk": {
rooms: {
"room-token": { requireMention: true },
},
},
},
}
- 若不允許任何房間,保持許可清單為空或設定
channels.nextcloud-talk.groupPolicy="disabled"。
功能
| 功能 | 狀態 |
|---|---|
| 私訊 | 支援 |
| 房間 | 支援 |
| 討論串 | 不支援 |
| 媒體 | 僅 URL |
| 表情回應 | 支援 |
| 原生指令 | 不支援 |
設定參考(Nextcloud Talk)
完整設定:設定
供應商選項:
channels.nextcloud-talk.enabled:啟用/停用頻道啟動。channels.nextcloud-talk.baseUrl:Nextcloud 實體 URL。channels.nextcloud-talk.botSecret:機器人共用 secret。channels.nextcloud-talk.botSecretFile:一般檔案 secret 路徑。符號連結會被拒絕。channels.nextcloud-talk.apiUser:用於房間查詢(私訊偵測)的 API 使用者。channels.nextcloud-talk.apiPassword:用於房間查詢的 API/應用程式密碼。channels.nextcloud-talk.apiPasswordFile:API 密碼檔案路徑。channels.nextcloud-talk.webhookPort:webhook 監聽埠(預設:8788)。channels.nextcloud-talk.webhookHost:webhook 主機(預設:0.0.0.0)。channels.nextcloud-talk.webhookPath:webhook 路徑(預設:/nextcloud-talk-webhook)。channels.nextcloud-talk.webhookPublicUrl:外部可達的 webhook URL。channels.nextcloud-talk.dmPolicy:pairing | allowlist | open | disabled。channels.nextcloud-talk.allowFrom:私訊許可清單(使用者 ID)。open需要"*"。channels.nextcloud-talk.groupPolicy:allowlist | open | disabled。channels.nextcloud-talk.groupAllowFrom:群組許可清單(使用者 ID)。channels.nextcloud-talk.rooms:按房間的設定和許可清單。channels.nextcloud-talk.historyLimit:群組歷史限制(0 停用)。channels.nextcloud-talk.dmHistoryLimit:私訊歷史限制(0 停用)。channels.nextcloud-talk.dms:按私訊的覆寫(historyLimit)。channels.nextcloud-talk.textChunkLimit:外送文字分段大小(字元)。channels.nextcloud-talk.chunkMode:length(預設)或newline,在長度分段前先按空白行(段落邊界)分割。channels.nextcloud-talk.blockStreaming:停用此頻道的區塊串流。channels.nextcloud-talk.blockStreamingCoalesce:區塊串流合併調整。channels.nextcloud-talk.mediaMaxMb:接收媒體上限(MB)。