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)

  1. Installa il plugin Nextcloud Talk.

  2. Sul tuo server Nextcloud, crea un bot:

    ./occ talk:bot:install "OpenClaw" "<shared-secret>" "<webhook-url>" --feature reaction
  3. Abilita il bot nelle impostazioni della stanza di destinazione.

  4. Configura OpenClaw:

    • Config: channels.nextcloud-talk.baseUrl + channels.nextcloud-talk.botSecret
    • Oppure env: NEXTCLOUD_TALK_BOT_SECRET (solo account predefinito)
  5. 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 webhookPublicUrl se 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 + apiPassword per 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-talk
    • openclaw pairing approve nextcloud-talk <CODE>
  • DM pubblici: channels.nextcloud-talk.dmPolicy="open" piu channels.nextcloud-talk.allowFrom=["*"].
  • allowFrom corrisponde 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

FunzionalitaStato
Messaggi direttiSupportati
StanzeSupportate
ThreadNon supportati
MediaSolo URL
ReazioniSupportate
Comandi nativiNon 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). open richiede "*".
  • 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) o newline per 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).