OpenClaw

OpenClaw Tlon 渠道

去中心化
高级

将 OpenClaw 连接到 Tlon,这是一个基于 Urbit 构建的去中心化即时通讯工具。该集成使您的 AI 助手能够在 Tlon 的点对点网络上接收和回复私信及群组提及——无需中心化服务器,无需企业账户,只需您的 Urbit 飞船身份和认证码。适合主权计算爱好者和重视数据所有权的组织。

快速信息
难度高级
分类去中心化
支持功能数1 / 6

Tlon 支持的功能

文本消息

支持

媒体与文件

不支持

消息反应

不支持

消息线程

不支持

语音消息

不支持

群聊

不支持

Tlon 前置条件

  • 已安装并运行 OpenClaw Gateway
  • 一个正在运行的 Urbit 飞船(行星、恒星或彗星),可通过 HTTP 访问
  • 飞船的认证码(可从飞船的 Web 界面获取)
  • 服务器上已安装 Node.js 18+

Tlon 快速设置

1

安装 Tlon 插件

运行 'openclaw plugins install @openclaw/tlon' 添加 Tlon 渠道。或者使用 'openclaw onboard' 或 'openclaw channels add',然后从插件列表中选择 Tlon。安装后重启 Gateway。

2

配置 Urbit 飞船凭证

