Nextcloud Talk (Plugin)
Status: Unterstützt via Plugin (Webhook-Bot). Direktnachrichten, Räume, Reaktionen und Markdown-Nachrichten werden unterstützt.
Plugin erforderlich
Nextcloud Talk wird als Plugin ausgeliefert und ist nicht in der Kerninstallation enthalten.
Installation via CLI (npm Registry):
openclaw plugins install @openclaw/nextcloud-talk
Lokaler Checkout (wenn du aus einem Git-Repo arbeitest):
openclaw plugins install ./extensions/nextcloud-talk
Wenn du Nextcloud Talk während der Konfiguration/Onboarding auswählst und ein Git-Checkout erkannt wird, bietet OpenClaw automatisch den lokalen Installationspfad an.
Details: Plugins
Schnelleinrichtung (Einsteiger)
- Installiere das Nextcloud Talk Plugin.
- Erstelle auf deinem Nextcloud-Server einen Bot:
./occ talk:bot:install "OpenClaw" "<shared-secret>" "<webhook-url>" --feature reaction - Aktiviere den Bot in den Einstellungen des Zielraums.
- Konfiguriere OpenClaw:
- Config:
channels.nextcloud-talk.baseUrl+channels.nextcloud-talk.botSecret - Oder env:
NEXTCLOUD_TALK_BOT_SECRET(nur für Standard-Account)
- Config:
- Starte den Gateway neu (oder schließe das Onboarding 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 Nutzer muss den Bot zuerst anschreiben.
- Die Webhook-URL muss vom Gateway erreichbar sein; setze
webhookPublicUrl, wenn du hinter einem Proxy bist. - Medien-Uploads werden von der Bot-API nicht unterstützt; Medien werden als URLs gesendet.
- Der Webhook-Payload unterscheidet nicht zwischen DMs und Räumen; setze
apiUser+apiPassword, um Raum-Typ-Lookups zu aktivieren (sonst werden DMs als Räume behandelt).
Zugriffskontrolle (DMs)
- Standard:
channels.nextcloud-talk.dmPolicy = "pairing". Unbekannte Absender erhalten einen Pairing-Code. - Freigabe via:
openclaw pairing list nextcloud-talkopenclaw pairing approve nextcloud-talk <CODE>
- Öffentliche DMs:
channels.nextcloud-talk.dmPolicy="open"pluschannels.nextcloud-talk.allowFrom=["*"].
Räume (Gruppen)
- Standard:
channels.nextcloud-talk.groupPolicy = "allowlist"(Erwähnung erforderlich). - Räume zur Allowlist hinzufügen mit
channels.nextcloud-talk.rooms:
{
channels: {
"nextcloud-talk": {
rooms: {
"room-token": { requireMention: true },
},
},
},
}
- Um keine Räume zuzulassen, lass die Allowlist leer oder setze
channels.nextcloud-talk.groupPolicy="disabled".
Funktionen
| Feature | Status |
|---|---|
| Direktnachrichten | Unterstützt |
| Räume | Unterstützt |
| Threads | Nicht unterstützt |
| Medien | Nur URLs |
| Reaktionen | Unterstützt |
| Native Befehle | Nicht unterstützt |
Konfigurationsreferenz (Nextcloud Talk)
Vollständige Konfiguration: Konfiguration
Provider-Optionen:
channels.nextcloud-talk.enabled: Channel-Start aktivieren/deaktivieren.channels.nextcloud-talk.baseUrl: Nextcloud-Instanz-URL.channels.nextcloud-talk.botSecret: Gemeinsames Bot-Secret.channels.nextcloud-talk.botSecretFile: Secret-Dateipfad.channels.nextcloud-talk.apiUser: API-Nutzer für Raum-Lookups (DM-Erkennung).channels.nextcloud-talk.apiPassword: API/App-Passwort für Raum-Lookups.channels.nextcloud-talk.apiPasswordFile: API-Passwort-Dateipfad.channels.nextcloud-talk.webhookPort: Webhook-Listener-Port (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 (Nutzer-IDs).openerfordert"*".channels.nextcloud-talk.groupPolicy:allowlist | open | disabled.channels.nextcloud-talk.groupAllowFrom: Gruppen-Allowlist (Nutzer-IDs).channels.nextcloud-talk.rooms: Raumspezifische Einstellungen und Allowlist.channels.nextcloud-talk.historyLimit: Gruppen-Verlaufslimit (0 deaktiviert).channels.nextcloud-talk.dmHistoryLimit: DM-Verlaufslimit (0 deaktiviert).channels.nextcloud-talk.dms: DM-spezifische Überschreibungen (historyLimit).channels.nextcloud-talk.textChunkLimit: Ausgehende Text-Chunk-Größe (Zeichen).channels.nextcloud-talk.chunkMode:length(Standard) odernewlinezum Aufteilen an Leerzeilen (Absatzgrenzen) vor Längen-Chunking.channels.nextcloud-talk.blockStreaming: Block-Streaming für diesen Channel deaktivieren.channels.nextcloud-talk.blockStreamingCoalesce: Block-Streaming-Coalesce-Tuning.channels.nextcloud-talk.mediaMaxMb: Eingehende Medien-Obergrenze (MB).