Кастомные плагины каналов
Вы можете расширить систему каналов с помощью кастомных адаптеров платформ, упакованных в виде расширений. Это позволяет подключить Qwen Code к любой платформе обмена сообщениями, вебхуку или собственному транспорту.
Как это работает
Плагины каналов загружаются при запуске из активных расширений. При выполнении qwen channel start система:
- Сканирует все включённые расширения на наличие записей
channelsв их файлахqwen-extension.json - Динамически импортирует точку входа каждого канала
- Регистрирует тип канала, чтобы его можно было использовать в
settings.json - Создаёт экземпляры каналов с помощью фабричной функции плагина
Ваш кастомный канал получает полный общий пайплайн из коробки: контроль доступа отправителей, групповые политики, маршрутизация сессий, слэш-команды, восстановление после сбоев и ACP-мост к агенту.
Установка кастомного канала
Установите расширение, предоставляющее плагин канала:
# Из локальной директории (для разработки или приватных плагинов)
qwen extensions install /path/to/my-channel-extension
# Или создайте ссылку для разработки (изменения применяются сразу)
qwen extensions link /path/to/my-channel-extensionНастройка кастомного канала
Добавьте запись канала в ~/.qwen/settings.json, указав кастомный тип, предоставленный расширением:
{
"channels": {
"my-bot": {
"type": "my-platform",
"apiKey": "$MY_PLATFORM_API_KEY",
"senderPolicy": "open",
"cwd": "/path/to/project"
}
}
}Значение type должно совпадать с типом канала, зарегистрированным установленным расширением. В документации расширения указано, какие специфичные для плагина поля являются обязательными (например, apiKey, webhookUrl).
Все стандартные опции каналов работают и с кастомными каналами:
| Опция | Описание |
|---|---|
senderPolicy | allowlist, pairing или open |
allowedUsers | Статический список разрешённых ID отправителей |
sessionScope | user, thread или single |
cwd | Рабочая директория для агента |
instructions | Добавляется в начало первого сообщения каждой сессии |
model | Переопределение модели для канала |
groupPolicy | disabled, allowlist или open |
groups | Настройки для каждой группы |
Подробности по каждой опции см. в разделе Обзор.
Запуск канала
# Запуск всех каналов, включая кастомные
qwen channel start
# Запуск только вашего кастомного канала
qwen channel start my-botВозможности из коробки
Кастомные каналы автоматически поддерживают всё, что есть у встроенных каналов:
- Политики отправителей — контроль доступа
allowlist,pairingиopen - Групповые политики — настройки для каждой группы с опциональной фильтрацией по @mention
- Маршрутизация сессий — отдельные сессии для каждого пользователя, потока или одна общая сессия
- Сопряжение в ЛС — полный процесс с кодом сопряжения для неизвестных пользователей
- Слэш-команды —
/help,/clear,/statusработают из коробки - Кастомные инструкции — добавляются в начало первого сообщения каждой сессии
- Восстановление после сбоев — автоматический перезапуск с сохранением сессии
- Сериализация на уровне сессии — сообщения ставятся в очередь для предотвращения состояний гонки
Создание собственного плагина канала
Хотите создать плагин канала для новой платформы? В Руководстве разработчика плагинов каналов описаны интерфейс ChannelPlugin, формат Envelope и точки расширения.