Keyboard shortcuts

Press or to navigate between chapters

Press ? to show this help

Press Esc to hide this help

Signal

ZeroClawのSignalチャネルは、実行中のsignal-cli HTTPデーモンと通信します。Signalは公式のボットAPIを提供していないため、ZeroClawはローカルHTTP経由でsignal-cliに接続し、signal-cliがSignalアカウント、デバイスキー、メッセージ転送を管理します。

既に signal-cli で Signal アカウントを運用している場合、または ZeroClaw の隣でデーモンを実行できる場合は、このチャネルを使用してください。Signal のデスクトップアプリまたはモバイルアプリのみがインストールされている場合、それだけでは不十分です。ZeroClaw には HTTP デーモンのエンドポイントが必要です。

エージェントと対話できるユーザー

受信側の送信者は、バインドされたエージェントに対して解決されたピアセットに照らして制御されます。これはエージェントが所属する peer_groups 設定から導出されます。照合では先頭の @ を取り除き、チャネルのネイティブな送信者識別子に対して大文字・小文字を区別せずに行われます。のセットはすべてを拒否し、"*" を含むセットはすべてを受け入れます。それ以外の場合は、リストに記載された外部ピア(およびピアエージェント)のみが受け入れられます。これはゲートウェイのペアリング(gateway.require_pairing)とは別物であり、ペアリングはチャットチャネルの送信者ではなく HTTP/WebSocket クライアントを認証します。

signal 用のピアグループは、channelsignal を設定し、許可された送信者を external_peers に列挙し(signal の場合、E.164 形式の電話番号または signal-cli ソース識別子。["*"] は誰でも受け付けます)、必要に応じてクロスエージェントディスパッチ用のピア agents を指定し、ignore ブロックリスト、および output_modalitymirrorvoice、または text)を指定します。フィールドのリファレンスについては Peer Groups を参照してください。

この設定の場所:

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

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

zerocode

Config ペインの Peer groups の下。

チャンネルレベルでトラフィックを絞り込むこともできます。dm_only = true はグループを無視します。group_ids = ["<signal-group-id>"] は、DMを受け付けつつ、リストに記載されたグループのみを受け付けます。ignore_attachmentsignore_stories は、これらのメッセージタイプをエージェントに到達する前に破棄します。

前提条件

  • signal-cli でリンクまたは登録された Signal アカウント。
  • 実行中の signal-cli HTTP デーモン。例: signal-cli daemon --http 127.0.0.1:8686
  • channel-signal 機能を有効にした ZeroClaw ビルド。

デーモンは、独自の認証済みネットワーク境界の背後に配置しない限り、localhost にバインドしたままにしてください。デーモンは、リンクされた Signal アカウントとして送受信できます。

チャネルを構成する

account* string · default

signal-cli アカウントの E.164 形式の電話番号(例: “+1234567890”)。

任意のサーフェスに設定する場合:

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

/config/channels/signal を開いて、channels.signal.<alias>.account フィールドを設定してください。

zerocode

Config ペインで、channels.signal.<alias>.account フィールドを設定します。

zeroclaw config

zeroclaw config set channels.signal.<alias>.account <value>

環境変数

オーバーライドをエクスポートします(POSIXシェル用。~/.bashrc~/.zshrc.env、またはDockerfileに記述します)。<alias>を実際のエイリアスに置き換えてください。

export ZEROCLAW_channels__signal__<alias>__account=
approval_timeout_secs integer · default 300

always_ask ツールに対するオペレーターの承認を待機する秒数。これを過ぎると自動的に拒否されます。

任意のサーフェスに設定する場合:

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

/config/channels/signal を開いて、channels.signal.<alias>.approval_timeout_secs フィールドを設定します。

zerocode

Config ペインで、channels.signal.<alias>.approval_timeout_secs フィールドを設定します。

zeroclaw config

zeroclaw config set channels.signal.<alias>.approval_timeout_secs <value>

環境変数

オーバーライドをエクスポートします(POSIXシェル用。~/.bashrc~/.zshrc.env、またはDockerfileに記述します)。<alias>を実際のエイリアスに置き換えてください。

export ZEROCLAW_channels__signal__<alias>__approval_timeout_secs=
dm_only bool · default false

