Keyboard shortcuts

Press ← or → to navigate between chapters

Press ? to show this help

Press Esc to hide this help

チャンネル: 概要

チャネルとは、エージェントが対話を行うメッセージング基盤です。1つの ZeroClaw インスタンスは複数のチャネルを同時にバインドできます。同じエージェントが、別々のプロセスを実行することなく、Discord、Telegram、メール、そして REST ゲートウェイ経由で応答できます。

エージェントは応答するチャネルを一覧表示します。チャネルがエージェントにアタッチされる方法(およびピアグループによって共有チャネル上のエージェント同士がアドレス指定できる方法)については、エージェントを参照してください。

zeroclaw-api の Channel トレイトの実装としてチャネルがあります。各チャネルはコンパイル時に機能で制限されるため、最小限のビルドでは必要なチャネルのみが含まれます。

デフォルトの ZeroClaw ビルドには、軽量なチャネルバンドルとして ACP、webhook、メール、Telegram、Discord、ファイルシステムが含まれます。これらにより、バンドルされているすべてのプラットフォーム統合をコンパイルしなくても、ローカル/エディターセッション、ゲートウェイからの受信、初回利用時によく使われる外部メッセージングに対応できます。標準の配布アーティファクトには Git、Matrix、Lark、WhatsApp Web が追加されます。Android アーティファクトでは、対象プラットフォームとの互換性のため WhatsApp Web が省かれています。過去の幅広いチャネルセットを必要とするソースインストールでは、install.sh --source --preset full を実行するか、--features channels-full を指定してビルドするか、個別の channel-* feature を使用して選択的にビルドします。

sh

./install.sh --source --preset full
cargo build --features channels-full
cargo build --no-default-features --features agent-runtime,gateway,channel-slack

カテゴリ

チャットプラットフォーム

エージェントが会話を行い、プッシュやロングポーリングによって新しいメッセージの通知を受け取り、ボットユーザーとして返信できるリアルタイムメッセージング。

チャンネル機能フラグ専用ガイド
Matrixchannel-matrixMatrix
Telegramchannel-telegramTelegram
Discordchannel-discordDiscord
Slackchannel-slackSlack
Mattermostchannel-mattermostMattermost
LINEchannel-lineLINE
Nextcloud Talkchannel-nextcloudNextcloud Talk
Signalchannel-signalSignal
Twitchchannel-twitchTwitch
WhatsApp Cloud APIchannel-whatsapp-cloudWhatsApp
WhatsApp Webwhatsapp-webWhatsApp
WeCom (Botウェブフック / AIボット WS)channel-wecom, channel-wecom-ws他のチャットプラットフォーム
iMessage、WeChat personal iLink Bot、DingTalk、Lark、QQ、IRC、Mochat、Notionチャンネルごと他のチャットプラットフォーム

ソーシャル&ブロードキャスト

1対多またはパブリックフィードの統合。

チャンネル機能フラグプロトコル / サービス
Blueskychannel-blueskyATプロトコル
Nostrchannel-nostrNIP-01 リレー
Twitter / Xchannel-twitterAPI v2
Redditchannel-redditJSON API

ソーシャルチャンネル を参照してください。

開発者プラットフォーム

チャンネル機能フラグプロトコル / サービス
Gitchannel-gitプロバイダーシームの背後にある Git フォージ(GitHub、Gitea、Forgejo)。イシュー、PR、CI ラン、リリースの REST ポーリングとイベントごとのルーティング

Git を参照してください。

メール

チャンネル機能フラグ注釈
IMAP / SMTPchannel-email従来のポーリング方式のインボックス
Gmail Pushchannel-emailGoogle Pub/Sub プッシュ通知: リアルタイム、ポーリング不要

Email を参照してください。

音声とテレフォニー

チャンネル機能フラグサービス
ClawdTalkchannel-clawdtalkTelnyx SIP リアルタイム音声
音声通話channel-voice-callTwilio / Telnyx / Plivo
音声ウェイクvoice-wakeローカルなウェイクワード検出
TTSチャネルサポート付きで常にコンパイルされます外部音声合成(OpenAI、ElevenLabs、Google Cloud、Edge、Piper)

音声とテレフォニー を参照してください。

Webhook とプログラムmatic

チャンネル機能フラグ形状
Webhookchannel-webhookInbound HTTP → エージェント
CLI常時オンローカルの標準入力/標準出力
ゲートウェイ REST/WSgateway(デフォルトで有効)HTTP + WebSocket
ACP(エージェントクライアントプロトコル)channel-acp-serverJSON-RPC 2.0 over stdio: エディター/IDE セッション

Webhooks と ACP を参照してください。

イベントソース

