Sessions and memory

Закріплення каналу

Стикування каналів — це переадресація викликів для одного сеансу OpenClaw. Воно зберігає той самий контекст розмови, але змінює місце доставлення майбутніх відповідей для цього сеансу. Стикування працює лише з особистого чату; у груповому чаті воно не виконується.

Приклад

Аліса може надсилати повідомлення OpenClaw у Telegram і Discord:

json5
{  session: {    identityLinks: {      alice: ["telegram:123", "discord:456"],    },  },}

Якщо Аліса надішле це з особистого чату Telegram:

text
/dock_discord

OpenClaw збереже контекст поточного сеансу та змінить маршрут відповідей:

До стикування Після /dock_discord
Відповіді надходять у Telegram 123 Відповіді надходять у Discord 456

Сеанс не створюється заново. Історія розмови залишається пов’язаною з тим самим сеансом.

Навіщо це використовувати

Використовуйте стикування, коли завдання починається в одному застосунку для спілкування, але наступні відповіді мають надходити в інше місце.

Типовий сценарій:

  1. Запустіть завдання агента з Telegram.
  2. Перейдіть у Discord, де ви координуєте роботу.
  3. Надішліть /dock_discord з особистого чату Telegram.
  4. Продовжуйте використовувати той самий сеанс OpenClaw, але отримуйте майбутні відповіді в Discord.

Обов’язкова конфігурація

Для стикування потрібен session.identityLinks. Відправник у вихідному каналі та цільовий співрозмовник мають належати до однієї групи ідентичності:

json5
{  session: {    identityLinks: {      alice: ["telegram:123", "discord:456", "slack:U123"],    },  },}

Значення — це ідентифікатори співрозмовників із префіксом каналу:

Значення Значення
telegram:123 Ідентифікатор відправника Telegram 123
discord:456 Ідентифікатор особистого співрозмовника Discord 456
slack:U123 Ідентифікатор користувача Slack U123

Канонічний ключ (alice вище) — це лише спільна назва групи ідентичності. Команди стикування використовують значення з префіксом каналу, щоб підтвердити, що відправник у вихідному каналі та цільовий співрозмовник — та сама особа.

Команди

OpenClaw створює одну команду /dock-<channel> для кожного завантаженого Plugin каналу, який підтримує нативні команди, тому список розширюється з додаванням плагінів. Вбудовані плагіни, які наразі це підтримують:

Цільовий канал Команда Псевдонім
Discord /dock-discord /dock_discord
Mattermost /dock-mattermost /dock_mattermost
Slack /dock-slack /dock_slack
Telegram /dock-telegram /dock_telegram

Форма з підкресленням також є назвою нативної команди в інтерфейсах на кшталт Telegram, які надають безпосередній доступ до команд із похилою рискою.

Що змінюється

Стикування оновлює поля доставлення активного сеансу:

Поле сеансу Приклад після /dock_discord
lastChannel discord
lastTo 456
lastAccountId обліковий запис цільового каналу або default

Ці поля зберігаються в сховищі сеансів і використовуються для подальшого доставлення відповідей у межах цього сеансу.

Що не змінюється

Стикування не:

  • створює облікові записи каналів
  • підключає нового бота Discord, Telegram, Slack або Mattermost
  • надає користувачеві доступ
  • обходить списки дозволених користувачів каналів або політики особистих повідомлень
  • переносить історію розмови до іншого сеансу
  • змушує непов’язаних користувачів спільно використовувати один сеанс

Воно лише змінює маршрут доставлення для поточного сеансу.

Усунення несправностей

Команда повідомляє, що відправника не пов’язано.

Додайте поточного відправника та цільового співрозмовника до однієї групи session.identityLinks. Наприклад, якщо відправника Telegram 123 потрібно зістикувати зі співрозмовником Discord 456, додайте і telegram:123, і discord:456.

Команда повідомляє, що стикування доступне лише з особистих чатів.

Надішліть команду стикування з особистого чату з OpenClaw, а не з групового чату.

Команда повідомляє, що активного сеансу не існує.

Виконайте стикування з наявного сеансу особистого чату. Команді потрібен запис активного сеансу, щоб зберегти новий маршрут.

Відповіді все ще надходять у старий канал.

Перевірте, чи команда відповіла повідомленням про успіх, і переконайтеся, що ідентифікатор цільового співрозмовника відповідає ідентифікатору, який використовує цей канал. Стикування змінює лише маршрут активного сеансу; інший сеанс усе ще може мати інший маршрут.

Мені потрібно повернутися назад.

Надішліть відповідну команду для початкового каналу, наприклад /dock_telegram або /dock-telegram, від пов’язаного відправника.

Was this useful?
On this page

On this page