trueの場合、ダイレクトメッセージのみを受け付け、すべてのグループトラフィックを無視します。group_idsとは相互排他的です(これが設定されている場合、group_idsは無視されます)。レガシーなgroup_id = "dm"センチネルから移行されました。

任意のサーフェスに設定する場合:

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

/config/channels/signal を開き、channels.signal.<alias>.dm_only フィールドを設定します。

zerocode

Config ペインで、channels.signal.<alias>.dm_only フィールドを設定します。

zeroclaw config

zeroclaw config set channels.signal.<alias>.dm_only <value>

環境変数

オーバーライドをエクスポートします(POSIXシェル用。~/.bashrc~/.zshrc.env、またはDockerfileに記述します)。<alias>を実際のエイリアスに置き換えてください。

export ZEROCLAW_channels__signal__<alias>__dm_only=
excluded_tools string[] · default []

このチャネルのツール仕様から除外されるツールです。設定すると、これらのツールはこのチャネル経由で応答する際にモデルに公開されません。

任意のサーフェスに設定する場合:

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

/config/channels/signal を開いて、channels.signal.<alias>.excluded_tools フィールドを設定してください。

zerocode

Config ペインで、channels.signal.<alias>.excluded_tools フィールドを設定します。

zeroclaw config

zeroclaw config set channels.signal.<alias>.excluded_tools <value>

環境変数

オーバーライドをエクスポートします(POSIXシェル用。~/.bashrc~/.zshrc.env、またはDockerfileに記述します)。<alias>を実際のエイリアスに置き換えてください。

export ZEROCLAW_channels__signal__<alias>__excluded_tools=
group_ids string[] · default []

メッセージをフィルタリングするためのグループID。空 = すべてのメッセージ(DMとグループ)を受け入れます。空でない場合、リストに含まれるグループからのメッセージのみが受け入れられます(dm_only がポリシーをDMのみに切り替えない限り、DMは引き続き受け入れられます)。従来の単数形フィールド group_id から移行されました。

任意のサーフェスに設定する場合:

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

/config/channels/signal を開いて、channels.signal.<alias>.group_ids フィールドを設定します。

zerocode

Config ペインで、channels.signal.<alias>.group_ids フィールドを設定します。

zeroclaw config

zeroclaw config set channels.signal.<alias>.group_ids <value>

環境変数

オーバーライドをエクスポートします(POSIXシェル用。~/.bashrc~/.zshrc.env、またはDockerfileに記述します)。<alias>を実際のエイリアスに置き換えてください。

export ZEROCLAW_channels__signal__<alias>__group_ids=
http_url* string · default

signal-cli HTTP デーモンのベース URL(例: "http://127.0.0.1:8686")。

任意のサーフェスに設定する場合:

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

/config/channels/signal を開き、channels.signal.<alias>.http_url フィールドを設定します。

zerocode

Config ペインで、channels.signal.<alias>.http_url フィールドを設定します。

zeroclaw config

zeroclaw config set channels.signal.<alias>.http_url <value>

環境変数

オーバーライドをエクスポートします(POSIXシェル用。~/.bashrc~/.zshrc.env、またはDockerfileに記述します)。<alias>を実際のエイリアスに置き換えてください。

export ZEROCLAW_channels__signal__<alias>__http_url=
ignore_attachments bool · default false

添付ファイルのみ(本文テキストなし)のメッセージをスキップします。

任意のサーフェスに設定する場合:

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

/config/channels/signal を開いて、channels.signal.<alias>.ignore_attachments フィールドを設定してください。

zerocode

Config ペインで、channels.signal.<alias>.ignore_attachments フィールドを設定します。

zeroclaw config

zeroclaw config set channels.signal.<alias>.ignore_attachments <value>

環境変数

オーバーライドをエクスポートします(POSIXシェル用。~/.bashrc~/.zshrc.env、またはDockerfileに記述します)。<alias>を実際のエイリアスに置き換えてください。

export ZEROCLAW_channels__signal__<alias>__ignore_attachments=
ignore_stories bool · default false

ストーリーの受信メッセージをスキップします。

任意のサーフェスに設定する場合:

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

