Skip to content
广告 · 本站推荐广告

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/tlon

Urbit 基础概念

概念说明
ShipUrbit 节点,即个人服务器实例
@pShip 的标识名称,如 ~zod~sampel-palnet
Planet最常用的 Ship 类型,如 ~sampel-palnet
+codeShip 的 Web 登录密码
LandscapeUrbit 的 Web UI 界面

接入步骤

第一步:获取 Ship 连接信息

  1. 确认你的 Urbit Ship 正在运行
  2. 在 Dojo(命令行)中输入 +code 获取登录密码
  3. 确认 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

  1. 确认 Ship 正在运行:检查 Urbit 进程是否存在
  2. 确认 shipUrl 端口正确,尝试在浏览器中访问
  3. 确认 +code 密码正确(每次 Ship 重启可能变化)

消息发送失败

  1. 确认 Ship 已安装 Tlon / Groups 应用
  2. 检查 Ship 的磁盘空间和资源使用
  3. 查看 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 提供了完整的入门文档(英文)。中文社区资源相对较少。

基于MIT协议开源 | 内容翻译自 官方文档,同步更新