Developer and self-hosted
Tlon
Tlon — децентрализованный мессенджер, построенный на Urbit. OpenClaw подключается к вашему кораблю Urbit и может отвечать на личные сообщения и сообщения в групповых чатах. По умолчанию для ответов в группах требуется упоминание @, а доступ можно дополнительно ограничить с помощью списков разрешений.
Статус: встроенный plugin. Поддерживаются личные сообщения, групповые упоминания, ответы в тредах, форматирование насыщенного текста и загрузка изображений. Реакции и опросы пока не поддерживаются.
Встроенный plugin
Tlon поставляется как встроенный plugin в текущих выпусках OpenClaw, поэтому обычным пакетным сборкам не нужна отдельная установка.
Если вы используете более старую сборку или пользовательскую установку, в которой Tlon исключен, установите актуальный npm-пакет:
Установка через CLI (реестр npm):
openclaw plugins install @openclaw/tlonИспользуйте пакет без версии, чтобы следовать текущему официальному тегу выпуска. Закрепляйте точную версию только когда нужна воспроизводимая установка.
Локальный checkout (при запуске из git-репозитория):
openclaw plugins install ./path/to/local/tlon-pluginПодробнее: Plugins
Настройка
- Убедитесь, что plugin Tlon доступен.
- Текущие пакетные выпуски OpenClaw уже включают его.
- Более старые/пользовательские установки могут добавить его вручную командами выше.
- Получите 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", // recommended: your ship, always allowed }, },}Частные/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.
Если владелец задан, он получает DM-уведомления о:
- запросах личных сообщений от кораблей вне списка разрешений
- упоминаниях в каналах без авторизации
- запросах приглашений в группы
Настройки автопринятия
Автоматически принимать приглашения в личные сообщения (для кораблей в dmAllowlist):
{ channels: { tlon: { autoAcceptDmInvites: true, }, },}Автоматически принимать групповые приглашения от доверенных кораблей:
{ channels: { tlon: { autoAcceptGroupInvites: true, groupInviteAllowlist: ["~zod"], }, },}autoAcceptGroupInvites по умолчанию отказывает, когда groupInviteAllowlist пуст. Задайте
список разрешений для кораблей, чьи групповые приглашения должны приниматься автоматически.
Цели доставки (CLI/cron)
Используйте их с openclaw message send или доставкой cron:
- Личное сообщение:
~sampel-palnetилиdm/~sampel-palnet - Группа:
chat/~host-ship/channelилиgroup:~host-ship/channel
Встроенный skill
Plugin Tlon включает встроенный skill (@tloncorp/tlon-skill),
который предоставляет CLI-доступ к операциям Tlon:
- Контакты: получение/обновление профилей, список контактов
- Каналы: список, создание, публикация сообщений, получение истории
- Группы: список, создание, управление участниками
- Личные сообщения: отправка сообщений, реакции на сообщения
- Реакции: добавление/удаление эмодзи-реакций к публикациям и личным сообщениям
- Настройки: управление разрешениями plugin через slash-команды
Skill автоматически доступен после установки plugin.
Возможности
| Функция | Статус |
|---|---|
| Личные сообщения | ✅ Поддерживается |
| Группы/каналы | ✅ Поддерживается (по умолчанию через упоминание) |
| Треды | ✅ Поддерживается (автоответы в треде) |
| Насыщенный текст | ✅ Markdown преобразуется в формат Tlon |
| Изображения | ✅ Загружаются в хранилище Tlon |
| Реакции | ✅ Через встроенный skill |
| Опросы | ❌ Пока не поддерживаются |
| Нативные команды | ✅ Поддерживаются (по умолчанию только владелец) |
Устранение неполадок
Сначала выполните эту последовательность:
openclaw statusopenclaw gateway statusopenclaw logs --followopenclaw 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/LAN (обход SSRF).channels.tlon.ownerShip: корабль владельца для системы одобрений (всегда авторизован).channels.tlon.dmAllowlist: корабли, которым разрешено писать в личные сообщения (пусто = никто).channels.tlon.autoAcceptDmInvites: автоматически принимать личные сообщения от кораблей из списка разрешений.channels.tlon.autoAcceptGroupInvites: автоматически принимать групповые приглашения от кораблей из списка разрешений.channels.tlon.groupInviteAllowlist: корабли, чьи групповые приглашения могут приниматься автоматически.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 и встраиваются как блоки изображений.
Связанные разделы
- Обзор каналов — все поддерживаемые каналы
- Сопряжение — аутентификация через личные сообщения и поток сопряжения
- Группы — поведение групповых чатов и ограничение по упоминаниям
- Маршрутизация каналов — маршрутизация сеансов для сообщений
- Безопасность — модель доступа и усиление защиты