Developer and self-hosted
Nextcloud Talk
Status: gebündeltes Plugin (Webhook-Bot). Direktnachrichten, Räume, Reaktionen und Markdown-Nachrichten werden unterstützt.
Gebündeltes Plugin
Nextcloud Talk wird in aktuellen OpenClaw-Releases als gebündeltes Plugin ausgeliefert, daher benötigen normale paketierte Builds keine separate Installation.
Wenn Sie einen älteren Build oder eine benutzerdefinierte Installation verwenden, die Nextcloud Talk ausschließt, installieren Sie das npm-Paket direkt:
Installation über CLI (npm-Registry):
openclaw plugins install @openclaw/nextcloud-talk
Verwenden Sie das reine Paket, um dem aktuellen offiziellen Release-Tag zu folgen. Pinnen Sie eine exakte Version nur dann, wenn Sie eine reproduzierbare Installation benötigen.
Lokaler Checkout (wenn Sie aus einem Git-Repo ausführen):
openclaw plugins install ./path/to/local/nextcloud-talk-plugin
Details: Plugins
Schnelleinrichtung (Einsteiger)
-
Stellen Sie sicher, dass das Nextcloud Talk-Plugin verfügbar ist.
- Aktuelle paketierte OpenClaw-Releases bündeln es bereits.
- Ältere/benutzerdefinierte Installationen können es mit den obigen Befehlen manuell hinzufügen.
-
Erstellen Sie auf Ihrem Nextcloud-Server einen Bot:
./occ talk:bot:install "OpenClaw" "<shared-secret>" "<webhook-url>" --feature reaction -
Aktivieren Sie den Bot in den Einstellungen des Zielraums.
-
Konfigurieren Sie OpenClaw:
- Konfiguration:
channels.nextcloud-talk.baseUrl+channels.nextcloud-talk.botSecret - Oder env:
NEXTCLOUD_TALK_BOT_SECRET(nur Standardkonto)
CLI-Einrichtung:
openclaw channels add --channel nextcloud-talk \ --url https://cloud.example.com \ --token "<shared-secret>"Entsprechende explizite Felder:
openclaw channels add --channel nextcloud-talk \ --base-url https://cloud.example.com \ --secret "<shared-secret>"Dateibasierter Secret:
openclaw channels add --channel nextcloud-talk \ --base-url https://cloud.example.com \ --secret-file /path/to/nextcloud-talk-secret - Konfiguration:
-
Starten Sie den Gateway neu (oder schließen Sie die Einrichtung ab).
Minimale Konfiguration:
{
channels: {
"nextcloud-talk": {
enabled: true,
baseUrl: "https://cloud.example.com",
botSecret: "shared-secret",
dmPolicy: "pairing",
},
},
}
Hinweise
- Bots können keine DMs initiieren. Der Benutzer muss dem Bot zuerst eine Nachricht senden.
- Die Webhook-URL muss vom Gateway erreichbar sein; setzen Sie
webhookPublicUrl, wenn Sie sich hinter einem Proxy befinden. - Medien-Uploads werden von der Bot-API nicht unterstützt; Medien werden als URLs gesendet.
- Die Webhook-Nutzlast unterscheidet nicht zwischen DMs und Räumen; setzen Sie
apiUser+apiPassword, um Raumtyp-Abfragen zu aktivieren (andernfalls werden DMs als Räume behandelt).
Zugriffskontrolle (DMs)
- Standard:
channels.nextcloud-talk.dmPolicy = "pairing". Unbekannte Absender erhalten einen Kopplungscode. - Genehmigen über:
openclaw pairing list nextcloud-talkopenclaw pairing approve nextcloud-talk <CODE>
- Öffentliche DMs:
channels.nextcloud-talk.dmPolicy="open"pluschannels.nextcloud-talk.allowFrom=["*"]. allowFromgleicht nur Nextcloud-Benutzer-IDs ab; Anzeigenamen werden ignoriert.
Räume (Gruppen)
- Standard:
channels.nextcloud-talk.groupPolicy = "allowlist"(erwähnungsgesteuert). - Räume mit
channels.nextcloud-talk.roomsauf die Allowlist setzen:
{
channels: {
"nextcloud-talk": {
rooms: {
"room-token": { requireMention: true },
},
},
},
}
- Um keine Räume zuzulassen, lassen Sie die Allowlist leer oder setzen Sie
channels.nextcloud-talk.groupPolicy="disabled".
Funktionen
| Funktion | Status |
|---|---|
| Direktnachrichten | Unterstützt |
| Räume | Unterstützt |
| Threads | Nicht unterstützt |
| Medien | Nur URL |
| Reaktionen | Unterstützt |
| Native Befehle | Nicht unterstützt |
Konfigurationsreferenz (Nextcloud Talk)
Vollständige Konfiguration: Konfiguration
Provider-Optionen:
channels.nextcloud-talk.enabled: Start des Kanals aktivieren/deaktivieren.channels.nextcloud-talk.baseUrl: URL der Nextcloud-Instanz.channels.nextcloud-talk.botSecret: gemeinsam genutzter Bot-Secret.channels.nextcloud-talk.botSecretFile: Secret-Pfad zu einer regulären Datei. Symlinks werden abgelehnt.channels.nextcloud-talk.apiUser: API-Benutzer für Raumabfragen (DM-Erkennung).channels.nextcloud-talk.apiPassword: API-/App-Passwort für Raumabfragen.channels.nextcloud-talk.apiPasswordFile: Dateipfad für das API-Passwort.channels.nextcloud-talk.webhookPort: Port des Webhook-Listeners (Standard: 8788).channels.nextcloud-talk.webhookHost: Webhook-Host (Standard: 0.0.0.0).channels.nextcloud-talk.webhookPath: Webhook-Pfad (Standard: /nextcloud-talk-webhook).channels.nextcloud-talk.webhookPublicUrl: extern erreichbare Webhook-URL.channels.nextcloud-talk.dmPolicy:pairing | allowlist | open | disabled.channels.nextcloud-talk.allowFrom: DM-Allowlist (Benutzer-IDs).openerfordert"*".channels.nextcloud-talk.groupPolicy:allowlist | open | disabled.channels.nextcloud-talk.groupAllowFrom: Gruppen-Allowlist (Benutzer-IDs).channels.nextcloud-talk.rooms: Einstellungen und Allowlist pro Raum.channels.nextcloud-talk.historyLimit: Verlaufslimit für Gruppen (0 deaktiviert).channels.nextcloud-talk.dmHistoryLimit: Verlaufslimit für DMs (0 deaktiviert).channels.nextcloud-talk.dms: Überschreibungen pro DM (historyLimit).channels.nextcloud-talk.textChunkLimit: Größe ausgehender Text-Chunks (Zeichen).channels.nextcloud-talk.chunkMode:length(Standard) odernewline, um vor dem Aufteilen nach Länge an Leerzeilen (Absatzgrenzen) zu teilen.channels.nextcloud-talk.blockStreaming: Block-Streaming für diesen Kanal deaktivieren.channels.nextcloud-talk.blockStreamingCoalesce: Coalesce-Abstimmung für Block-Streaming.channels.nextcloud-talk.mediaMaxMb: Obergrenze für eingehende Medien (MB).
Verwandte Themen
- Kanalübersicht — alle unterstützten Kanäle
- Kopplung — DM-Authentifizierung und Kopplungsablauf
- Gruppen — Gruppenchat-Verhalten und Erwähnungssteuerung
- Kanalrouting — Sitzungsrouting für Nachrichten
- Sicherheit — Zugriffsmodell und Härtung