Skip to main content
Tlon é um mensageiro descentralizado criado sobre o Urbit. O OpenClaw se conecta à sua nave Urbit e responde a mensagens diretas e mensagens de chats em grupo. Por padrão, respostas em grupo exigem uma menção com @, além de regras de autorização e um fluxo de aprovação pelo proprietário. Status: plugin incluído. Há suporte a mensagens diretas, menções em grupos, threads, rich text, upload/download de imagens e um sistema de aprovação pelo proprietário. Não há suporte a reações nem enquetes.

Plugin incluído

O Tlon vem incluído nas versões atuais do OpenClaw; compilações empacotadas não precisam de uma instalação separada. Em uma compilação mais antiga ou instalação personalizada que não o inclua, instale-o pelo npm:
Use somente o nome do pacote para acompanhar a tag da versão atual. Fixe uma versão (@openclaw/tlon@x.y.z) apenas para instalações reproduzíveis. A partir de um checkout local:
Detalhes: Plugins

Configuração

Ou edite a configuração diretamente:
Reinicie o Gateway após editar a configuração diretamente. Em seguida, envie uma mensagem direta ao bot ou mencione-o com @ em um canal de grupo. Por padrão, o OpenClaw bloqueia nomes de host e intervalos de IP privados/internos para proteção contra SSRF. Se sua nave for executada em uma rede privada (localhost, IP da LAN, nome de host interno), habilite isso explicitamente:
Aplica-se a destinos como http://localhost:8080, http://192.168.x.x:8080 e http://my-ship.local:8080. Habilite isso apenas para uma URL de nave em que você confia; essa opção desativa a proteção contra SSRF nas solicitações HTTP dessa conta.
channels.tlon.allowPrivateNetwork (chave simples) foi descontinuada. openclaw doctor --fix a move automaticamente para channels.tlon.network.dangerouslyAllowPrivateNetwork.

Canais de grupo

Fixe os canais manualmente ou ative a descoberta automática:
Quando não definido na configuração, autoDiscoverChannels assume false; o assistente de configuração apresenta sim como resposta padrão e grava true explicitamente. Quando ativado, o OpenClaw consulta os grupos ingressados na inicialização, monitora novos canais à medida que convites para grupos são aceitos e verifica novamente a cada 2 minutos.

Controle de acesso

Lista de permissões para mensagens diretas (vazia = nenhuma mensagem direta permitida, exceto quando o remetente é ownerShip):
Por padrão, a autorização de grupos é restricted para cada canal. Defina defaultAuthorizedShips como base e substitua-a para cada nest de canal:
Depois que o bot responde em uma thread, ele continua respondendo às mensagens posteriores nessa thread sem exigir outra menção.

Sistema de proprietário e aprovação

A nave proprietária é autorizada em todos os lugares: convites para mensagens diretas sempre são aceitos automaticamente, convites para grupos sempre são aceitos automaticamente e mensagens nos canais sempre passam pela autorização. O proprietário não precisa estar em dmAllowlist, defaultAuthorizedShips nem groupInviteAllowlist. Quando ownerShip está definido, solicitações não autorizadas não são simplesmente descartadas: elas entram em uma fila de aprovações pendentes e uma mensagem direta é enviada ao proprietário:
  • Solicitações de mensagens diretas de naves que não estão em dmAllowlist
  • Menções em canais nos quais o remetente não passa pela autorização
  • Convites para grupos de naves que não estão em groupInviteAllowlist (quando a aceitação automática está desativada ou está ativada, mas o remetente do convite não consta na lista de permissões)
O proprietário responde por mensagem direta para tomar uma ação sobre uma solicitação: Sem ownerShip configurado, mensagens diretas e menções em canais não autorizadas são apenas descartadas e registradas; não há solicitação de aprovação.

Configurações de aceitação automática

Aceite automaticamente convites para mensagens diretas de naves que já estejam em dmAllowlist (o proprietário sempre é aceito automaticamente, independentemente desta opção):
Aceite automaticamente convites para grupos com base em uma lista de permissões (falha de modo fechado: com autoAcceptGroupInvites: true e uma groupInviteAllowlist vazia, nenhum convite que não seja do proprietário é aceito):

Recarga dinâmica pelo armazenamento de configurações do Urbit

A maioria das configurações acima (dmAllowlist, groupInviteAllowlist, groupChannels, defaultAuthorizedShips, autoDiscoverChannels, autoAcceptDmInvites, autoAcceptGroupInvites, ownerShip, showModelSignature) é espelhada no agente %settings da nave (desk moltbot, bucket tlon) na primeira execução e depois lida dinamicamente a partir dele. Assim, alterações feitas por um cliente Landscape ou pelos comandos de configuração da habilidade incluída são aplicadas sem reiniciar o Gateway. channelRules e as aprovações pendentes também são persistidas ali como JSON. A configuração em arquivo continua sendo a fonte da verdade para valores nunca gravados no armazenamento de configurações.

Destinos de entrega (CLI/Cron)

Use com openclaw message send ou com a entrega por Cron:
  • Mensagem direta: ~sampel-palnet ou dm/~sampel-palnet
  • Grupo: chat/~host-ship/channel ou group:~host-ship/channel

Habilidade incluída

O plugin inclui @tloncorp/tlon-skill, uma CLI para operações diretas no Urbit, disponível automaticamente após a instalação do plugin:
  • Atividade: menções, respostas, itens não lidos
  • Canais: listar, criar, renomear
  • Contatos: listar/obter/atualizar perfis
  • Grupos: criar, ingressar, fluxos de convite/solicitação, funções
  • Hooks: gerenciar hooks de canais
  • Mensagens: histórico, pesquisa
  • Mensagens diretas: enviar, reagir, aceitar/recusar
  • Publicações: reagir, excluir
  • Caderno: publicar em canais de diário
  • Configurações: recarregar dinamicamente a configuração do plugin pelo armazenamento de configurações descrito acima

Recursos

Solução de problemas

Falhas comuns:
  • Mensagens diretas ignoradas: o remetente não está em dmAllowlist e nenhum ownerShip foi configurado para o fluxo de aprovação.
  • Mensagens de grupo ignoradas: o canal não foi descoberto/fixado ou o remetente não passa pela autorização e não há ownerShip para enfileirar uma aprovação.
  • Erros de conexão: verifique se a URL da nave está acessível; defina network.dangerouslyAllowPrivateNetwork para naves locais.
  • Erros de autenticação: os códigos de login mudam periodicamente; copie o código atual da sua nave.

Referência de configuração

Configuração completa: Configuração

Observações

  • Respostas em grupo precisam de uma menção com @ (por exemplo, ~your-bot-ship), a menos que o bot já tenha ingressado nessa thread.
  • Respostas a threads são enviadas dentro da própria thread; o bot também recebe as últimas 10 mensagens do contexto da thread adicionadas antes da entrada do agente.
  • Rich text (negrito, itálico, código, cabeçalhos e listas) é convertido para o formato nativo do Tlon.
  • O envio de uma mensagem recebida que solicite um resumo do canal (por exemplo, “resuma este canal”) aciona uma sumarização integrada do histórico em vez do fluxo normal de resposta.

Relacionados