カスタムチャネルプラグイン
チャネルシステムは、拡張機能としてパッケージ化されたカスタムプラットフォームアダプターで拡張できます。これにより、Qwen Code を任意のメッセージングプラットフォーム、Webhook、またはカスタムトランスポートに接続できます。
動作の仕組み
チャネルプラグインは起動時にアクティブな拡張機能から読み込まれます。qwen channel start を実行すると、以下の処理が行われます。
- 有効なすべての拡張機能の
qwen-extension.jsonにあるchannelsエントリをスキャンします - 各チャネルのエントリポイントを動的にインポートします
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 ゲート付きのグループ別設定
- セッションルーティング — ユーザー別、スレッド別、または単一の共有セッション
- DM ペアリング — 不明なユーザー向けの完全なペアリングコードフロー
- スラッシュコマンド —
/help、/clear、/statusがそのまま利用可能 - カスタム指示 — 各セッションの最初のメッセージの前に追加
- クラッシュリカバリ — セッションを保持したまま自動再起動
- セッションごとのシリアライゼーション — レースコンディションを防ぐためメッセージをキューイング
独自チャネルプラグインの構築
新しいプラットフォーム向けのチャネルプラグインを構築したい場合は、ChannelPlugin インターフェース、Envelope フォーマット、および拡張ポイントについて、チャネルプラグイン開発者ガイドを参照してください。
Last updated on