设置您的 Urbit 飞船标识符(如 ~sampel-palnet)、飞船的主机 URL(如 http://localhost:8080)和认证码作为环境变量。在 openclaw.json 配置中使用 ${URBIT_SHIP}、${URBIT_URL} 和 ${URBIT_CODE} 引用它们。

3

启动并发送测试消息

使用 'openclaw start' 重启 Gateway。在 Urbit 飞船上打开 Tlon 应用,向机器人的飞船发送一条私信。机器人应该会自动解密、处理并回复。

Tlon 配置示例

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

Tlon 深入了解

架构概览

Tlon 是一个基于 Urbit 构建的即时通讯应用,Urbit 是一个点对点计算平台,每个用户运行自己的服务器(称为“飞船”)。与中心化平台不同,您的数据存储在您自己的飞船上,完全由您控制。 消息流程如下: 1. 用户在 Tlon 群聊中发送私信或 @ 提及机器人 2. 消息通过 Urbit 的 Ames 网络协议传递到机器人的飞船 3. OpenClaw 通过飞船的 HTTP API 接收消息 4. Gateway 通过您的 AI 代理处理消息,并通过同一 API 发回响应 由于 Urbit 是一个点对点网络,没有可以被关闭或审查的中央服务器。每个飞船维护自己的状态,消息通过 Ames 协议在飞船之间直接传递。
机器人作为 Urbit 飞船的伴随进程运行——它通过飞船的本地 HTTP API 连接,而非通过任何外部服务。
Urbit 飞船具有持久身份:像 ~sampel-palnet 这样的行星是您在网络上的永久地址。

插件安装

Tlon 渠道作为可选的 OpenClaw 插件分发,而非内置于核心 Gateway 中。这使得基础安装保持轻量,同时允许您在需要时添加 Tlon/Urbit 支持。 安装方式: • **npm(推荐):** 运行 'openclaw plugins install @openclaw/tlon' 安装稳定版本。 • **本地开发:** 克隆插件仓库,使用 'openclaw plugins install ./extensions/tlon' 从本地目录安装。 • **交互式设置:** 运行 'openclaw onboard' 或 'openclaw channels add',然后从列表中选择 Tlon。 安装后重启 Gateway 使插件生效。
运行 'openclaw plugins list' 验证 Tlon 插件已安装并处于活动状态。

Urbit 飞船设置与认证

要将 OpenClaw 连接到 Tlon,您需要从 Urbit 飞船获取三条信息: 1. **飞船标识符** — 您的 Urbit 身份(如 ~sampel-palnet)。这是将作为机器人的飞船。 2. **主机 URL** — 飞船可访问的 HTTP 端点。Urbit 默认使用 80 端口,若 80 端口被占用则回退到 8080(如 http://localhost:8080)。请查看飞船启动日志确认实际端口。 3. **认证码** — 用于认证 API 请求的密钥。您可以在飞船的 Web 界面的设置中找到,或在 Dojo(Urbit 的命令行)中运行 '+code' 获取。 OpenClaw 使用这些凭证通过飞船的 HTTP API 进行认证并订阅传入消息。
openclaw.json
{
  "channels": {
    "tlon": {
      "ship": "${URBIT_SHIP}",
      "url": "${URBIT_URL}",
      "code": "${URBIT_CODE}"
    }
  }
}
切勿将认证码直接硬编码在 openclaw.json 中。始终使用环境变量(如 ${URBIT_CODE}),并通过 'export URBIT_CODE="sampel-ticlyt-migfun-falmel"' 在 shell 或 .env 文件中设置。

自动发现与频道固定

默认情况下,OpenClaw 会自动发现 Urbit 飞船上的群组频道,允许机器人在其加入的任何群组中响应提及。您可以禁用自动发现,改为手动固定特定频道。 Tlon 中的频道路径格式为:chat/~host-ship/channel-name。例如,'chat/~host-ship/general' 指的是由 ~host-ship 托管的 'general' 聊天频道。 禁用自动发现后,只有固定的频道会被监控。当您希望机器人只参与特定对话而不在每个群组中被触发时,这很有用。
openclaw.json
{
  "channels": {
    "tlon": {
      "autoDiscovery": false,
      "channels": [
        "chat/~host-ship/general",
        "chat/~host-ship/support"
      ]
    }
  }
}
自动发现默认启用。设置 autoDiscovery: false 将机器人限制在固定频道中。
频道路径使用格式 chat/~host-ship/channel-name。请在 Tlon 应用中查看每个频道的确切路径。

私信策略

私信策略控制谁可以通过 Tlon 与您的 AI 助手互动。由于 Urbit 飞船具有持久身份,访问控制基于飞船地址。 OpenClaw 为 Tlon 渠道支持以下私信策略: • **open(默认)** — 任何飞船都可以向机器人发送私信。由于 Tlon 私信要求双方都在 Urbit 网络上,这相对安全。 • **allowlist** — 只有 allowFrom 中列出的飞船才能向机器人发送消息。其他飞船将被忽略。 当 allowFrom 设置为空数组时,所有飞船都被允许(等同于 open 模式)。添加特定飞船地址以限制访问。
openclaw.json
{
  "channels": {
    "tlon": {
      "allowFrom": [
        "~sampel-palnet",
        "~timluc-miptev"
      ]
    }
  }
}

群组访问控制

Tlon 中的群组频道有自己的访问控制层。默认情况下,群组是受限的——机器人只会在明确列出授权飞船的群组中响应。 每个群组频道可以配置: • **authorized** — 可以在此群组中触发机器人的飞船地址列表 • **mode** — 'restricted'(仅授权飞船可触发)或 'open'(任何群组成员可触发) 在群组中,机器人仅在被 @ 提及时才会响应。这防止机器人在繁忙的群聊中回复每条消息。
openclaw.json
{
  "channels": {
    "tlon": {
      "groups": {
        "chat/~host-ship/general": {
          "mode": "restricted",
          "authorized": ["~sampel-palnet"]
        },
        "chat/~host-ship/public": {
          "mode": "open"
        }
      }
    }
  }
}
在受限模式下,只有 'authorized' 中列出的飞船才能触发机器人响应。
群组响应需要 @ 提及——即使在开放模式下,机器人也不会响应普通消息。

投递目标(CLI 和定时任务)

OpenClaw 支持通过 CLI 或定时任务发送主动消息。对于 Tlon 渠道,您可以针对私信和群组频道。 私信投递目标: • ~sampel-palnet — 向此飞船发送私信 • dm/~sampel-palnet — 显式私信格式 群组投递目标: • chat/~host-ship/channel — 发送到特定群组频道 • group:~host-ship/channel — 替代群组格式 这对于向特定飞船或群组频道发送定时通知、警报或定期报告非常有用。
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."

媒体处理限制

当前的 Tlon 集成仅支持文本消息。由于插件的 Urbit API 集成限制,不支持表情回应、投票和原生媒体上传。 当 AI 代理生成包含媒体(图片、文件等)的响应时,插件回退到纯文本传递: • 图片 — URL 附加到消息文本中,而非内联显示 • 文件 — 文本响应中包含下载链接 • 表情回应 — 不支持;机器人无法对消息做出回应 • 线程 — 不支持;所有回复都发送到主对话 未来的插件更新可能会随着 Tlon 平台的发展添加原生媒体支持。
如果您的 AI 代理经常生成图片响应,请考虑在系统提示中说明 Tlon 渠道仅支持文本。
消息中的 URL 在 Tlon 应用中可点击——用户可以点击在浏览器中查看媒体内容。

Tlon 配置参考

ship
Type: stringDefault: (required)

您的 Urbit 飞船标识符(如 ~sampel-palnet)。这是作为机器人的飞船。

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

Urbit 飞船可访问的 HTTP 端点

code
Type: stringDefault: (required)

Urbit 飞船 HTTP API 的认证码。使用环境变量引用。

enabled
Type: booleanDefault: true

启用或禁用 Tlon 渠道

name
Type: stringDefault: ""

此渠道实例的显示名称

autoDiscovery
Type: booleanDefault: true

自动发现并监控飞船上的所有群组频道

channels
Type: string[]Default: []

禁用 autoDiscovery 时要监控的群组频道路径列表(如 chat/~host-ship/general)

allowFrom
Type: string[]Default: []

允许向机器人发送私信的飞船地址列表。空数组允许所有飞船。

groups
Type: objectDefault: {}

每个群组的访问控制配置,包含模式和授权飞船列表

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

群组访问模式:'restricted'(仅授权飞船)或 'open'(任何群组成员)

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

在此群组中被授权触发机器人的飞船地址列表(当模式为 'restricted' 时)

Tlon 常见问题

Tlon 故障排查

机器人启动但收不到任何消息

飞船 URL 或认证码可能不正确,或者飞船未在运行。

通过在浏览器中打开 URL 验证飞船是否可访问。检查认证码是否正确(在 Dojo 中运行 '+code')。确保环境变量已正确导出:'echo $URBIT_URL' 和 'echo $URBIT_CODE'。
错误:认证失败

认证码已过期或不正确。Urbit 飞船可以轮换认证码。

从飞船的 Web 界面(设置)或在 Dojo 中运行 '+code' 获取新的认证码。更新 URBIT_CODE 环境变量并重启 Gateway。
机器人回复私信但不回复群组频道

自动发现可能已禁用且群组频道未被固定,或群组访问控制阻止了发送者。

检查 autoDiscovery 是否设置为 false——如果是,将群组频道添加到 channels 数组中。验证发送者的飞船是否在群组的 authorized 列表中(受限模式下)。记住群组响应需要 @ 提及。
安装后找不到插件

插件安装后未重启 Gateway,或安装静默失败。

运行 'openclaw plugins list' 验证 Tlon 插件已安装。如未列出,重新运行 'openclaw plugins install @openclaw/tlon'。安装后使用 'openclaw start' 重启 Gateway。
连接频繁断开

由于网络问题或飞船负载过重,Urbit 飞船的 HTTP API 可能无法访问。

检查到飞船的网络连接。如果是远程运行,确保 HTTP 端口未被防火墙阻止。考虑在与飞船相同的机器上运行机器人以最小化延迟。检查飞船的 Dojo 中的错误消息。