Перейти к основному содержанию
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

Настройка

  1. Убедитесь, что plugin Tlon доступен.
    • Текущие пакетные выпуски OpenClaw уже включают его.
    • Более старые/пользовательские установки могут добавить его вручную командами выше.
  2. Получите URL вашего корабля и код входа.
  3. Настройте channels.tlon.
  4. Перезапустите gateway.
  5. Отправьте боту личное сообщение или упомяните его в групповом канале.
Минимальная конфигурация (одна учетная запись):
{
  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:8080
  • http://192.168.x.x:8080
  • http://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 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/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 и встраиваются как блоки изображений.

Связанные разделы