Tlon
Tlon — это децентрализованный мессенджер, построенный на Urbit. OpenClaw подключается к вашему Urbit-кораблю и может отвечать на личные и групповые сообщения. Ответы в группах по умолчанию требуют упоминания через @ и могут быть дополнительно ограничены с помощью списков разрешений. Статус: поддерживается через плагин. Поддерживаются личные сообщения, групповые упоминания, ответы в ветках, расширенное текстовое форматирование и загрузка изображений. Реакции и опросы пока не поддерживаются.
Требуется плагин
Tlon поставляется в виде плагина и не входит в базовую установку. Установите через CLI (npm registry):
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", // рекомендуется: ваш корабль, всегда разрешён
},
},
}
Частные/локальные корабли
По умолчанию OpenClaw блокирует частные/внутренние имена хостов и диапазоны IP-адресов для защиты от SSRF-атак. Если ваш корабль работает в частной сети (localhost, локальный 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:
- Контакты: получить/обновить профили, список контактов
- Каналы: список, создание, отправка сообщений, получение истории
- Группы: список, создание, управление участниками
- Личные сообщения: отправка сообщений, реакция на сообщения
- Реакции: добавление/удаление эмодзи-реакций к постам и личным сообщениям
- Настройки: управление разрешениями плагина через слеш-команды
Навык автоматически доступен после установки плагина.
Возможности
| Функция | Статус |
|---|---|
| Личные сообщения | ✅ Поддерживается |
| Группы/каналы | ✅ Поддерживается (по умолчанию требуется упоминание) |
| Ветки | ✅ Поддерживается (автоответы в ветке) |
| Расширенный текст | ✅ 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: разрешить URL localhost/локальной сети (обход 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 отвечает в той же ветке.
- Расширенный текст: форматирование Markdown (жирный, курсив, код, заголовки, списки) конвертируется в нативный формат Tlon.
- Изображения: URL-адреса загружаются в хранилище Tlon и встраиваются как блоки изображений.