Tlon - Urbit 生态通讯接入
Tlon 是构建在 Urbit 操作系统上的即时通讯应用。Urbit 是一个完全去中心化的个人服务器(Personal Server)平台,每个用户运行自己的 Ship(节点)。通过将 OpenClaw 接入 Tlon,可以在 Urbit 生态中实现 AI 自动化交互。
前置要求
- 一个正在运行的 Urbit Ship(节点)
- Ship 的
+code访问密码 - 已安装 Tlon 应用(Groups & Talk)
- OpenClaw Gateway(网关)已安装并运行
安装插件
bash
openclaw plugins install @openclaw/tlonUrbit 基础概念
| 概念 | 说明 |
|---|---|
| Ship | Urbit 节点,即个人服务器实例 |
| @p | Ship 的标识名称,如 ~zod、~sampel-palnet |
| Planet | 最常用的 Ship 类型,如 ~sampel-palnet |
| +code | Ship 的 Web 登录密码 |
| Landscape | Urbit 的 Web UI 界面 |
接入步骤
第一步:获取 Ship 连接信息
- 确认你的 Urbit Ship 正在运行
- 在 Dojo(命令行)中输入
+code获取登录密码 - 确认 Ship 的 HTTP 端口(默认 80 或 8080)
bash
# 常见的 Ship 启动方式
urbit -p 8080 /path/to/your-ship第二步:配置 OpenClaw
json5
{
channels: {
tlon: {
enabled: true,
shipUrl: "http://localhost:8080", // Ship 的 HTTP 地址
shipName: "~sampel-palnet", // Ship 的 @p 名称
code: "+code-output-here", // +code 密码
dmPolicy: "pairing" // DM Policy(私信策略)
}
}
}也可以通过 Environment Variable(环境变量)设置:
bash
export URBIT_SHIP_URL="http://localhost:8080"
export URBIT_SHIP_NAME="~sampel-palnet"
export URBIT_SHIP_CODE="your-code"第三步:重启 Gateway 并验证
bash
openclaw gateway restart通过 Tlon 向 Bot 的 Ship 发送 DM(私信),获取 Pairing Code(配对码)后批准:
bash
openclaw pairing approve tlon <pairing-code>Ship 连接配置
json5
{
channels: {
tlon: {
connection: {
reconnectInterval: 5000, // 断线重连间隔(毫秒)
timeout: 30000, // 连接超时(毫秒)
keepAlive: true // 保持长连接
}
}
}
}Ship 可用性
Urbit Ship 需要持续运行才能接收消息。如果 Ship 关闭,所有消息将在 Ship 重新启动后同步,但 Bot 在 Ship 离线期间无法响应。
Group(群组)支持
Tlon 的 Groups 功能支持创建群组和频道:
json5
{
channels: {
tlon: {
groups: {
allowAll: false,
allowGroups: ["~sampel-palnet/my-group"], // 允许的群组路径
requireMention: true // 需要提及 Bot
}
}
}
}DM Policy(私信策略)
| 策略 | 说明 |
|---|---|
pairing | 用户需先获取 Pairing Code(配对码)验证 |
allowlist | 仅允许指定 @p 地址私聊 |
open | 所有人均可私聊(谨慎使用) |
常见问题
无法连接到 Ship
- 确认 Ship 正在运行:检查 Urbit 进程是否存在
- 确认
shipUrl端口正确,尝试在浏览器中访问 - 确认
+code密码正确(每次 Ship 重启可能变化)
消息发送失败
- 确认 Ship 已安装 Tlon / Groups 应用
- 检查 Ship 的磁盘空间和资源使用
- 查看 Gateway 日志中的详细错误信息
SSE 连接断开
OpenClaw 通过 SSE(Server-Sent Events)接收 Ship 事件。如果使用反向代理,确保 SSE 连接未被超时切断:
nginx
# Nginx 配置示例
proxy_read_timeout 3600s;
proxy_buffering off;🇨🇳 中国用户须知
Tlon 和 Urbit 属于小众的去中心化平台,在中国社区中使用人数较少。
网络访问:Urbit 基础设施和 Ship 之间的 Ames 协议使用 UDP,部分网络环境下可能需要配置端口转发。
获取 Planet:Urbit Planet(行星 ID)需要从 Star(恒星)获取或在二级市场购买,有一定门槛。
适用场景:Web3/去中心化技术爱好者社区、对数据主权有极高要求的个人用户。
学习资源:urbit.org 提供了完整的入门文档(英文)。中文社区资源相对较少。
