---
read_when:
    - Работа над функциями канала Tlon/Urbit
summary: Статус поддержки, возможности и настройка Tlon/Urbit
title: Tlon
x-i18n:
    generated_at: "2026-07-13T17:54:21Z"
    model: gpt-5.6
    postprocess_version: locale-links-v1
    prompt_version: 24
    provider: openai
    source_hash: d53ea7d97a7445910c5692a247758b652e1fce82793e65950e1e21a10fa16813
    source_path: channels/tlon.md
    workflow: 16
---

Tlon — децентрализованный мессенджер, построенный на Urbit. OpenClaw подключается к вашему кораблю Urbit и
отвечает на личные сообщения и сообщения в групповых чатах. По умолчанию для ответов в группах требуется упоминание через @, а
поверх этого действуют правила авторизации и процесс одобрения владельцем.

Статус: встроенный плагин. Поддерживаются личные сообщения, упоминания в группах, ветки, форматированный текст, загрузка и скачивание изображений, а также
система одобрения владельцем. Реакции и опросы не поддерживаются.

## Встроенный плагин

Tlon входит в комплект текущих выпусков OpenClaw; для пакетных сборок отдельная установка не требуется.

В старой сборке или пользовательской установке, из которой он исключён, установите его из npm:

```bash
openclaw plugins install @openclaw/tlon
```

Используйте имя пакета без версии, чтобы отслеживать тег текущего выпуска. Закрепляйте версию (`@openclaw/tlon@x.y.z`)
только для воспроизводимых установок.

Из локального рабочего дерева:

```bash
openclaw plugins install ./path/to/local/tlon-plugin
```

Подробнее: [Плагины](/ru/tools/plugin)

## Настройка

```bash
openclaw channels add --channel tlon --ship ~sampel-palnet --url https://your-ship-host --code lidlut-tabwed-pillex-ridrup
```

Либо измените конфигурацию напрямую:

```json5
{
  channels: {
    tlon: {
      enabled: true,
      ship: "~sampel-palnet",
      url: "https://your-ship-host",
      code: "lidlut-tabwed-pillex-ridrup",
      ownerShip: "~your-main-ship", // рекомендуется: ваш корабль, всегда авторизован
    },
  },
}
```

После прямого изменения конфигурации перезапустите Gateway. Затем отправьте боту личное сообщение или упомяните его через @ в групповом
канале.

## Частные корабли и корабли в локальной сети

По умолчанию OpenClaw блокирует частные и внутренние имена хостов и диапазоны IP-адресов для защиты от SSRF. Если ваш
корабль работает в частной сети (localhost, IP-адрес локальной сети, внутреннее имя хоста), явно разрешите это:

```json5
{
  channels: {
    tlon: {
      url: "http://localhost:8080",
      network: {
        dangerouslyAllowPrivateNetwork: true,
      },
    },
  },
}
```

Применяется к целевым адресам наподобие `http://localhost:8080`, `http://192.168.x.x:8080` и
`http://my-ship.local:8080`. Включайте это только для доверенного URL корабля; данная настройка отключает защиту от SSRF
для HTTP-запросов этой учётной записи.

<Note>
`channels.tlon.allowPrivateNetwork` (плоский ключ) больше не используется. `openclaw doctor --fix` автоматически переносит его в
`channels.tlon.network.dangerouslyAllowPrivateNetwork`.
</Note>

## Групповые каналы

Закрепите каналы вручную либо включите автоматическое обнаружение:

```json5
{
  channels: {
    tlon: {
      groupChannels: ["chat/~host-ship/general", "chat/~host-ship/support"],
      autoDiscoverChannels: true,
    },
  },
}
```

Если `autoDiscoverChannels` не задан в конфигурации, его значение по умолчанию — `false`; в мастере настройки ответ на
этот вопрос по умолчанию положительный, и мастер явно записывает `true`. Когда эта настройка включена, OpenClaw при запуске запрашивает присоединённые группы через scry,
отслеживает новые каналы по мере принятия приглашений в группы и повторяет проверку каждые 2 минуты.

## Управление доступом

Список разрешённых отправителей личных сообщений (пустой список = личные сообщения запрещены всем, кроме `ownerShip`):

```json5
{
  channels: {
    tlon: {
      dmAllowlist: ["~zod", "~nec"],
    },
  },
}
```

По умолчанию для каждого канала используется режим авторизации `restricted`. Задайте `defaultAuthorizedShips` как
базовый список и переопределяйте его для отдельных гнёзд каналов:

```json5
{
  channels: {
    tlon: {
      defaultAuthorizedShips: ["~zod"],
      authorization: {
        channelRules: {
          "chat/~host-ship/general": {
            mode: "restricted",
            allowedShips: ["~zod", "~nec"],
          },
          "chat/~host-ship/announcements": {
            mode: "open",
          },
        },
      },
    },
  },
}
```

