Tlon (плагин)
Tlon — децентрализованный мессенджер, построенный на Urbit. OpenClaw подключается к вашему кораблю Urbit и может отвечать на ЛС и сообщения в групповых чатах. Ответы в группах по умолчанию требуют @-упоминания и могут быть дополнительно ограничены через списки доступа.
Статус: поддерживается через плагин. ЛС, упоминания в группах, ответы в потоках, rich text и загрузка изображений поддерживаются. Реакции и опросы пока не поддерживаются.
Требуется плагин
Tlon поставляется как плагин и не входит в базовую установку.
Установка через CLI (npm-реестр):
openclaw plugins install @openclaw/tlon
Из локальной копии (при работе из git-репозитория):
openclaw plugins install ./extensions/tlon
Подробнее: Плагины
Настройка
- Установите плагин Tlon.
- Подготовьте URL корабля и код входа.
- Настройте
channels.tlon. - Перезапустите шлюз.
- Отправьте ЛС боту или упомяните его в групповом канале.
Минимальная конфигурация (один аккаунт):
{
channels: {
tlon: {
enabled: true,
ship: "~sampel-palnet",
url: "https://your-ship-host",
code: "lidlut-tabwed-pillex-ridrup",
ownerShip: "~your-main-ship", // рекомендуется: ваш корабль, всегда разрешён
},
},
}
Приватные/LAN-корабли
По умолчанию OpenClaw блокирует приватные/внутренние имена хостов и диапазоны IP для защиты от SSRF. Если ваш корабль работает в приватной сети (localhost, LAN IP или внутреннее имя хоста), необходимо явно разрешить это:
{
channels: {
tlon: {
url: "http://localhost:8080",
allowPrivateNetwork: true,
},
},
}
Применимо к URL вида:
http://localhost:8080http://192.168.x.x:8080http://my-ship.local:8080
Предупреждение: Включайте это, только если вы доверяете вашей локальной сети. Эта настройка отключает защиту от SSRF для запросов к URL вашего корабля.
Групповые каналы
Автообнаружение включено по умолчанию. Также можно закрепить каналы вручную:
{
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",
},
},
},
},
},
}
Владелец и система подтверждения
Задайте корабль-владелец для получения запросов на подтверждение, когда неавторизованные пользователи пытаются взаимодействовать:
{
channels: {
tlon: {
ownerShip: "~your-main-ship",
},
},
}
Корабль-владелец автоматически авторизован везде — приглашения в ЛС принимаются автоматически, а
сообщения в каналах всегда разрешены. Не нужно добавлять владельца в dmAllowlist или
defaultAuthorizedShips.
При задании владелец получает уведомления в ЛС о:
- Запросах ЛС от кораблей не из списка доступа
- Упоминаниях в каналах без авторизации
- Запросах на приглашение в группы
Настройки автоприёма
Автоприём приглашений в ЛС (для кораблей из dmAllowlist):
{
channels: {
tlon: {
autoAcceptDmInvites: true,
},
},
}
Автоприём приглашений в группы:
{
channels: {
tlon: {
autoAcceptGroupInvites: true,
},
},
}
Цели доставки (CLI/cron)
Используйте с openclaw message send или доставкой через cron:
- ЛС:
~sampel-palnetилиdm/~sampel-palnet - Группа:
chat/~host-ship/channelилиgroup:~host-ship/channel
Встроенный навык
Плагин Tlon включает встроенный навык (@tloncorp/tlon-skill),
предоставляющий CLI-доступ к операциям Tlon:
- Контакты: получение/обновление профилей, список контактов
- Каналы: список, создание, отправка сообщений, получение истории
- Группы: список, создание, управление участниками
- ЛС: отправка сообщений, реакции на сообщения
- Реакции: добавление/удаление эмодзи-реакций к постам и ЛС
- Настройки: управление разрешениями плагина через slash-команды
Навык автоматически доступен при установке плагина.
Возможности
| Функция | Статус |
|---|---|
| Прямые сообщения | Поддерживается |
| Группы/каналы | Поддерживается (упоминание по умолчанию) |
| Потоки (threads) | Поддерживается (автоответ в потоке) |
| Rich text | Markdown преобразуется в формат Tlon |
| Изображения | Загружаются в хранилище Tlon |
| Реакции | Через встроенный навык |
| Опросы | Пока не поддерживается |
| Нативные команды | Поддерживается (только для владельца по умолчанию) |
Устранение неполадок
Выполните эти команды первыми:
openclaw status
openclaw gateway status
openclaw logs --follow
openclaw doctor
Частые сбои:
- ЛС игнорируются: отправитель не в
dmAllowlistиownerShipне настроен для потока подтверждения. - Групповые сообщения игнорируются: канал не обнаружен или отправитель не авторизован.
- Ошибки подключения: проверьте доступность URL корабля; включите
allowPrivateNetworkдля локальных кораблей. - Ошибки авторизации: проверьте актуальность кода входа (коды ротируются).
Справочник конфигурации
Полная конфигурация: Конфигурация
Опции провайдера:
channels.tlon.enabled: включение/выключение канала.channels.tlon.ship: имя корабля Urbit бота (например,~sampel-palnet).channels.tlon.url: URL корабля (например,https://sampel-palnet.tlon.network).channels.tlon.code: код входа корабля.channels.tlon.allowPrivateNetwork: разрешить localhost/LAN URL (обход SSRF).channels.tlon.ownerShip: корабль-владелец для системы подтверждения (всегда авторизован).channels.tlon.dmAllowlist: корабли, которым разрешено писать в ЛС (пусто = никому).channels.tlon.autoAcceptDmInvites: автоприём ЛС от кораблей из списка доступа.channels.tlon.autoAcceptGroupInvites: автоприём всех групповых приглашений.channels.tlon.autoDiscoverChannels: автообнаружение групповых каналов (по умолчанию: true).channels.tlon.groupChannels: вручную закреплённые гнёзда каналов.channels.tlon.defaultAuthorizedShips: корабли, авторизованные для всех каналов.channels.tlon.authorization.channelRules: правила авторизации по каналам.channels.tlon.showModelSignature: добавлять имя модели к сообщениям.
Примечания
- Ответы в группах требуют упоминания (например,
~your-bot-ship). - Ответы в потоках: если входящее сообщение в потоке, OpenClaw отвечает внутри потока.
- Rich text: Markdown-форматирование (жирный, курсив, код, заголовки, списки) преобразуется в нативный формат Tlon.
- Изображения: URL загружаются в хранилище Tlon и встраиваются как блоки изображений.