/config/channels/signal を開いて、channels.signal.<alias>.ignore_stories フィールドを設定します。

zerocode

Config ペインで、channels.signal.<alias>.ignore_stories フィールドを設定します。

zeroclaw config

zeroclaw config set channels.signal.<alias>.ignore_stories <value>

環境変数

オーバーライドをエクスポートします(POSIXシェル用。~/.bashrc~/.zshrc.env、またはDockerfileに記述します)。<alias>を実際のエイリアスに置き換えてください。

export ZEROCLAW_channels__signal__<alias>__ignore_stories=
proxy_url string? · default null

チャンネルごとのプロキシURL(http、https、socks5、socks5h)。このチャンネルに対してのみ、グローバルな [proxy] 設定を上書きします。

任意のサーフェスに設定する場合:

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

/config/channels/signal を開き、channels.signal.<alias>.proxy_url フィールドを設定します。

zerocode

Config ペインで、channels.signal.<alias>.proxy_url フィールドを設定します。

zeroclaw config

zeroclaw config set channels.signal.<alias>.proxy_url <value>

環境変数

オーバーライドをエクスポートします(POSIXシェル用。~/.bashrc~/.zshrc.env、またはDockerfileに記述します)。<alias>を実際のエイリアスに置き換えてください。

export ZEROCLAW_channels__signal__<alias>__proxy_url=
reply_min_interval_secs integer · default 0

チャンネルと受信者の組み合わせごとの送信ペーシングの下限値(秒)。範囲: 0..=REPLY_MIN_INTERVAL_MAX_SECS(0 で無効化)。

任意のサーフェスに設定する場合:

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

/config/channels/signal を開き、channels.signal.<alias>.reply_min_interval_secs フィールドを設定します。

zerocode

Config ペインで、channels.signal.<alias>.reply_min_interval_secs フィールドを設定します。

zeroclaw config

zeroclaw config set channels.signal.<alias>.reply_min_interval_secs <value>

環境変数

オーバーライドをエクスポートします(POSIXシェル用。~/.bashrc~/.zshrc.env、またはDockerfileに記述します)。<alias>を実際のエイリアスに置き換えてください。

export ZEROCLAW_channels__signal__<alias>__reply_min_interval_secs=
reply_queue_depth_max integer · default 0

(チャネル, 受信者)単位の送信ペーシングキューの深さ。範囲: 0..=REPLY_QUEUE_DEPTH_CEILINGreply_min_interval_secs > 0 かつこの値が 0 の場合、ペーシングラッパーは DEFAULT_REPLY_QUEUE_DEPTH (16) で代替します。キューが満杯の場合、最新の送信が破棄され、WARN がログに記録されます。

任意のサーフェスに設定する場合:

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

/config/channels/signal を開いて、channels.signal.<alias>.reply_queue_depth_max フィールドを設定します。

zerocode

Config ペインで、channels.signal.<alias>.reply_queue_depth_max フィールドを設定します。

zeroclaw config

zeroclaw config set channels.signal.<alias>.reply_queue_depth_max <value>

環境変数

オーバーライドをエクスポートします(POSIXシェル用。~/.bashrc~/.zshrc.env、またはDockerfileに記述します)。<alias>を実際のエイリアスに置き換えてください。

export ZEROCLAW_channels__signal__<alias>__reply_queue_depth_max=

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

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

zerocode

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

エージェントの channels リストを使用して、チャネルをそのエージェントにバインドします。

開始と確認

最初にデーモンを起動し、その後 ZeroClaw チャンネルを起動します:

sh

signal-cli daemon --http 127.0.0.1:8686
zeroclaw channel start

zeroclaw channel doctor を使用して、ZeroClaw が設定済みのチャンネルを読み込めることを確認してください。チャンネルが実行時に失敗する場合は、http_url がデーモンを指していること、アカウントが signal-cli に登録されていること、ビルドに channel-signal が含まれていることを確認してください。

よくある混乱

signal-cli プロジェクトは主に CLI として知られていますが、ZeroClaw はその HTTP デーモンモードを必要とします。コマンドラインバイナリのみをインストールしてデーモンを起動していない場合、ZeroClaw には接続先がありません。