Nextcloud Talk (plugin)
Stato: supportato via plugin (bot webhook). Messaggi diretti, stanze, reazioni e messaggi Markdown sono supportati.
Plugin necessario
Nextcloud Talk e distribuito come plugin e non e incluso nell’installazione core.
Installa da CLI (registro npm):
openclaw plugins install @openclaw/nextcloud-talk
Da checkout locale (se stai lavorando da un repo git):
openclaw plugins install ./extensions/nextcloud-talk
Se scegli Nextcloud Talk durante configure/onboarding e viene rilevato un checkout git, OpenClaw ti proporra automaticamente il percorso di installazione locale.
Dettagli: Plugin
Setup rapido (principianti)
-
Installa il plugin Nextcloud Talk.
-
Sul tuo server Nextcloud, crea un bot:
./occ talk:bot:install "OpenClaw" "<shared-secret>" "<webhook-url>" --feature reaction -
Abilita il bot nelle impostazioni della stanza di destinazione.
-
Configura OpenClaw:
- Config:
channels.nextcloud-talk.baseUrl+channels.nextcloud-talk.botSecret - Oppure env:
NEXTCLOUD_TALK_BOT_SECRET(solo account predefinito)
- Config:
-
Riavvia il gateway (o completa l’onboarding).
Configurazione minimale:
{
channels: {
"nextcloud-talk": {
enabled: true,
baseUrl: "https://cloud.example.com",
botSecret: "shared-secret",
dmPolicy: "pairing",
},
},
}
Note
- I bot non possono avviare DM. L’utente deve contattare il bot per primo.
- L’URL del webhook deve essere raggiungibile dal Gateway; imposta
webhookPublicUrlse sei dietro un proxy. - Il caricamento di media non e supportato dalla bot API; i media vengono inviati come URL.
- Il payload del webhook non distingue tra DM e stanze; imposta
apiUser+apiPasswordper abilitare il rilevamento del tipo di stanza (altrimenti i DM vengono trattati come stanze).
Controllo degli accessi (DM)
- Predefinito:
channels.nextcloud-talk.dmPolicy = "pairing". I mittenti sconosciuti ricevono un codice di pairing. - Approvazione tramite:
openclaw pairing list nextcloud-talkopenclaw pairing approve nextcloud-talk <CODE>
- DM pubblici:
channels.nextcloud-talk.dmPolicy="open"piuchannels.nextcloud-talk.allowFrom=["*"]. allowFromcorrisponde solo agli ID utente Nextcloud; i nomi visualizzati sono ignorati.
Stanze (gruppi)
- Predefinito:
channels.nextcloud-talk.groupPolicy = "allowlist"(con gating menzione). - Consenti le stanze con
channels.nextcloud-talk.rooms:
{
channels: {
"nextcloud-talk": {
rooms: {
"room-token": { requireMention: true },
},
},
},
}
- Per non consentire alcuna stanza, mantieni l’allowlist vuota o imposta
channels.nextcloud-talk.groupPolicy="disabled".
Funzionalita
| Funzionalita | Stato |
|---|---|
| Messaggi diretti | Supportati |
| Stanze | Supportate |
| Thread | Non supportati |
| Media | Solo URL |
| Reazioni | Supportate |
| Comandi nativi | Non supportati |
Riferimento configurazione (Nextcloud Talk)
Configurazione completa: Configurazione
Opzioni del provider:
channels.nextcloud-talk.enabled: abilita/disabilita l’avvio del canale.channels.nextcloud-talk.baseUrl: URL dell’istanza Nextcloud.channels.nextcloud-talk.botSecret: segreto condiviso del bot.channels.nextcloud-talk.botSecretFile: percorso file segreto (file regolare). I symlink sono rifiutati.channels.nextcloud-talk.apiUser: utente API per rilevamento stanze (rilevamento DM).channels.nextcloud-talk.apiPassword: password API/app per rilevamento stanze.channels.nextcloud-talk.apiPasswordFile: percorso file password API.channels.nextcloud-talk.webhookPort: porta listener webhook (predefinita: 8788).channels.nextcloud-talk.webhookHost: host webhook (predefinito: 0.0.0.0).channels.nextcloud-talk.webhookPath: percorso webhook (predefinito: /nextcloud-talk-webhook).channels.nextcloud-talk.webhookPublicUrl: URL webhook raggiungibile dall’esterno.channels.nextcloud-talk.dmPolicy:pairing | allowlist | open | disabled.channels.nextcloud-talk.allowFrom: allowlist DM (ID utente).openrichiede"*".channels.nextcloud-talk.groupPolicy:allowlist | open | disabled.channels.nextcloud-talk.groupAllowFrom: allowlist gruppi (ID utente).channels.nextcloud-talk.rooms: impostazioni e allowlist per stanza.channels.nextcloud-talk.historyLimit: limite storico gruppi (0 disabilita).channels.nextcloud-talk.dmHistoryLimit: limite storico DM (0 disabilita).channels.nextcloud-talk.dms: sovrascritture per DM (historyLimit).channels.nextcloud-talk.textChunkLimit: dimensione chunk testo in uscita (caratteri).channels.nextcloud-talk.chunkMode:length(predefinito) onewlineper dividere sulle righe vuote (confini di paragrafo) prima del chunking per lunghezza.channels.nextcloud-talk.blockStreaming: disabilita il block streaming per questo canale.channels.nextcloud-talk.blockStreamingCoalesce: regolazione coalesce del block streaming.channels.nextcloud-talk.mediaMaxMb: limite media in ingresso (MB).