OpenClaw

Canal Tlon OpenClaw

Décentralisé
Avancé

Connectez OpenClaw à Tlon, la messagerie décentralisée construite sur Urbit. Cette intégration permet à votre assistant IA de recevoir et répondre aux messages directs et mentions de groupe sur le réseau pair-à-pair de Tlon — sans serveur centralisé, sans compte d'entreprise, juste votre identité de vaisseau Urbit et un code d'authentification. Idéal pour les passionnés de calcul souverain et les organisations qui valorisent la propriété réelle des données.

Info rapide
DifficultéAvancé
CatégorieDécentralisé
Fonctionnalités prises en charge1 / 6

Tlon Fonctionnalités prises en charge

Messages texte

Pris en charge

Médias et fichiers

Non pris en charge

Réactions

Non pris en charge

Fils de discussion

Non pris en charge

Messages vocaux

Non pris en charge

Discussion de groupe

Non pris en charge

Tlon Prérequis

  • OpenClaw Gateway installé et en fonctionnement
  • Un vaisseau Urbit en fonctionnement (planète, étoile ou comète) accessible via HTTP
  • Le code d'authentification du vaisseau (obtenable depuis l'interface web du vaisseau)
  • Node.js 18+ installé sur votre serveur

Tlon Configuration rapide

1

Installer le plugin Tlon

Exécutez 'openclaw plugins install @openclaw/tlon' pour ajouter le canal Tlon. Alternativement, utilisez 'openclaw onboard' ou 'openclaw channels add' et sélectionnez Tlon dans la liste des plugins. Redémarrez le Gateway après l'installation.

2

Configurer les identifiants du vaisseau Urbit

Définissez votre identifiant de vaisseau Urbit (ex : ~sampel-palnet), l'URL hôte du vaisseau (ex : http://localhost:8080) et le code d'authentification comme variables d'environnement. Référencez-les dans votre configuration openclaw.json en utilisant ${URBIT_SHIP}, ${URBIT_URL} et ${URBIT_CODE}.

3

Démarrer et envoyer un message test

Redémarrez le Gateway avec 'openclaw start'. Ouvrez l'application Tlon sur votre vaisseau Urbit et envoyez un message direct au vaisseau du bot. Le bot devrait automatiquement déchiffrer, traiter et répondre.

Tlon Exemple de configuration

config.json
{
  "channels": {
    "tlon": {
      "ship": "${URBIT_SHIP}",
      "url": "${URBIT_URL}",
      "code": "${URBIT_CODE}",
      "enabled": true
    }
  }
}

Tlon Documentation Détaillée

Aperçu de l'architecture

Tlon est une application de messagerie construite sur Urbit, une plateforme informatique pair-à-pair où chaque utilisateur exécute son propre serveur (appelé « vaisseau »). Contrairement aux plateformes centralisées, vos données résident sur votre vaisseau et vous les contrôlez entièrement. Le flux des messages fonctionne comme suit : 1. Un utilisateur envoie un DM ou mentionne le bot dans un chat de groupe Tlon 2. Le message est livré via le protocole réseau Ames d'Urbit au vaisseau du bot 3. OpenClaw reçoit le message via l'API HTTP du vaisseau 4. Le Gateway traite le message via votre agent IA et publie la réponse via la même API Étant donné qu'Urbit est un réseau pair-à-pair, il n'y a pas de serveur central qui peut être arrêté ou censuré. Chaque vaisseau maintient son propre état, et les messages sont livrés directement entre les vaisseaux via le protocole Ames.
Le bot fonctionne comme un processus compagnon de votre vaisseau Urbit — il se connecte via l'API HTTP locale du vaisseau, pas via un service externe.
Les vaisseaux Urbit ont une identité permanente : une planète comme ~sampel-palnet est votre adresse permanente sur le réseau.

Installation du plugin

