Tlon (plugin)

Tlon e un messenger decentralizzato costruito su Urbit. OpenClaw si connette alla tua nave Urbit e puo rispondere a DM e messaggi nelle chat di gruppo. Le risposte nei gruppi richiedono una menzione @ per impostazione predefinita e possono essere ulteriormente limitate tramite allowlist.

Stato: supportato via plugin. DM, menzioni nei gruppi, risposte nei thread, formattazione rich text e upload di immagini sono supportati. Reazioni e sondaggi non sono ancora supportati.

Plugin necessario

Tlon e distribuito come plugin e non e incluso nell’installazione core.

Installa da CLI (registro npm):

openclaw plugins install @openclaw/tlon

Da checkout locale (se stai lavorando da un repo git):

openclaw plugins install ./extensions/tlon

Dettagli: Plugin

Setup

  1. Installa il plugin Tlon.
  2. Raccogli l’URL della tua nave e il codice di login.
  3. Configura channels.tlon.
  4. Riavvia il gateway.
  5. Invia un DM al bot o menzionalo in un canale di gruppo.

Configurazione minimale (account singolo):

{
  channels: {
    tlon: {
      enabled: true,
      ship: "~sampel-palnet",
      url: "https://your-ship-host",
      code: "lidlut-tabwed-pillex-ridrup",
      ownerShip: "~your-main-ship", // consigliato: la tua nave, sempre autorizzata
    },
  },
}

Per impostazione predefinita, OpenClaw blocca hostname privati/interni e intervalli IP per protezione SSRF. Se la tua nave gira su una rete privata (localhost, IP LAN o hostname interno), devi abilitarlo esplicitamente:

{
  channels: {
    tlon: {
      url: "http://localhost:8080",
      allowPrivateNetwork: true,
    },
  },
}

Questo si applica a URL come:

  • http://localhost:8080
  • http://192.168.x.x:8080
  • http://my-ship.local:8080

Attenzione: Abilita questo solo se ti fidi della tua rete locale. Questa impostazione disabilita le protezioni SSRF per le richieste all’URL della tua nave.

Canali di gruppo

La scoperta automatica e abilitata per impostazione predefinita. Puoi anche fissare i canali manualmente:

{
  channels: {
    tlon: {
      groupChannels: ["chat/~host-ship/general", "chat/~host-ship/support"],
    },
  },
}

Disabilita la scoperta automatica:

{
  channels: {
    tlon: {
      autoDiscoverChannels: false,
    },
  },
}

Controllo degli accessi

Allowlist DM (vuota = nessun DM consentito, usa ownerShip per il flusso di approvazione):

{
  channels: {
    tlon: {
      dmAllowlist: ["~zod", "~nec"],
    },
  },
}

Autorizzazione gruppi (limitata per impostazione predefinita):

{
  channels: {
    tlon: {
      defaultAuthorizedShips: ["~zod"],
      authorization: {
        channelRules: {
          "chat/~host-ship/general": {
            mode: "restricted",
            allowedShips: ["~zod", "~nec"],
          },
          "chat/~host-ship/announcements": {
            mode: "open",
          },
        },
      },
    },
  },
}

Proprietario e sistema di approvazione

Imposta una nave proprietaria per ricevere richieste di approvazione quando utenti non autorizzati tentano di interagire:

{
  channels: {
    tlon: {
      ownerShip: "~your-main-ship",
    },
  },
}

La nave proprietaria e automaticamente autorizzata ovunque — gli inviti DM vengono accettati automaticamente e i messaggi nei canali sono sempre consentiti. Non hai bisogno di aggiungere il proprietario a dmAllowlist o defaultAuthorizedShips.

Quando impostata, il proprietario riceve notifiche DM per:

  • Richieste DM da navi non in allowlist
  • Menzioni in canali senza autorizzazione
  • Richieste di invito ai gruppi

Impostazioni di accettazione automatica

Accettazione automatica inviti DM (per navi nella dmAllowlist):

