Tlon(外掛)
Tlon 是建立在 Urbit 上的去中心化通訊軟體。OpenClaw 連接到你的 Urbit ship,可以 回覆私訊和群組聊天訊息。群組回覆預設需要 @ 提及,並可透過許可清單進一步限制。
狀態:透過外掛支援。私訊、群組提及、討論串回覆、富文字格式和 圖片上傳皆已支援。表情回應和投票尚未支援。
需要外掛
Tlon 是外掛式的,不包含在核心安裝中。
透過 CLI(npm 套件庫)安裝:
openclaw plugins install @openclaw/tlon
本機 checkout(在 git repo 中開發):
openclaw plugins install ./extensions/tlon
詳情:外掛
設定
- 安裝 Tlon 外掛。
- 取得你的 ship URL 和登入代碼。
- 設定
channels.tlon。 - 重啟 Gateway。
- 私訊機器人或在群組頻道中提及它。
最小設定(單帳號):
{
channels: {
tlon: {
enabled: true,
ship: "~sampel-palnet",
url: "https://your-ship-host",
code: "lidlut-tabwed-pillex-ridrup",
ownerShip: "~your-main-ship", // 推薦:你的 ship,永遠被允許
},
},
}
私有/區域網路 ship
OpenClaw 預設會封鎖私有/內部主機名稱和 IP 範圍以防止 SSRF 攻擊。 如果你的 ship 在私有網路上運行(localhost、區域網路 IP 或內部主機名稱), 你必須明確選擇啟用:
{
channels: {
tlon: {
url: "http://localhost:8080",
allowPrivateNetwork: true,
},
},
}
適用於以下 URL:
http://localhost:8080http://192.168.x.x:8080http://my-ship.local:8080
警告: 只在你信任本機網路時才啟用此設定。此設定會停用對你 ship URL 請求的 SSRF 保護。
群組頻道
自動發現預設啟用。你也可以手動指定頻道:
{
channels: {
tlon: {
groupChannels: ["chat/~host-ship/general", "chat/~host-ship/support"],
},
},
}
停用自動發現:
{
channels: {
tlon: {
autoDiscoverChannels: false,
},
},
}
存取控制
私訊許可清單(空 = 不允許私訊,使用 ownerShip 進行核准流程):
{
channels: {
tlon: {
dmAllowlist: ["~zod", "~nec"],
},
},
}
群組授權(預設受限):
{
channels: {
tlon: {
defaultAuthorizedShips: ["~zod"],
authorization: {
channelRules: {
"chat/~host-ship/general": {
mode: "restricted",
allowedShips: ["~zod", "~nec"],
},
"chat/~host-ship/announcements": {
mode: "open",
},
},
},
},
},
}
擁有者與核准系統
設定擁有者 ship 以在未授權使用者嘗試互動時接收核准請求:
{
channels: {
tlon: {
ownerShip: "~your-main-ship",
},
},
}
擁有者 ship 在所有地方自動獲得授權 — 私訊邀請會自動接受,頻道訊息永遠被允許。你不需要將擁有者加入 dmAllowlist 或 defaultAuthorizedShips。
設定後,擁有者會收到以下私訊通知:
- 不在許可清單中的 ship 的私訊請求
- 在沒有授權的頻道中被提及
- 群組邀請請求
自動接受設定
自動接受私訊邀請(針對 dmAllowlist 中的 ship):
{
channels: {
tlon: {
autoAcceptDmInvites: true,
},
},
}
自動接受群組邀請:
{
channels: {
tlon: {
autoAcceptGroupInvites: true,
},
},
}
訊息傳送目標(CLI/排程)
搭配 openclaw message send 或排程傳送使用:
- 私訊:
~sampel-palnet或dm/~sampel-palnet - 群組:
chat/~host-ship/channel或group:~host-ship/channel
內建技能
Tlon 外掛包含一個內建技能(@tloncorp/tlon-skill),提供 Tlon 操作的 CLI 存取:
- 聯絡人:取得/更新個人檔案、列出聯絡人
- 頻道:列出、建立、發布訊息、取得歷史記錄
- 群組:列出、建立、管理成員
- 私訊:發送訊息、對訊息回應表情
- 表情回應:對貼文和私訊新增/移除表情回應
- 設定:透過斜線指令管理外掛權限
安裝外掛後技能會自動可用。
功能
| 功能 | 狀態 |
|---|---|
| 私訊 | 支援 |
| 群組/頻道 | 支援(預設需要提及) |
| 討論串 | 支援(自動在討論串中回覆) |
| 富文字 | Markdown 轉換為 Tlon 格式 |
| 圖片 | 上傳至 Tlon 儲存空間 |
| 表情回應 | 透過內建技能支援 |
| 投票 | 尚未支援 |
| 原生指令 | 支援(預設僅限擁有者) |
疑難排解
依序執行以下指令:
openclaw status
openclaw gateway status
openclaw logs --follow
openclaw doctor
常見故障:
- 私訊被忽略:發送者不在
dmAllowlist中且未設定ownerShip用於核准流程。 - 群組訊息被忽略:頻道未被發現或發送者未獲授權。
- 連接錯誤:檢查 ship URL 是否可連線;本機 ship 請啟用
allowPrivateNetwork。 - 認證錯誤:確認登入代碼是最新的(代碼會輪換)。
設定參考
完整設定:設定
供應商選項:
channels.tlon.enabled:啟用/停用頻道啟動。channels.tlon.ship:機器人的 Urbit ship 名稱(例如~sampel-palnet)。channels.tlon.url:ship URL(例如https://sampel-palnet.tlon.network)。channels.tlon.code:ship 登入代碼。channels.tlon.allowPrivateNetwork:允許 localhost/區域網路 URL(SSRF 繞過)。channels.tlon.ownerShip:核准系統的擁有者 ship(永遠獲授權)。channels.tlon.dmAllowlist:允許私訊的 ship(空 = 不允許)。channels.tlon.autoAcceptDmInvites:自動接受許可清單中 ship 的私訊。channels.tlon.autoAcceptGroupInvites:自動接受所有群組邀請。channels.tlon.autoDiscoverChannels:自動發現群組頻道(預設:true)。channels.tlon.groupChannels:手動指定的頻道巢路徑。channels.tlon.defaultAuthorizedShips:對所有頻道獲授權的 ship。channels.tlon.authorization.channelRules:按頻道的授權規則。channels.tlon.showModelSignature:在訊息後附加模型名稱。
備註
- 群組回覆需要提及(例如
~your-bot-ship)才會回覆。 - 討論串回覆:如果接收的訊息在討論串中,OpenClaw 會在討論串中回覆。
- 富文字:Markdown 格式(粗體、斜體、程式碼、標題、清單)會轉換為 Tlon 的原生格式。
- 圖片:URL 會上傳至 Tlon 儲存空間並嵌入為圖片區塊。