После того как бот ответит в ветке, он продолжает отвечать на последующие сообщения в этой ветке,
не требуя нового упоминания.

## Владелец и система одобрения

```json5
{
  channels: {
    tlon: {
      ownerShip: "~your-main-ship",
    },
  },
}
```

Корабль владельца авторизован везде: приглашения в личные сообщения всегда принимаются автоматически, приглашения в группы
всегда принимаются автоматически, а сообщения в каналах всегда проходят авторизацию. Владелец не обязан
находиться в `dmAllowlist`, `defaultAuthorizedShips` или `groupInviteAllowlist`.

Если задан `ownerShip`, неавторизованные запросы не просто отбрасываются — они помещаются в очередь ожидания
одобрения, а владельцу отправляется личное сообщение:

- Запросы на личные сообщения от кораблей, отсутствующих в `dmAllowlist`
- Упоминания в каналах, где отправитель не проходит авторизацию
- Приглашения в группы от кораблей, отсутствующих в `groupInviteAllowlist` (когда автоматическое принятие отключено либо включено, но
  пригласивший корабль отсутствует в списке разрешённых)

Чтобы обработать запрос, владелец отвечает в личном сообщении:

| Ответ владельца              | Результат                                             |
| ---------------------------- | ---------------------------------------------------- |
| `approve` / `deny` / `block` | Обрабатывает самый последний ожидающий запрос на одобрение |
| `approve <id>` / `deny <id>` | Обрабатывает конкретный запрос на одобрение по идентификатору |
| `block`                      | Также блокирует корабль средствами платформы, чтобы он не мог подключиться повторно |
| `unblock ~ship`              | Снимает блокировку средствами платформы             |
| `blocked`                    | Выводит список заблокированных в данный момент кораблей |
| `pending`                    | Выводит список ожидающих запросов на одобрение       |

Если `ownerShip` не настроен, неавторизованные личные сообщения и упоминания в каналах просто отбрасываются и записываются в журнал;
запрос на одобрение не отправляется.

## Настройки автоматического принятия

Автоматически принимать приглашения в личные сообщения от кораблей, уже находящихся в `dmAllowlist` (приглашения от владельца всегда принимаются автоматически
независимо от этого флага):

```json5
{
  channels: {
    tlon: {
      autoAcceptDmInvites: true,
    },
  },
}
```

Автоматически принимать приглашения в группы от кораблей из списка разрешённых (безопасный отказ: при `autoAcceptGroupInvites: true` и
пустом `groupInviteAllowlist` не принимаются приглашения ни от кого, кроме владельца):

```json5
{
  channels: {
    tlon: {
      autoAcceptGroupInvites: true,
      groupInviteAllowlist: ["~zod"],
    },
  },
}
```

## Горячая перезагрузка через хранилище настроек Urbit

Большинство перечисленных выше настроек (`dmAllowlist`, `groupInviteAllowlist`, `groupChannels`,
`defaultAuthorizedShips`, `autoDiscoverChannels`, `autoAcceptDmInvites`,
`autoAcceptGroupInvites`, `ownerShip`, `showModelSignature`) при первом запуске копируются в агент
`%settings` корабля (desk `moltbot`, bucket `tlon`), а затем считываются оттуда в реальном времени,
поэтому изменения, внесённые через клиент Landscape или команды настройки встроенного плагина, применяются без
перезапуска Gateway. `channelRules` и ожидающие запросы на одобрение также сохраняются там в формате JSON. Файловая
конфигурация остаётся источником истины для значений, которые никогда не записывались в хранилище настроек.

## Целевые адресаты доставки (CLI/cron)

Используйте с `openclaw message send` или для доставки через cron:

- Личное сообщение: `~sampel-palnet` или `dm/~sampel-palnet`
- Группа: `chat/~host-ship/channel` или `group:~host-ship/channel`

## Встроенный навык

