Nextcloud Talk (plugin)
Estado: compatible vía plugin (bot de webhook). Mensajes directos, salas, reacciones y mensajes en Markdown son compatibles.
Plugin requerido
Nextcloud Talk se distribuye como plugin y no viene incluido en la instalación base.
Instalar vía CLI (registro npm):
openclaw plugins install @openclaw/nextcloud-talk
Checkout local (cuando se ejecuta desde un repositorio git):
openclaw plugins install ./extensions/nextcloud-talk
Si eliges Nextcloud Talk durante la configuración/onboarding y se detecta un checkout de git, OpenClaw ofrecerá la ruta de instalación local automáticamente.
Detalles: Plugins
Configuración rápida (principiante)
-
Instala el plugin de Nextcloud Talk.
-
En tu servidor Nextcloud, crea un bot:
./occ talk:bot:install "OpenClaw" "<shared-secret>" "<webhook-url>" --feature reaction -
Habilita el bot en los ajustes de la sala objetivo.
-
Configura OpenClaw:
- Configuración:
channels.nextcloud-talk.baseUrl+channels.nextcloud-talk.botSecret - O variable de entorno:
NEXTCLOUD_TALK_BOT_SECRET(solo cuenta predeterminada)
- Configuración:
-
Reinicia el gateway (o termina el onboarding).
Configuración mínima:
{
channels: {
"nextcloud-talk": {
enabled: true,
baseUrl: "https://cloud.example.com",
botSecret: "shared-secret",
dmPolicy: "pairing",
},
},
}
Notas
- Los bots no pueden iniciar DMs. El usuario debe enviar un mensaje al bot primero.
- La URL del webhook debe ser accesible por el Gateway; configura
webhookPublicUrlsi está detrás de un proxy. - La subida de multimedia no es compatible con la API de bot; los archivos se envían como URLs.
- El payload del webhook no distingue entre DMs y salas; configura
apiUser+apiPasswordpara habilitar la detección del tipo de sala (de lo contrario, los DMs se tratan como salas).
Control de acceso (DMs)
- Predeterminado:
channels.nextcloud-talk.dmPolicy = "pairing". Los remitentes desconocidos reciben un código de emparejamiento. - Aprobar vía:
openclaw pairing list nextcloud-talkopenclaw pairing approve nextcloud-talk <CODE>
- DMs públicos:
channels.nextcloud-talk.dmPolicy="open"máschannels.nextcloud-talk.allowFrom=["*"]. allowFromsolo acepta IDs de usuario de Nextcloud; los nombres para mostrar se ignoran.
Salas (grupos)
- Predeterminado:
channels.nextcloud-talk.groupPolicy = "allowlist"(restricción por mención). - Configura la lista de acceso de salas con
channels.nextcloud-talk.rooms:
{
channels: {
"nextcloud-talk": {
rooms: {
"room-token": { requireMention: true },
},
},
},
}
- Para no permitir ninguna sala, mantén la lista de acceso vacía o configura
channels.nextcloud-talk.groupPolicy="disabled".
Capacidades
| Característica | Estado |
|---|---|
| Mensajes directos | Soportado |
| Salas | Soportado |
| Hilos | No soportado |
| Multimedia | Solo URL |
| Reacciones | Soportado |
| Comandos nativos | No soportado |
Referencia de configuración (Nextcloud Talk)
Configuración completa: Configuración
Opciones del proveedor:
channels.nextcloud-talk.enabled: habilitar/deshabilitar inicio del canal.channels.nextcloud-talk.baseUrl: URL de la instancia de Nextcloud.channels.nextcloud-talk.botSecret: secreto compartido del bot.channels.nextcloud-talk.botSecretFile: ruta del archivo del secreto. Los symlinks se rechazan.channels.nextcloud-talk.apiUser: usuario API para búsqueda de salas (detección de DM).channels.nextcloud-talk.apiPassword: contraseña API/app para búsqueda de salas.channels.nextcloud-talk.apiPasswordFile: ruta del archivo de contraseña API.channels.nextcloud-talk.webhookPort: puerto del listener de webhook (predeterminado: 8788).channels.nextcloud-talk.webhookHost: host del webhook (predeterminado: 0.0.0.0).channels.nextcloud-talk.webhookPath: ruta del webhook (predeterminado: /nextcloud-talk-webhook).channels.nextcloud-talk.webhookPublicUrl: URL del webhook accesible externamente.channels.nextcloud-talk.dmPolicy:pairing | allowlist | open | disabled.channels.nextcloud-talk.allowFrom: lista de acceso de DM (IDs de usuario).openrequiere"*".channels.nextcloud-talk.groupPolicy:allowlist | open | disabled.channels.nextcloud-talk.groupAllowFrom: lista de acceso de grupo (IDs de usuario).channels.nextcloud-talk.rooms: configuración por sala y lista de acceso.channels.nextcloud-talk.historyLimit: límite de historial de grupo (0 deshabilita).channels.nextcloud-talk.dmHistoryLimit: límite de historial de DM (0 deshabilita).channels.nextcloud-talk.dms: anulaciones por DM (historyLimit).channels.nextcloud-talk.textChunkLimit: tamaño de fragmento de texto saliente (caracteres).channels.nextcloud-talk.chunkMode:length(predeterminado) onewlinepara dividir en líneas en blanco (límites de párrafo) antes del fragmentado por longitud.channels.nextcloud-talk.blockStreaming: deshabilitar block streaming para este canal.channels.nextcloud-talk.blockStreamingCoalesce: ajuste de coalescencia de block streaming.channels.nextcloud-talk.mediaMaxMb: límite de multimedia entrante (MB).