Developer and self-hosted
Nextcloud Talk
Status: Plugin incluído (bot de Webhook). Mensagens diretas, salas, reações e mensagens em markdown são compatíveis.
Plugin incluído
O Nextcloud Talk é distribuído como um Plugin incluído nas versões atuais do OpenClaw, portanto builds empacotados normais não precisam de uma instalação separada.
Se você estiver usando um build mais antigo ou uma instalação personalizada que exclui o Nextcloud Talk, instale o pacote npm diretamente:
Instale via CLI (registro npm):
openclaw plugins install @openclaw/nextcloud-talk
Use o pacote sem versão para acompanhar a tag de versão oficial atual. Fixe uma versão exata somente quando precisar de uma instalação reproduzível.
Checkout local (ao executar a partir de um repositório git):
openclaw plugins install ./path/to/local/nextcloud-talk-plugin
Detalhes: Plugins
Configuração rápida (iniciante)
-
Certifique-se de que o Plugin Nextcloud Talk esteja disponível.
- As versões empacotadas atuais do OpenClaw já o incluem.
- Instalações mais antigas/personalizadas podem adicioná-lo manualmente com os comandos acima.
-
No seu servidor Nextcloud, crie um bot:
./occ talk:bot:install "OpenClaw" "<shared-secret>" "<webhook-url>" --feature reaction -
Ative o bot nas configurações da sala de destino.
-
Configure o OpenClaw:
- Configuração:
channels.nextcloud-talk.baseUrl+channels.nextcloud-talk.botSecret - Ou variável de ambiente:
NEXTCLOUD_TALK_BOT_SECRET(somente conta padrão)
Configuração pela CLI:
openclaw channels add --channel nextcloud-talk \ --url https://cloud.example.com \ --token "<shared-secret>"Campos explícitos equivalentes:
openclaw channels add --channel nextcloud-talk \ --base-url https://cloud.example.com \ --secret "<shared-secret>"Segredo baseado em arquivo:
openclaw channels add --channel nextcloud-talk \ --base-url https://cloud.example.com \ --secret-file /path/to/nextcloud-talk-secret - Configuração:
-
Reinicie o Gateway (ou conclua a configuração).
Configuração mínima:
{
channels: {
"nextcloud-talk": {
enabled: true,
baseUrl: "https://cloud.example.com",
botSecret: "shared-secret",
dmPolicy: "pairing",
},
},
}
Observações
- Bots não podem iniciar DMs. O usuário precisa enviar uma mensagem ao bot primeiro.
- A URL do Webhook deve ser acessível pelo Gateway; defina
webhookPublicUrlse estiver atrás de um proxy. - Uploads de mídia não são compatíveis com a API do bot; a mídia é enviada como URLs.
- A carga útil do Webhook não diferencia DMs de salas; defina
apiUser+apiPasswordpara habilitar consultas de tipo de sala (caso contrário, DMs são tratadas como salas).
Controle de acesso (DMs)
- Padrão:
channels.nextcloud-talk.dmPolicy = "pairing". Remetentes desconhecidos recebem um código de pareamento. - Aprove via:
openclaw pairing list nextcloud-talkopenclaw pairing approve nextcloud-talk <CODE>
- DMs públicas:
channels.nextcloud-talk.dmPolicy="open"maischannels.nextcloud-talk.allowFrom=["*"]. allowFromcorresponde apenas a IDs de usuário do Nextcloud; nomes de exibição são ignorados.
Salas (grupos)
- Padrão:
channels.nextcloud-talk.groupPolicy = "allowlist"(controlado por menção). - Adicione salas à lista de permissões com
channels.nextcloud-talk.rooms:
{
channels: {
"nextcloud-talk": {
rooms: {
"room-token": { requireMention: true },
},
},
},
}
- Para não permitir nenhuma sala, mantenha a lista de permissões vazia ou defina
channels.nextcloud-talk.groupPolicy="disabled".
Recursos
| Recurso | Status |
|---|---|
| Mensagens diretas | Compatível |
| Salas | Compatível |
| Threads | Não compatível |
| Mídia | somente URL |
| Reações | Compatível |
| Comandos nativos | Não compatível |
Referência de configuração (Nextcloud Talk)
Configuração completa: Configuração
Opções do provedor:
channels.nextcloud-talk.enabled: habilitar/desabilitar a inicialização do canal.channels.nextcloud-talk.baseUrl: URL da instância Nextcloud.channels.nextcloud-talk.botSecret: segredo compartilhado do bot.channels.nextcloud-talk.botSecretFile: caminho de segredo para arquivo regular. Links simbólicos são rejeitados.channels.nextcloud-talk.apiUser: usuário da API para buscas de sala (detecção de DM).channels.nextcloud-talk.apiPassword: senha de API/app para buscas de sala.channels.nextcloud-talk.apiPasswordFile: caminho do arquivo de senha da API.channels.nextcloud-talk.webhookPort: porta do ouvinte de Webhook (padrão: 8788).channels.nextcloud-talk.webhookHost: host do Webhook (padrão: 0.0.0.0).channels.nextcloud-talk.webhookPath: caminho do Webhook (padrão: /nextcloud-talk-webhook).channels.nextcloud-talk.webhookPublicUrl: URL de Webhook acessível externamente.channels.nextcloud-talk.dmPolicy:pairing | allowlist | open | disabled.channels.nextcloud-talk.allowFrom: lista de permissões de DM (IDs de usuário).openrequer"*".channels.nextcloud-talk.groupPolicy:allowlist | open | disabled.channels.nextcloud-talk.groupAllowFrom: lista de permissões de grupo (IDs de usuário).channels.nextcloud-talk.rooms: configurações por sala e lista de permissões.channels.nextcloud-talk.historyLimit: limite de histórico de grupo (0 desabilita).channels.nextcloud-talk.dmHistoryLimit: limite de histórico de DM (0 desabilita).channels.nextcloud-talk.dms: substituições por DM (historyLimit).channels.nextcloud-talk.textChunkLimit: tamanho do bloco de texto de saída (caracteres).channels.nextcloud-talk.chunkMode:length(padrão) ounewlinepara dividir em linhas em branco (limites de parágrafo) antes da divisão por comprimento.channels.nextcloud-talk.blockStreaming: desabilitar streaming de blocos para este canal.channels.nextcloud-talk.blockStreamingCoalesce: ajuste de coalescência do streaming de blocos.channels.nextcloud-talk.mediaMaxMb: limite de mídia de entrada (MB).
Relacionado
- Visão geral dos canais — todos os canais compatíveis
- Pareamento — autenticação de DM e fluxo de pareamento
- Grupos — comportamento de chat em grupo e controle de menções
- Roteamento de canais — roteamento de sessões para mensagens
- Segurança — modelo de acesso e fortalecimento