Developer and self-hosted
Tlon
Tlon ist ein dezentraler Messenger, der auf Urbit basiert. OpenClaw verbindet sich mit Ihrem Urbit-Ship und kann auf DMs und Gruppenchat-Nachrichten antworten. Gruppenantworten erfordern standardmäßig eine @-Erwähnung und können über Allowlists weiter eingeschränkt werden.
Status: gebündeltes Plugin. DMs, Gruppenerwähnungen, Thread-Antworten, Rich-Text-Formatierung und Bild-Uploads werden unterstützt. Reaktionen und Umfragen werden noch nicht unterstützt.
Gebündeltes Plugin
Tlon wird in aktuellen OpenClaw-Versionen als gebündeltes Plugin ausgeliefert, daher benötigen normale paketierte Builds keine separate Installation.
Wenn Sie einen älteren Build oder eine benutzerdefinierte Installation verwenden, die Tlon ausschließt, installieren Sie ein aktuelles npm-Paket:
Installation über CLI (npm-Registry):
openclaw plugins install @openclaw/tlon
Verwenden Sie das reine Paket, um dem aktuellen offiziellen Release-Tag zu folgen. Pinning auf eine exakte Version sollten Sie nur verwenden, wenn Sie eine reproduzierbare Installation benötigen.
Lokaler Checkout (wenn Sie aus einem Git-Repository ausführen):
openclaw plugins install ./path/to/local/tlon-plugin
Details: Plugins
Einrichtung
- Stellen Sie sicher, dass das Tlon-Plugin verfügbar ist.
- Aktuelle paketierte OpenClaw-Releases bündeln es bereits.
- Ältere/benutzerdefinierte Installationen können es manuell mit den obigen Befehlen hinzufügen.
- Ermitteln Sie Ihre Ship-URL und Ihren Login-Code.
- Konfigurieren Sie
channels.tlon. - Starten Sie den Gateway neu.
- Senden Sie dem Bot eine DM oder erwähnen Sie ihn in einem Gruppenkanal.
Minimale Konfiguration (ein einzelnes Konto):
{
channels: {
tlon: {
enabled: true,
ship: "~sampel-palnet",
url: "https://your-ship-host",
code: "lidlut-tabwed-pillex-ridrup",
ownerShip: "~your-main-ship", // recommended: your ship, always allowed
},
},
}
Private/LAN-Ships
Standardmäßig blockiert OpenClaw private/interne Hostnamen und IP-Bereiche zum Schutz vor SSRF. Wenn Ihr Ship in einem privaten Netzwerk läuft (localhost, LAN-IP oder interner Hostname), müssen Sie dies ausdrücklich aktivieren:
{
channels: {
tlon: {
url: "http://localhost:8080",
allowPrivateNetwork: true,
},
},
}
Dies gilt für URLs wie:
http://localhost:8080http://192.168.x.x:8080http://my-ship.local:8080
⚠️ Aktivieren Sie dies nur, wenn Sie Ihrem lokalen Netzwerk vertrauen. Diese Einstellung deaktiviert SSRF-Schutzmechanismen für Anfragen an Ihre Ship-URL.
Gruppenkanäle
Die automatische Erkennung ist standardmäßig aktiviert. Sie können Kanäle auch manuell festlegen:
{
channels: {
tlon: {
groupChannels: ["chat/~host-ship/general", "chat/~host-ship/support"],
},
},
}
Automatische Erkennung deaktivieren:
{
channels: {
tlon: {
autoDiscoverChannels: false,
},
},
}
Zugriffskontrolle
DM-Allowlist (leer = keine DMs erlaubt, verwenden Sie ownerShip für den Genehmigungsablauf):
{
channels: {
tlon: {
dmAllowlist: ["~zod", "~nec"],
},
},
}
Gruppenautorisierung (standardmäßig eingeschränkt):
{
channels: {
tlon: {
defaultAuthorizedShips: ["~zod"],
authorization: {
channelRules: {
"chat/~host-ship/general": {
mode: "restricted",
allowedShips: ["~zod", "~nec"],
},
"chat/~host-ship/announcements": {
mode: "open",
},
},
},
},
},
}
Owner- und Genehmigungssystem
Legen Sie ein Owner-Ship fest, um Genehmigungsanfragen zu erhalten, wenn nicht autorisierte Benutzer zu interagieren versuchen:
{
channels: {
tlon: {
ownerShip: "~your-main-ship",
},
},
}
Das Owner-Ship ist überall automatisch autorisiert — DM-Einladungen werden automatisch akzeptiert und Kanalnachrichten sind immer erlaubt. Sie müssen den Owner nicht zu dmAllowlist oder defaultAuthorizedShips hinzufügen.
Wenn festgelegt, erhält der Owner DM-Benachrichtigungen für:
- DM-Anfragen von Ships, die nicht in der Allowlist stehen
- Erwähnungen in Kanälen ohne Autorisierung
- Gruppen-Einladungsanfragen
Einstellungen für automatische Annahme
DM-Einladungen automatisch akzeptieren (für Ships in dmAllowlist):
{
channels: {
tlon: {
autoAcceptDmInvites: true,
},
},
}
Gruppeneinladungen von vertrauenswürdigen Ships automatisch akzeptieren:
{
channels: {
tlon: {
autoAcceptGroupInvites: true,
groupInviteAllowlist: ["~zod"],
},
},
}
autoAcceptGroupInvites schlägt geschlossen fehl, wenn groupInviteAllowlist leer ist. Setzen Sie die Allowlist auf die Ships, deren Gruppeneinladungen automatisch akzeptiert werden sollen.
Zustellziele (CLI/Cron)
Verwenden Sie diese mit openclaw message send oder Cron-Zustellung:
- DM:
~sampel-palnetoderdm/~sampel-palnet - Gruppe:
chat/~host-ship/channelodergroup:~host-ship/channel
Gebündelter Skill
Das Tlon-Plugin enthält einen gebündelten Skill (@tloncorp/tlon-skill), der CLI-Zugriff auf Tlon-Operationen bereitstellt:
- Kontakte: Profile abrufen/aktualisieren, Kontakte auflisten
- Kanäle: auflisten, erstellen, Nachrichten posten, Verlauf abrufen
- Gruppen: auflisten, erstellen, Mitglieder verwalten
- DMs: Nachrichten senden, auf Nachrichten reagieren
- Reaktionen: Emoji-Reaktionen zu Posts und DMs hinzufügen/entfernen
- Einstellungen: Plugin-Berechtigungen über Slash-Befehle verwalten
Der Skill ist automatisch verfügbar, wenn das Plugin installiert ist.
Funktionen
| Funktion | Status |
|---|---|
| Direktnachrichten | ✅ Unterstützt |
| Gruppen/Kanäle | ✅ Unterstützt (standardmäßig erwähnungsgesteuert) |
| Threads | ✅ Unterstützt (automatische Antworten im Thread) |
| Rich Text | ✅ Markdown wird in das Tlon-Format konvertiert |
| Bilder | ✅ In Tlon-Speicher hochgeladen |
| Reaktionen | ✅ Über gebündelten Skill |
| Umfragen | ❌ Noch nicht unterstützt |
| Native Befehle | ✅ Unterstützt (standardmäßig nur Owner) |
Fehlerbehebung
Führen Sie zuerst diese Abfolge aus:
openclaw status
openclaw gateway status
openclaw logs --follow
openclaw doctor
Häufige Fehler:
- DMs werden ignoriert: Absender ist nicht in
dmAllowlistund keinownerShipfür den Genehmigungsablauf konfiguriert. - Gruppennachrichten werden ignoriert: Kanal wurde nicht erkannt oder Absender ist nicht autorisiert.
- Verbindungsfehler: Prüfen Sie, ob die Ship-URL erreichbar ist; aktivieren Sie
allowPrivateNetworkfür lokale Ships. - Auth-Fehler: Verifizieren Sie, dass der Login-Code aktuell ist (Codes rotieren).
Konfigurationsreferenz
Vollständige Konfiguration: Konfiguration
Provider-Optionen:
channels.tlon.enabled: Kanalstart aktivieren/deaktivieren.channels.tlon.ship: Urbit-Ship-Name des Bots (z. B.~sampel-palnet).channels.tlon.url: Ship-URL (z. B.https://sampel-palnet.tlon.network).channels.tlon.code: Ship-Login-Code.channels.tlon.allowPrivateNetwork: localhost-/LAN-URLs erlauben (SSRF-Umgehung).channels.tlon.ownerShip: Owner-Ship für Genehmigungssystem (immer autorisiert).channels.tlon.dmAllowlist: Ships, die DMs senden dürfen (leer = keine).channels.tlon.autoAcceptDmInvites: DMs von Ships in der Allowlist automatisch akzeptieren.channels.tlon.autoAcceptGroupInvites: Gruppeneinladungen von Ships in der Allowlist automatisch akzeptieren.channels.tlon.groupInviteAllowlist: Ships, deren Gruppeneinladungen automatisch akzeptiert werden dürfen.channels.tlon.autoDiscoverChannels: Gruppenkanäle automatisch erkennen (Standard: true).channels.tlon.groupChannels: manuell festgelegte Kanal-Nests.channels.tlon.defaultAuthorizedShips: Ships, die für alle Kanäle autorisiert sind.channels.tlon.authorization.channelRules: Auth-Regeln pro Kanal.channels.tlon.showModelSignature: Modellname an Nachrichten anhängen.
Hinweise
- Gruppenantworten erfordern eine Erwähnung (z. B.
~your-bot-ship), um zu antworten. - Thread-Antworten: Wenn die eingehende Nachricht in einem Thread ist, antwortet OpenClaw im Thread.
- Rich Text: Markdown-Formatierung (fett, kursiv, Code, Überschriften, Listen) wird in das native Format von Tlon konvertiert.
- Bilder: URLs werden in den Tlon-Speicher hochgeladen und als Bildblöcke eingebettet.
Verwandte Themen
- Channels-Übersicht — alle unterstützten Kanäle
- Pairing — DM-Authentifizierung und Pairing-Ablauf
- Gruppen — Gruppenchat-Verhalten und Erwähnungssteuerung
- Kanal-Routing — Sitzungs-Routing für Nachrichten
- Sicherheit — Zugriffsmodell und Härtung