Pular para o conteúdo principal

Matrix

O Matrix é um protocolo de comunicação aberto e descentralizado. O PicoClaw se integra a homeservers Matrix, com suporte a mensagens de texto e mídia, chats em grupo, indicadores de digitação e entrada automática em salas para as quais for convidado.

Configuração

1. Criar uma conta Matrix para o bot

Crie uma conta Matrix dedicada para o seu bot no homeserver de sua preferência (por exemplo, matrix.org ou um servidor auto-hospedado).

2. Obter um access token

Você pode obter um access token fazendo login pela API de cliente do Matrix:

curl -X POST "https://matrix.org/_matrix/client/v3/login" \
-H "Content-Type: application/json" \
-d '{
"type": "m.login.password",
"identifier": {"type": "m.id.user", "user": "your-bot-username"},
"password": "your-bot-password"
}'

Copie o access_token da resposta.

3. Configurar o PicoClaw

{
"channels": {
"matrix": {
"enabled": true,
"homeserver": "https://matrix.org",
"user_id": "@your-bot:matrix.org",
"access_token": "YOUR_MATRIX_ACCESS_TOKEN",
"device_id": "",
"join_on_invite": true,
"allow_from": [],
"group_trigger": {
"mention_only": true
},
"placeholder": {
"enabled": true,
"text": "Thinking..."
},
"reasoning_channel_id": ""
}
}
}

4. Executar

picoclaw gateway

O bot vai se conectar ao homeserver e começar a escutar mensagens. Se join_on_invite estiver ativado, ele entrará automaticamente em qualquer sala para a qual for convidado.

Referência de Campos

CampoTipoObrigatórioDescrição
homeserverstringSimURL do homeserver Matrix (ex.: https://matrix.org)
user_idstringSimID de usuário Matrix do bot (ex.: @bot:matrix.org)
access_tokenstringSimAccess token do bot
device_idstringNãoDevice ID Matrix opcional
join_on_inviteboolNãoEntrar automaticamente nas salas quando convidado (padrão: false)
allow_fromarrayNãoWhitelist de IDs de usuários Matrix (vazio = permitir todos)
group_triggerobjectNãoConfigurações de acionamento em grupo (veja Campos Comuns de Canal)
placeholderobjectNãoConfiguração de mensagem placeholder (enabled, text)
reasoning_channel_idstringNãoDirecionar a saída de raciocínio para uma sala separada

Recursos Suportados

  • Mensagens de texto — Envio e recebimento de mensagens de texto com suporte a Markdown
  • Formatação HTML aprimorada — Respostas em Markdown são convertidas para HTML usando um parser compatível com CommonMark e saída XHTML, garantindo renderização confiável de listas, blocos de código e outras formatações sem exigir linhas em branco antes de elementos de bloco
  • Mensagens de mídia — Download de imagens/áudio/vídeo/arquivos recebidos e upload de mídia enviada
  • Transcrição de áudio — Áudios recebidos são normalizados no fluxo de transcrição existente ([audio: ...])
  • Regras de acionamento em grupo — Suporta modo somente-menção e prefixos por palavra-chave
  • Indicador de digitação — Mostra o estado m.typing durante o processamento
  • Mensagens placeholder — Envia uma mensagem temporária (ex.: "Thinking...") e depois a substitui pela resposta real
  • Auto-join — Entra automaticamente nas salas quando convidado (pode ser desativado)