Tlon (plugin)
Tlon est une messagerie decentralisee construite sur Urbit. OpenClaw se connecte a votre ship Urbit et peut repondre aux DMs et aux messages de discussion de groupe. Les reponses de groupe necessitent une @mention par defaut et peuvent etre davantage restreintes via des listes d’autorisation.
Statut : pris en charge via plugin. DMs, mentions de groupe, reponses en fil, formatage de texte enrichi et envois d’images sont pris en charge. Les reactions et les sondages ne sont pas encore pris en charge.
Plugin requis
Tlon est fourni comme plugin et n’est pas inclus dans l’installation de base.
Installation via CLI (registre npm) :
openclaw plugins install @openclaw/tlon
Checkout local (execution depuis un depot git) :
openclaw plugins install ./extensions/tlon
Details : Plugins
Configuration
- Installez le plugin Tlon.
- Rassemblez l’URL de votre ship et le code de connexion.
- Configurez
channels.tlon. - Redemarrez la gateway.
- Envoyez un DM au bot ou mentionnez-le dans un canal de groupe.
Configuration minimale (compte unique) :
{
channels: {
tlon: {
enabled: true,
ship: "~sampel-palnet",
url: "https://your-ship-host",
code: "lidlut-tabwed-pillex-ridrup",
ownerShip: "~your-main-ship", // recommande : votre ship, toujours autorise
},
},
}
Ships prives/LAN
Par defaut, OpenClaw bloque les noms d’hote prives/internes et les plages IP pour la protection SSRF. Si votre ship fonctionne sur un reseau prive (localhost, IP LAN ou nom d’hote interne), vous devez explicitement accepter :
{
channels: {
tlon: {
url: "http://localhost:8080",
allowPrivateNetwork: true,
},
},
}
Cela s’applique aux URLs comme :
http://localhost:8080http://192.168.x.x:8080http://my-ship.local:8080
Avertissement : N’activez cela que si vous faites confiance a votre reseau local. Ce parametre desactive les protections SSRF pour les requetes vers l’URL de votre ship.
Canaux de groupe
La decouverte automatique est activee par defaut. Vous pouvez aussi epingler des canaux manuellement :
{
channels: {
tlon: {
groupChannels: ["chat/~host-ship/general", "chat/~host-ship/support"],
},
},
}
Desactiver la decouverte automatique :
{
channels: {
tlon: {
autoDiscoverChannels: false,
},
},
}
Controle d’acces
Liste d’autorisation DM (vide = pas de DMs autorises, utilisez ownerShip pour le flux d’approbation) :
{
channels: {
tlon: {
dmAllowlist: ["~zod", "~nec"],
},
},
}
Autorisation de groupe (restreinte par defaut) :
{
channels: {
tlon: {
defaultAuthorizedShips: ["~zod"],
authorization: {
channelRules: {
"chat/~host-ship/general": {
mode: "restricted",
allowedShips: ["~zod", "~nec"],
},
"chat/~host-ship/announcements": {
mode: "open",
},
},
},
},
},
}
Proprietaire et systeme d’approbation
Definissez un ship proprietaire pour recevoir les demandes d’approbation quand des utilisateurs non autorises essaient d’interagir :
{
channels: {
tlon: {
ownerShip: "~your-main-ship",
},
},
}
Le ship proprietaire est automatiquement autorise partout — les invitations DM sont auto-acceptees et
les messages de canal sont toujours autorises. Vous n’avez pas besoin d’ajouter le proprietaire a dmAllowlist ou
defaultAuthorizedShips.
Quand il est defini, le proprietaire recoit des notifications DM pour :
- Les demandes DM de ships non dans la liste d’autorisation
- Les mentions dans les canaux sans autorisation
- Les demandes d’invitation de groupe
Parametres d’auto-acceptation
Auto-accepter les invitations DM (pour les ships dans dmAllowlist) :
{
channels: {
tlon: {
autoAcceptDmInvites: true,
},
},
}
Auto-accepter les invitations de groupe :
{
channels: {
tlon: {
autoAcceptGroupInvites: true,
},
},
}
Cibles de livraison (CLI/cron)
Utilisez-les avec openclaw message send ou la livraison cron :
- DM :
~sampel-palnetoudm/~sampel-palnet - Groupe :
chat/~host-ship/channelougroup:~host-ship/channel
Skill integre
Le plugin Tlon inclut un skill integre (@tloncorp/tlon-skill)
qui fournit un acces CLI aux operations Tlon :
- Contacts : obtenir/mettre a jour les profils, lister les contacts
- Canaux : lister, creer, poster des messages, recuperer l’historique
- Groupes : lister, creer, gerer les membres
- DMs : envoyer des messages, reagir aux messages
- Reactions : ajouter/supprimer des reactions emoji aux posts et DMs
- Parametres : gerer les permissions du plugin via des commandes slash
Le skill est automatiquement disponible quand le plugin est installe.
Fonctionnalites
| Fonctionnalite | Statut |
|---|---|
| Messages prives | Pris en charge |
| Groupes/canaux | Pris en charge (filtre par mention par defaut) |
| Fils | Pris en charge (auto-reponse dans le fil) |
| Texte enrichi | Markdown converti au format Tlon |
| Images | Envoyees vers le stockage Tlon |
| Reactions | Via skill integre |
| Sondages | Pas encore pris en charge |
| Commandes natives | Pris en charge (proprietaire uniquement par defaut) |
Depannage
Executez cette echelle en premier :
openclaw status
openclaw gateway status
openclaw logs --follow
openclaw doctor
Echecs courants :
- DMs ignores : expediteur non dans
dmAllowlistet pas deownerShipconfigure pour le flux d’approbation. - Messages de groupe ignores : canal non decouvert ou expediteur non autorise.
- Erreurs de connexion : verifiez que l’URL du ship est accessible ; activez
allowPrivateNetworkpour les ships locaux. - Erreurs d’authentification : verifiez que le code de connexion est a jour (les codes tournent).
Reference de configuration
Configuration complete : Configuration
Options du fournisseur :
channels.tlon.enabled: activer/desactiver le demarrage du canal.channels.tlon.ship: nom du ship Urbit du bot (ex :~sampel-palnet).channels.tlon.url: URL du ship (ex :https://sampel-palnet.tlon.network).channels.tlon.code: code de connexion du ship.channels.tlon.allowPrivateNetwork: autoriser les URL localhost/LAN (contournement SSRF).channels.tlon.ownerShip: ship proprietaire pour le systeme d’approbation (toujours autorise).channels.tlon.dmAllowlist: ships autorises a envoyer des DMs (vide = aucun).channels.tlon.autoAcceptDmInvites: auto-accepter les DMs des ships autorises.channels.tlon.autoAcceptGroupInvites: auto-accepter toutes les invitations de groupe.channels.tlon.autoDiscoverChannels: decouverte automatique des canaux de groupe (par defaut : true).channels.tlon.groupChannels: nids de canaux epingles manuellement.channels.tlon.defaultAuthorizedShips: ships autorises pour tous les canaux.channels.tlon.authorization.channelRules: regles d’autorisation par canal.channels.tlon.showModelSignature: ajouter le nom du modele aux messages.
Remarques
- Les reponses de groupe necessitent une mention (ex :
~your-bot-ship) pour repondre. - Reponses en fil : si le message entrant est dans un fil, OpenClaw repond dans le fil.
- Texte enrichi : le formatage Markdown (gras, italique, code, titres, listes) est converti au format natif de Tlon.
- Images : les URLs sont envoyees vers le stockage Tlon et integrees comme blocs d’image.