{
  channels: {
    tlon: {
      autoAcceptDmInvites: true,
    },
  },
}

Accettazione automatica inviti ai gruppi:

{
  channels: {
    tlon: {
      autoAcceptGroupInvites: true,
    },
  },
}

Target di consegna (CLI/cron)

Usa questi con openclaw message send o consegna cron:

  • DM: ~sampel-palnet o dm/~sampel-palnet
  • Gruppo: chat/~host-ship/channel o group:~host-ship/channel

Skill integrata

Il plugin Tlon include una skill integrata (@tloncorp/tlon-skill) che fornisce accesso CLI alle operazioni Tlon:

  • Contatti: ottieni/aggiorna profili, elenca contatti
  • Canali: elenca, crea, pubblica messaggi, recupera storico
  • Gruppi: elenca, crea, gestisci membri
  • DM: invia messaggi, reagisci ai messaggi
  • Reazioni: aggiungi/rimuovi emoji di reazione a post e DM
  • Impostazioni: gestisci permessi del plugin tramite comandi slash

La skill e automaticamente disponibile quando il plugin e installato.

Funzionalita

FunzionalitaStato
Messaggi direttiSupportati
Gruppi/canaliSupportati (gating menzione per impostazione predefinita)
ThreadSupportati (risposta automatica nel thread)
Rich textMarkdown convertito in formato Tlon
ImmaginiCaricate nello storage Tlon
ReazioniTramite skill integrata
SondaggiNon ancora supportati
Comandi nativiSupportati (solo proprietario per impostazione predefinita)

Risoluzione problemi

Esegui questa scaletta prima:

openclaw status
openclaw gateway status
openclaw logs --follow
openclaw doctor

Problemi comuni:

  • DM ignorati: mittente non in dmAllowlist e nessun ownerShip configurato per il flusso di approvazione.
  • Messaggi di gruppo ignorati: canale non scoperto o mittente non autorizzato.
  • Errori di connessione: verifica che l’URL della nave sia raggiungibile; abilita allowPrivateNetwork per navi locali.
  • Errori di autenticazione: verifica che il codice di login sia attuale (i codici ruotano).

Riferimento configurazione

Configurazione completa: Configurazione

Opzioni del provider:

  • channels.tlon.enabled: abilita/disabilita l’avvio del canale.
  • channels.tlon.ship: nome della nave Urbit del bot (es. ~sampel-palnet).
  • channels.tlon.url: URL della nave (es. https://sampel-palnet.tlon.network).
  • channels.tlon.code: codice di login della nave.
  • channels.tlon.allowPrivateNetwork: consenti URL localhost/LAN (bypass SSRF).
  • channels.tlon.ownerShip: nave proprietaria per il sistema di approvazione (sempre autorizzata).
  • channels.tlon.dmAllowlist: navi autorizzate ai DM (vuota = nessuna).
  • channels.tlon.autoAcceptDmInvites: accetta automaticamente DM da navi in allowlist.
  • channels.tlon.autoAcceptGroupInvites: accetta automaticamente tutti gli inviti ai gruppi.
  • channels.tlon.autoDiscoverChannels: scopri automaticamente i canali di gruppo (predefinito: true).
  • channels.tlon.groupChannels: nest dei canali fissati manualmente.
  • channels.tlon.defaultAuthorizedShips: navi autorizzate per tutti i canali.
  • channels.tlon.authorization.channelRules: regole di autorizzazione per canale.
  • channels.tlon.showModelSignature: aggiungi il nome del modello ai messaggi.

Note

  • Le risposte nei gruppi richiedono una menzione (es. ~your-bot-ship) per rispondere.
  • Risposte nei thread: se il messaggio in ingresso e in un thread, OpenClaw risponde nel thread.
  • Rich text: la formattazione Markdown (grassetto, corsivo, codice, intestazioni, liste) viene convertita nel formato nativo di Tlon.
  • Immagini: gli URL vengono caricati nello storage Tlon e incorporati come blocchi immagine.