エージェントループまたは SOP エンジンにイベントを供給する入力専用トランスポート。アウトバウンドの返信はなく、それぞれが SOP ファンイン でもあります。

チャンネル機能フラグ形状
MQTTchannel-mqttブローカーメッセージ → エージェントまたはSOP
AMQPchannel-amqpブローカーの配信 → エージェントまたはSOP
Filesystemchannel-filesystemパスの変更 → エージェントまたはSOP

MQTT、AMQP、Filesystemを参照してください。

設定

最新のチャネルインスタンスは [channels.<type>.<alias>] の下に設定され、一般的な最初のエイリアスとして default が使用されます。いずれの設定方法でも設定できます。

ゲートウェイダッシュボード

Webダッシュボードで /config/channels を開きます。

zerocode

Config ペインの Channels 配下にあります。

シークレット(ボットトークン、APIキー、パスワード)は暗号化されて保存されます。ゲートウェイ、zerocode、または zeroclaw config set(マスク表示)を通じて設定し、決して平文で設定しないでください。エージェント上の channels エントリは、チャンネルエイリアスをそのエージェントにバインドします。フィールド名はチャンネルごとに異なります。zeroclaw config schema が正式なリストです。多くのチャンネルで共通して使用されるフィールド:

キー何をするものか
enabledセクションを削除せずにオン/オフ
mention_onlyボットに@メンションしていないメッセージを無視する
proxy_urlチャンネルごとのプロキシ (http/https/socks5/socks5h)。グローバルの [proxy] を上書きします
excluded_toolsこのチャンネルで回答する際にモデルから差し控えられるツール
draft_update_interval_msストリーミング編集間隔(デフォルト 500 ms)
approval_timeout_secsalways_ask ツールでオペレーターの承認を待つ秒数(この時間を超えると自動的に拒否されます)

受信側の送信者は、チャンネルごとのフィールドではなく、ピアグループを介して制御されます。

モデルのフォールバック通知

channels.model_fallback_notice は、同じプロバイダーファミリー内の別モデルへの通常のフォールバックに関する通知を制御します。デフォルトは off です。ファミリーをまたぐフォールバックの通知と、セーフガードの通知は、どのモードでも既存の動作を維持します。

モード配送通知
off同一ファミリーの通常のモデルフォールバック通知ではありません
redactedフォールバックモデルが応答を生成したことを示す汎用的な通知です。プロバイダー名やモデル識別子は含みません。
detailedリクエストされたプロバイダー/モデル識別子と、提供されたプロバイダー/モデル識別子

この設定は、共有チャネルオーケストレーターを使用するすべてのチャネルにグローバルに適用されます。返信を受け取る可能性のあるすべてのオーディエンス(共有ルームやパブリックチャネルを含む)に対してモードを選択してください。detailed は、ルーティング識別子をそれらのオーディエンスに公開します。redacted は、それらの識別子を含めずに復旧を報告します。チャネルごとの個別設定はありません。

この設定は、ゲートウェイのWebチャット、ZeroCode、RPCセッションにおけるフォールバック通知を制御しません。これらはエージェントのターン処理経路を使用するため、プロバイダーとモデルの識別子を含む既存の詳細な通知が引き続き表示されます。

ZeroCode Config、またはその他のサポートされている設定エディターでモードを設定するか、次を使用します:

zeroclaw config set channels.model_fallback_notice redacted

オーケストレーターは返信を配信する時点で現在の稼働中の設定を読み取るため、公開されたモード変更が進行中のターンに影響することがあります。ファイルを保存しただけでは、実行中のデーモンの稼働中の設定は更新されません。設定のライフサイクルで説明されている既存の設定公開および再読み込みの仕組みを使用してください。スタンドアロンの CLI による書き込みは、次回の読み込みまたは再読み込み時に反映されます。

これらの通知は送信時の配信にのみ追加されます。保存されたアシスタント履歴にはモデルの応答のみが残り、通知は含まれないため、後続のターンではこの配信メタデータが会話内容として扱われることはありません。帰属情報によって、別のモデルへのフォールバックが成功したことを特定できた場合にのみ、通知を追加する必要があります。同一ファミリー内の変更や同一モデルのプロファイル変更は、現在の帰属記録では区別できないままです。

ストリーミング機能

チャネルは、サポートするストリーミングの種類を宣言します。機能マトリックスや supports_draft_updates / supports_multi_message_streaming の意味については、プロバイダー → ストリーミング を参照してください。

チャンネルの追加

新しいチャネルを実装するには、Channel トレイトを実装するファイルを crates/zeroclaw-channels/src/ に追加します。標準的なリファレンスとして、類似した形状の既存チャネルを参照してください。プッシュ型なら discord.rs、ポーリング型なら email_channel.rs、HTTP駆動型なら webhook.rs です。