Le canal Tlon est distribué comme un plugin optionnel d'OpenClaw plutôt que d'être intégré au Gateway principal. Cela maintient l'installation de base légère tout en vous permettant d'ajouter le support Tlon/Urbit quand nécessaire. Méthodes d'installation : • **npm (recommandé) :** Exécutez 'openclaw plugins install @openclaw/tlon' pour installer la version stable. • **Développement local :** Clonez le dépôt du plugin et utilisez 'openclaw plugins install ./extensions/tlon' pour installer depuis un répertoire local. • **Configuration interactive :** Exécutez 'openclaw onboard' ou 'openclaw channels add' et sélectionnez Tlon dans la liste. Après l'installation, redémarrez le Gateway pour que le plugin prenne effet.
Exécutez 'openclaw plugins list' pour vérifier que le plugin Tlon est installé et actif.

Configuration et authentification du vaisseau Urbit

Pour connecter OpenClaw à Tlon, vous avez besoin de trois informations de votre vaisseau Urbit : 1. **Identifiant du vaisseau** — Votre identité Urbit (ex : ~sampel-palnet). C'est le vaisseau qui agira comme le bot. 2. **URL hôte** — Le point d'accès HTTP où le vaisseau est accessible. Urbit utilise le port 80 par défaut et se rabat sur 8080 si le port 80 est occupé (ex : http://localhost:8080). Vérifiez les journaux de démarrage de votre vaisseau pour le port réel. 3. **Code d'authentification** — Un code secret utilisé pour authentifier les requêtes API. Vous pouvez le trouver dans l'interface web de votre vaisseau sous Paramètres, ou en exécutant '+code' dans le Dojo (la ligne de commande d'Urbit). OpenClaw utilise ces identifiants pour s'authentifier auprès de l'API HTTP du vaisseau et s'abonner aux messages entrants.
openclaw.json
{
  "channels": {
    "tlon": {
      "ship": "${URBIT_SHIP}",
      "url": "${URBIT_URL}",
      "code": "${URBIT_CODE}"
    }
  }
}
Ne codez jamais votre code d'authentification directement dans openclaw.json. Utilisez toujours des variables d'environnement (ex : ${URBIT_CODE}) et définissez-les via 'export URBIT_CODE="sampel-ticlyt-migfun-falmel"' dans votre shell ou un fichier .env.

Découverte automatique et épinglage de canaux

Par défaut, OpenClaw découvre automatiquement les canaux de groupe sur votre vaisseau Urbit, permettant au bot de répondre aux mentions dans tout groupe qu'il a rejoint. Vous pouvez désactiver la découverte automatique et épingler manuellement des canaux spécifiques. Les chemins de canaux dans Tlon suivent le format : chat/~host-ship/channel-name. Par exemple, 'chat/~host-ship/general' fait référence au canal de chat 'general' hébergé par ~host-ship. Lorsque la découverte automatique est désactivée, seuls les canaux épinglés seront surveillés. C'est utile lorsque vous voulez que le bot participe uniquement à des conversations spécifiques sans être déclenché dans chaque groupe.
openclaw.json
{
  "channels": {
    "tlon": {
      "autoDiscovery": false,
      "channels": [
        "chat/~host-ship/general",
        "chat/~host-ship/support"
      ]
    }
  }
}
La découverte automatique est activée par défaut. Définissez autoDiscovery: false pour restreindre le bot aux canaux épinglés uniquement.
Les chemins de canaux utilisent le format chat/~host-ship/channel-name. Vérifiez le chemin exact de chaque canal dans l'application Tlon.

Politiques DM

Les politiques DM (Message Direct) contrôlent qui peut interagir avec votre assistant IA via Tlon. Comme les vaisseaux Urbit ont des identités permanentes, le contrôle d'accès est basé sur les adresses de vaisseaux. OpenClaw prend en charge les politiques DM suivantes pour le canal Tlon : • **open (par défaut)** — Tout vaisseau peut envoyer un DM au bot. Comme les DM Tlon nécessitent que les deux parties soient sur le réseau Urbit, c'est relativement sûr. • **allowlist** — Seuls les vaisseaux listés dans allowFrom peuvent envoyer des messages au bot. Les autres sont ignorés. Lorsque allowFrom est défini comme un tableau vide, tous les vaisseaux sont autorisés (équivalent au mode open). Ajoutez des adresses de vaisseaux spécifiques pour restreindre l'accès.
openclaw.json
{
  "channels": {
    "tlon": {
      "allowFrom": [
        "~sampel-palnet",
        "~timluc-miptev"
      ]
    }
  }
}

Contrôle d'accès des groupes

Les canaux de groupe dans Tlon ont leur propre couche de contrôle d'accès. Par défaut, les groupes sont restreints — le bot ne répondra que dans les groupes où les vaisseaux autorisés sont explicitement listés. Chaque canal de groupe peut être configuré avec : • **authorized** — Une liste d'adresses de vaisseaux qui peuvent déclencher le bot dans ce groupe • **mode** — Soit 'restricted' (seuls les vaisseaux autorisés peuvent déclencher) ou 'open' (tout membre du groupe peut déclencher) Dans les groupes, le bot ne répond que lorsqu'il est explicitement mentionné avec @. Cela empêche le bot de répondre à chaque message dans un chat de groupe actif.
openclaw.json
{
  "channels": {
    "tlon": {
      "groups": {
        "chat/~host-ship/general": {
          "mode": "restricted",
          "authorized": ["~sampel-palnet"]
        },
        "chat/~host-ship/public": {
          "mode": "open"
        }
      }
    }
  }
}
En mode restreint, seuls les vaisseaux listés dans 'authorized' peuvent déclencher les réponses du bot.
Les réponses de groupe nécessitent des mentions @ — même en mode ouvert, le bot ne répondra pas aux messages ordinaires.

Cibles de livraison (CLI et tâches planifiées)

OpenClaw prend en charge l'envoi de messages proactifs via le CLI ou des tâches cron planifiées. Pour le canal Tlon, vous pouvez cibler à la fois les DM et les canaux de groupe. Cibles de livraison DM : • ~sampel-palnet — Envoyer un DM à ce vaisseau • dm/~sampel-palnet — Format DM explicite Cibles de livraison de groupe : • chat/~host-ship/channel — Publier dans un canal de groupe spécifique • group:~host-ship/channel — Format de groupe alternatif Ceci est utile pour envoyer des notifications planifiées, des alertes ou des rapports périodiques à des vaisseaux ou canaux de groupe spécifiques.
CLI examples
# Send a DM to a specific ship
openclaw send tlon ~sampel-palnet "Your daily report is ready."

# Post to a group channel
openclaw send tlon chat/~host-ship/general "System status: all clear."

Limitations du traitement des médias

L'intégration Tlon actuelle ne prend en charge que les messages texte. Les réactions, sondages et téléchargements de médias natifs ne sont pas pris en charge en raison des limitations de l'intégration de l'API Urbit du plugin. Lorsque l'agent IA génère une réponse incluant des médias (images, fichiers, etc.), le plugin se rabat sur la livraison texte uniquement : • Images — L'URL est ajoutée au texte du message au lieu d'être affichée en ligne • Fichiers — Un lien de téléchargement est inclus dans la réponse texte • Réactions — Non prises en charge ; le bot ne peut pas réagir aux messages • Fils — Non pris en charge ; toutes les réponses vont dans la conversation principale Les futures mises à jour du plugin pourraient ajouter la prise en charge native des médias à mesure que la plateforme Tlon évolue.
Si votre agent IA génère fréquemment des réponses avec images, pensez à inclure dans le prompt système que le canal Tlon est en texte uniquement.
Les URL dans les messages sont cliquables dans l'application Tlon — les utilisateurs peuvent appuyer pour voir le contenu média dans leur navigateur.

Tlon Référence de Configuration

ship
Type: stringDefault: (required)

Votre identifiant de vaisseau Urbit (ex : ~sampel-palnet). C'est le vaisseau qui agit comme le bot.

url
Type: stringDefault: "http://localhost:8080"

Point d'accès HTTP où le vaisseau Urbit est accessible

code
Type: stringDefault: (required)

Code d'authentification pour l'API HTTP du vaisseau Urbit. Utilisez une référence de variable d'environnement.

enabled
Type: booleanDefault: true

Activer ou désactiver le canal Tlon

name
Type: stringDefault: ""

Nom d'affichage pour cette instance de canal

autoDiscovery
Type: booleanDefault: true

Découvrir et surveiller automatiquement tous les canaux de groupe sur le vaisseau

channels
Type: string[]Default: []

Liste des chemins de canaux de groupe à surveiller lorsque autoDiscovery est désactivé (ex : chat/~host-ship/general)

allowFrom
Type: string[]Default: []

Liste des adresses de vaisseaux autorisés à envoyer des DM au bot. Un tableau vide autorise tous les vaisseaux.

groups
Type: objectDefault: {}

Configuration du contrôle d'accès par groupe avec mode et listes de vaisseaux autorisés

groups.<path>.mode
Type: stringDefault: "restricted"

Mode d'accès du groupe : 'restricted' (vaisseaux autorisés uniquement) ou 'open' (tout membre du groupe)

groups.<path>.authorized
Type: string[]Default: []

Liste des adresses de vaisseaux autorisés à déclencher le bot dans ce groupe (lorsque le mode est 'restricted')

Tlon Questions Fréquentes

Tlon Dépannage

Le bot démarre mais ne reçoit aucun message

L'URL du vaisseau ou le code d'authentification peut être incorrect, ou le vaisseau n'est pas en fonctionnement.

Vérifiez que le vaisseau est accessible en ouvrant l'URL dans un navigateur. Vérifiez que le code d'authentification est correct (exécutez '+code' dans le Dojo). Assurez-vous que les variables d'environnement sont correctement exportées : 'echo $URBIT_URL' et 'echo $URBIT_CODE'.
Erreur : échec de l'authentification

Le code d'authentification a expiré ou est incorrect. Les vaisseaux Urbit peuvent faire tourner leurs codes d'authentification.

Récupérez un nouveau code d'authentification depuis l'interface web du vaisseau (Paramètres) ou en exécutant '+code' dans le Dojo. Mettez à jour la variable d'environnement URBIT_CODE et redémarrez le Gateway.
Le bot répond aux DM mais pas dans les canaux de groupe

La découverte automatique est peut-être désactivée et le canal de groupe n'est pas épinglé, ou le contrôle d'accès du groupe bloque l'expéditeur.

Vérifiez si autoDiscovery est défini sur false — si c'est le cas, ajoutez le canal de groupe au tableau channels. Vérifiez que le vaisseau de l'expéditeur est dans la liste authorized du groupe (pour le mode restreint). N'oubliez pas que les réponses de groupe nécessitent des mentions @.
Plugin introuvable après l'installation

Le Gateway n'a pas été redémarré après l'installation du plugin, ou l'installation a échoué silencieusement.

Exécutez 'openclaw plugins list' pour vérifier que le plugin Tlon est installé. S'il n'est pas listé, réexécutez 'openclaw plugins install @openclaw/tlon'. Redémarrez le Gateway avec 'openclaw start' après l'installation.
La connexion se coupe fréquemment

L'API HTTP du vaisseau Urbit peut être inaccessible en raison de problèmes réseau ou du vaisseau sous forte charge.

Vérifiez votre connectivité réseau vers le vaisseau. Si vous l'exécutez à distance, assurez-vous que le port HTTP n'est pas bloqué par un pare-feu. Envisagez d'exécuter le bot sur la même machine que le vaisseau pour minimiser la latence. Vérifiez les messages d'erreur dans le Dojo du vaisseau.