Пользовательские плагины каналов
Вы можете расширить систему каналов с помощью пользовательских адаптеров платформ, упакованных в виде расширений. Это позволяет подключить Qwen Code к любой платформе для обмена сообщениями, вебхуку или пользовательскому транспорту.
Как это работает
Плагины каналов загружаются при запуске из активных расширений. При выполнении команды qwen channel start:
- Сканирует все включенные расширения на наличие записей
channelsв ихqwen-extension.json - Динамически импортирует точку входа каждого канала
- Регистрирует тип канала, чтобы на него можно было ссылаться в
settings.json - Создает экземпляры каналов с помощью фабричной функции плагина
Ваш пользовательский канал автоматически получает полный общий пайплайн: фильтрацию отправителей, групповые политики, маршрутизацию сессий, слэш-команды, восстановление после сбоев и мост для агента. Автономный qwen channel start в настоящее время предоставляет AcpBridge; код адаптера плагина должен зависеть от контракта ChannelAgentBridge, предназначенного для адаптеров. Существующим плагинам на TypeScript с явным параметром моста AcpBridge следует заменить эту аннотацию на ChannelAgentBridge; на плагины на JavaScript это не влияет во время выполнения.
Установка пользовательского канала
Установите расширение, предоставляющее плагин канала:
# Из локального пути (для разработки или приватных плагинов)
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 - Групповые политики — настройки для каждой группы с опциональной фильтрацией по @упоминаниям
- Маршрутизация сессий — сессии для каждого пользователя, каждой ветки или одна общая сессия
- Сопряжение в ЛС — полный процесс сопряжения по коду для неизвестных пользователей
- Слэш-команды —
/help,/clear,/statusработают из коробки - Пользовательские инструкции — добавляются в начало первого сообщения в каждой сессии
- Восстановление после сбоев — автоматический перезапуск с сохранением сессии
- Посессионная сериализация — сообщения ставятся в очередь для предотвращения состояний гонки
Создание собственного плагина канала
Хотите создать плагин канала для новой платформы? Обратитесь к Руководству разработчика плагинов каналов, где описаны интерфейс ChannelPlugin, формат Envelope и точки расширения.