Tlon (plugin)¶
Tlon is a decentralized messenger built on Urbit. OpenClaw connects to your Urbit ship and can respond to DMs and group chat messages. Group replies require an @ mention by default and can be further restricted via allowlists.
Status: supported via plugin. DMs, group mentions, thread replies, and text-only media fallback (URL appended to caption). Reactions, polls, and native media uploads are not supported.
Plugin required¶
Tlon ships as a plugin and is not bundled with the core install.
Install via CLI (npm registry):
Local checkout (when running from a git repo):
Details: Plugins
Setup¶
- Install the Tlon plugin.
- Gather your ship URL and login code.
- Configure
channels.tlon. - Restart the gateway.
- DM the bot or mention it in a group channel.
Minimal config (single account):
{
channels: {
tlon: {
enabled: true,
ship: "~sampel-palnet",
url: "https://your-ship-host",
code: "lidlut-tabwed-pillex-ridrup",
},
},
}
Private/LAN ship URLs (advanced):
By default, OpenClaw blocks private/internal hostnames and IP ranges for this plugin (SSRF hardening).
If your ship URL is on a private network (for example http://192.168.1.50:8080 or http://localhost:8080),
you must explicitly opt in:
Group channels¶
Auto-discovery is enabled by default. You can also pin channels manually:
{
channels: {
tlon: {
groupChannels: ["chat/~host-ship/general", "chat/~host-ship/support"],
},
},
}
Disable auto-discovery:
Access control¶
DM allowlist (empty = allow all):
Group authorization (restricted by default):
{
channels: {
tlon: {
defaultAuthorizedShips: ["~zod"],
authorization: {
channelRules: {
"chat/~host-ship/general": {
mode: "restricted",
allowedShips: ["~zod", "~nec"],
},
"chat/~host-ship/announcements": {
mode: "open",
},
},
},
},
},
}
Delivery targets (CLI/cron)¶
Use these with openclaw message send or cron delivery:
- DM:
~sampel-palnetordm/~sampel-palnet - Group:
chat/~host-ship/channelorgroup:~host-ship/channel
Notes¶
- Group replies require a mention (e.g.
~your-bot-ship) to respond. - Thread replies: if the inbound message is in a thread, OpenClaw replies in-thread.
- Media:
sendMediafalls back to text + URL (no native upload).