Keyboard shortcuts

Press or to navigate between chapters

Press ? to show this help

Press Esc to hide this help

SOP ファンイン: チャネル

エージェントループチャネル(Telegram、Discord、Slack、およびその他の会話チャネル)上のインバウンドメッセージは、SOP 実行を開始できます。読み込まれた SOP がチャネルイベントを必要とする場合、オーケストレーターは各インバウンドメッセージを SOP イベントに引き上げ(チャネル種別とオプションのエイリアスがイベントトピックになり、メッセージ内容がペイロードになります)、通常のエージェントターンとともにエンジンにディスパッチします。

トランスポート側(bot トークン、許可ユーザー、チャネルごとの動作)は、各チャネルで設定します。このページではトリガーについて説明します。エージェントループのチャネルにはチャネルごとのディスパッチスイッチはありません。SOP の channel トリガーがオプトインであり、通常のエージェントターンは、それが開始する SOP 実行と常に並行して実行されます。

トリガー

設定済みチャネル (telegram、discord、slack、git、…) 上のインバウンドメッセージまたは forge/プラットフォームイベント。Live: チャネルの SOP ディスパッチが有効なときに、チャネルオーケストレーターによって配信されます。Git forge プロデューサーは <channel>.<alias>:<event_type> 形式のイベントトピックを設定し、ペイロードに event_type を格納するため、作成された condition は 2 つ目のトリガー形状なしで forge イベントをタイプでフィルタリングします。

フィールドdefault意味
aliasstring?nullオプションの設定済みインスタンスのエイリアス。未設定の場合はすべてのインスタンスに一致します。
channel*stringチャネルの種類を表す ChannelKind の snake_case 値。
conditionstring?nullメッセージペイロードに対して評価されるオプションの式。

SOP を読み込んで検証する:

定義

Syntax の説明に従い、channel トリガー付きで SOP を作成してください。上記のトリガーフィールドがサポートされているキーです。ページはファイル全体を走査します。

検証

zeroclaw sop validate

検査

zeroclaw sop list
zeroclaw sop show <name>

マッチング

channelChannelKind の snake_case 値です(telegramdiscordslack など)。alias を持たないトリガーは、そのチャネル種別の設定済みインスタンスすべてにマッチします。alias を持つトリガーは、そのインスタンスのみにマッチします。イベントトピックは <kind> または <kind>/<alias> です。メッセージ内容は SOP イベントペイロードに転送され、オプションのトリガー condition から利用できます。ステップコンテキストには、上限付きでサニタイズされ、フレーム化された形式が渡されます。$.text == "deploy" のような JSON-path の condition を使用する場合、メッセージ本文が JSON である必要があります。

実行する

channel トリガー付きの SOP を読み込み、そのチャネルにメッセージを送信します。channel トリガーはオプトインです。読み込まれた SOP がチャネルイベントを必要とする場合にのみ、オーケストレーターは受信メッセージをイベントに引き上げます。チャネルの種類とエイリアスをトピックに、コンテンツをペイロードに入れ、それをディスパッチします。channel(および設定されている場合は alias)が一致し、コンテンツに対して condition(ある場合)が成り立つ、読み込まれたすべての SOP について実行が開始されます。通常のエージェントターンは、開始される任意の実行と並行して引き続き実行されます。

ロードされたSOPにchannelトリガーが1つもない場合、ファンインホップは完全にスキップされるため、チャネル由来のSOPを持たないチャネルにはコストが一切発生しません。

すべてのチャネル配信は、イベントが構築される前にランタイムの共有 SOP イングレスアダプターに入ります。このアダプターは、ソース関心チェック、必須のエンジン/監査ハンドル診断、信頼できない入力の上限設定、イベントタイムスタンプ、およびディスパッチ結果のロギングを担います。チャネルコードは、トランスポートが所有するトピックとペイロードのみを提供します。Forge イベントは、構成されたターゲット SOP で同じ境界を使用するため、トリガーマッチングや通常の安全性および監査パスをバイパスできません。

何も開始されない場合は、読み込まれたSOPにchannelトリガーがあること、トリガーのchannel/aliasがメッセージが到着したインスタンスと一致すること、およびconditionが一致することを確認してください。fan-in概要のトラブルシューティング表を参照してください。

承認して観察する

チェックポイントに到達した実行は WaitingApproval として一時停止します。CLI(zeroclaw sop listzeroclaw sop approve)またはゲートウェイAPIの承認エンドポイント(GET /admin/sop/pendingPOST /admin/sop/approvePOST /admin/sop/deny)を介した帯域外操作で、これらをクリアまたは確認できます。

関連項目も参照してください