Плагин включает [`@tloncorp/tlon-skill`](https://github.com/tloncorp/tlon-skill) — CLI для
непосредственных операций Urbit, который автоматически становится доступен после установки плагина:

- **Активность**: упоминания, ответы, непрочитанные сообщения
- **Каналы**: просмотр списка, создание, переименование
- **Контакты**: просмотр списка, получение и обновление профилей
- **Группы**: создание, присоединение, процессы приглашения и запроса, роли
- **Перехватчики**: управление перехватчиками каналов
- **Сообщения**: история, поиск
- **Личные сообщения**: отправка, реакции, принятие и отклонение
- **Публикации**: реакции, удаление
- **Блокнот**: публикация в каналах дневника
- **Настройки**: горячая перезагрузка конфигурации плагина через описанное выше хранилище настроек

## Возможности

| Функция         | Статус                                        |
| --------------- | --------------------------------------------- |
| Личные сообщения | Поддерживаются                               |
| Группы/каналы | Поддерживаются (по умолчанию требуется упоминание) |
| Ветки         | Поддерживаются (после присоединения продолжает отвечать) |
| Форматированный текст | Markdown преобразуется в собственный формат Tlon |
| Изображения          | Входящие скачиваются, исходящие загружаются   |
| Реакции       | Только через [встроенный навык](#bundled-skill) |
| Опросы           | Не поддерживаются                             |
| Встроенные команды | По умолчанию доступны только владельцу       |

## Устранение неполадок

```bash
openclaw status
openclaw gateway status
openclaw logs --follow
openclaw doctor
```

Распространённые сбои:

- **Личные сообщения игнорируются**: отправитель отсутствует в `dmAllowlist`, и `ownerShip` не настроен для процесса одобрения.
- **Сообщения в группах игнорируются**: канал не обнаружен и не закреплён либо отправитель не проходит авторизацию, а
  `ownerShip` для постановки запроса на одобрение в очередь отсутствует.
- **Ошибки подключения**: проверьте доступность URL корабля; для локальных кораблей задайте
  `network.dangerouslyAllowPrivateNetwork`.
- **Ошибки аутентификации**: коды входа меняются — скопируйте текущий код со своего корабля.

## Справочник по конфигурации

Полная конфигурация: [Конфигурация](/ru/gateway/configuration)

| Ключ                                                   | Назначение                                                     |
| ------------------------------------------------------ | -------------------------------------------------------------- |
| `channels.tlon.enabled`                                | Включает или отключает запуск канала.                          |
| `channels.tlon.ship`                                   | Имя корабля Urbit бота (например, `~sampel-palnet`).          |
| `channels.tlon.url`                                    | URL корабля (например, `https://sampel-palnet.tlon.network`).                     |
| `channels.tlon.code`                                   | Код входа на корабль.                                          |
| `channels.tlon.network.dangerouslyAllowPrivateNetwork` | Разрешает URL кораблей на localhost и в локальной сети (явное отключение защиты от SSRF). |
| `channels.tlon.ownerShip`                              | Корабль владельца: всегда авторизован и получает запросы на одобрение. |
| `channels.tlon.dmAllowlist`                            | Корабли, которым разрешено отправлять личные сообщения (пустой список = никто, кроме владельца). |
| `channels.tlon.autoAcceptDmInvites`                    | Автоматически принимает личные сообщения от кораблей в `dmAllowlist`. |
| `channels.tlon.autoAcceptGroupInvites`                 | Автоматически принимает приглашения в группы от кораблей в `groupInviteAllowlist`. |
| `channels.tlon.groupInviteAllowlist`                   | Корабли, приглашения в группы от которых принимаются автоматически. |
| `channels.tlon.autoDiscoverChannels`                   | Автоматически обнаруживает присоединённые групповые каналы (по умолчанию: `false`). |
| `channels.tlon.groupChannels`                          | Закреплённые вручную гнёзда каналов.                           |
| `channels.tlon.defaultAuthorizedShips`                 | Корабли, авторизованные для всех каналов (используется, если ни одно правило не совпало). |
| `channels.tlon.authorization.channelRules`             | Режим авторизации и список разрешённых для каждого гнезда канала. |
| `channels.tlon.showModelSignature`                     | Добавляет `_[Generated by <model>]_` к ответам.                         |
| `channels.tlon.responsePrefix`                         | Статический префикс, добавляемый перед исходящими ответами.     |
| `channels.tlon.accounts.<id>`                          | Дополнительные именованные учётные записи (конфигурации с несколькими кораблями). |

## Примечания

- Для ответов в группах требуется упоминание через @ (например, `~your-bot-ship`), если бот ещё не присоединился к этой ветке.
- Ответы в ветках публикуются внутри ветки; бот также получает последние 10 сообщений контекста ветки, добавленные
  перед запросом для агента.
- Форматированный текст (полужирный, курсив, код, заголовки, списки) преобразуется в собственный формат Tlon.
- Входящее сообщение с просьбой составить сводку канала (например, «составь сводку этого
  канала») запускает встроенное суммирование истории вместо обычного процесса ответа.

## Связанные материалы

- [Обзор каналов](/ru/channels) — все поддерживаемые каналы
- [Сопряжение](/ru/channels/pairing) — аутентификация в личных сообщениях и процесс сопряжения
- [Группы](/ru/channels/groups) — поведение групповых чатов и требование упоминаний
- [Маршрутизация каналов](/ru/channels/channel-routing) — маршрутизация сеансов для сообщений
- [Безопасность](/ru/gateway/security) — модель доступа и усиление защиты
