Matrix — Rede de Chat Descentralizada
Matrix — Decentralized Chat Network — easy-to-understand guide based on official docs
Matrix — Rede de Chat Descentralizada
Se você já quis uma rede de chat onde você não fica preso ao servidor de outra pessoa, o Matrix é a resposta. É um protocolo de mensagens aberto e federado — pense em e-mail, mas para mensagens instantâneas. Você pode rodar seu próprio homeserver, ou usar um público como o matrix.org. De qualquer forma, você mantém o controle das suas conversas.
O Hermes Agent se conecta direto ao Matrix usando o SDK Python mautrix. Isso significa que seu bot pode conversar com você pelo Matrix, usando todos os poderes do Hermes que você já conhece e ama — uso de ferramentas, memória, raciocínio e respostas em tempo real. Ele lida com texto, arquivos, imagens, áudio, vídeo e até criptografia de ponta a ponta (E2EE) opcional.
E aqui está a melhor parte: o Hermes funciona com qualquer homeserver Matrix. Synapse, Conduit, Dendrite, ou o grande servidor público em matrix.org — escolha o seu favorito.
Como o Hermes se Comporta
Uma vez conectado, o Hermes tem alguns padrões inteligentes. Aqui está o resumo rápido:
| Contexto | Comportamento |
|---|---|
| DMs | O Hermes responde a todas as mensagens. Sem necessidade de @mencionar. Cada DM tem sua própria sessão. |
| Salas | Por padrão, o Hermes espera uma @menção antes de responder. Você pode mudar isso com MATRIX_REQUIRE_MENTION=false ou adicionar salas específicas em MATRIX_FREE_RESPONSE_ROOMS. Convites para salas são aceitos automaticamente. |
| Threads | O Hermes suporta totalmente threads do Matrix. Responda em uma thread, e o Hermes mantém esse contexto separado da linha do tempo principal da sala. Threads onde o bot já participou não precisam de menção. |
| Auto-threading | Por padrão, o Hermes cria automaticamente uma thread para cada resposta em uma sala. Isso mantém as conversas organizadas e isoladas. Desligue com MATRIX_AUTO_THREAD=false. |
| Comandos | Comandos /normais funcionam como esperado. Se seu cliente reservar / para comandos locais, use !comandos — o Hermes normaliza esses aliases automaticamente. |
| Controles interativos | Aprovações para comandos perigosos e seleção de /model podem usar reações do Matrix. Você pode até restringir reações de aprovação ao usuário que solicitou a ação. |
| Atividade de pensamento e ferramentas | O Hermes usa painéis editáveis em thread para atividade de pensamento e ferramentas quando o progresso do gateway está habilitado. Chega de inundar a linha do tempo principal com atualizações. |
| Salas compartilhadas | Por padrão, o Hermes isola o histórico de sessão por usuário dentro de uma sala. Duas pessoas na mesma sala não compartilham uma transcrição, a menos que você desative isso explicitamente. |
Dica profissional: Basta convidar o usuário Matrix do bot para qualquer sala, e ele entrará e começará a responder automaticamente.
O Que o Hermes Pode Fazer no Matrix
Aqui está a lista completa de capacidades, direto da declaração do adaptador:
- Texto — sim
- Threads — sim
- Reações — sim
- Aprovações — sim
- Seletor de modelo — sim
- Painéis de pensamento — sim
- Imagens — sim (incluindo múltiplas imagens)
- Arquivos — sim
- Voz/áudio — sim
- Vídeo — sim
- E2EE — desligado / opcional / obrigatório (baseado em modo)
- Diagnósticos — sim
Modelo de Sessão no Matrix
Por padrão, o Hermes mantém tudo bem separado:
- Cada DM tem sua própria sessão
- Cada thread tem seu próprio namespace de sessão
- Cada usuário em uma sala compartilhada tem sua própria sessão dentro daquela sala
Isso é controlado pelo config.yaml:
group_sessions_per_user: true
Defina como false apenas se você quiser explicitamente uma conversa compartilhada para a sala inteira:
group_sessions_per_user: false
Sessões compartilhadas podem ser úteis para uma sala colaborativa, mas cuidado: usuários compartilham crescimento de contexto e custos de tokens, uma tarefa longa e pesada em ferramentas de uma pessoa pode inchar o contexto de todos, e uma execução em andamento de uma pessoa pode interromper o acompanhamento de outra.
Configuração de Menções e Threads
Você pode ajustar tudo via variáveis de ambiente ou config.yaml. Aqui está a versão em YAML:
matrix:
require_mention: true # Exige @menção em salas (padrão: true)
allowed_users: # Usuários Matrix autorizados a acionar turnos do agente
- "@alice:matrix.org"
allowed_rooms: # Salas Matrix autorizadas a acionar turnos do agente
- "!abc123:matrix.org"
free_response_rooms: # Salas isentas do requisito de menção
- "!abc123:matrix.org"
ignore_user_patterns: # Usuários fantasma de bridge/appservice para ignorar
- "^@telegram_"
- "^@whatsapp_"
process_notices: false # Ignora m.notice por padrão
session_scope: room # auto|room|thread; room é recomendado para salas de projeto
auto_thread: true # Cria threads automaticamente para respostas (padrão: true)
dm_mention_threads: false # Cria thread quando @mencionado em DM (padrão: false)
max_message_length: 16000 # Tamanho do chunk de saída em caracteres (padrão: 16000, máximo: 65535)
Ou via variáveis de ambiente:
MATRIX_REQUIRE_MENTION=true
MATRIX_ALLOWED_USERS=@alice:matrix.org
MATRIX_ALLOWED_ROOMS=!abc123:matrix.org
MATRIX_FREE_RESPONSE_ROOMS=!abc123:matrix.org,!def456:matrix.org
MATRIX_IGNORE_USER_PATTERNS='^@telegram_,^@whatsapp_'
MATRIX_PROCESS_NOTICES=false
MATRIX_SESSION_SCOPE=room # recomendado para contexto estável de sala de projeto
MATRIX_AUTO_THREAD=true
MATRIX_DM_MENTION_THREADS=false
MATRIX_REACTIONS=true # padrão: true — reações emoji durante o processamento
MATRIX_ALLOW_ROOM_MENTIONS=false
Dica: MATRIX_REACTIONS=false desliga as reações emoji do ciclo de processamento (👀/✅/❌) que o bot publica em mensagens recebidas. Útil para salas onde eventos de reação são ruidosos ou não suportados.
Outra dica: O Hermes envia menções estruturadas de usuários Matrix para IDs explícitos como @alice:example.org. Menções @room para a sala inteira são controladas separadamente.
Esse é o panorama completo do Matrix. Quer você esteja rodando seu próprio homeserver ou apenas queira um chat descentralizado que respeite sua privacidade, o Hermes tem tudo que você precisa. Vá convidar seu bot para uma sala e veja em ação!
📖 Documentação oficial
この記事は Hermes Agent のDocumentação oficialに基づいています:Documentação oficial › user-guide/messaging/matrix