Documentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
channels.* 配下のチャンネルごとの設定キー。DM とグループアクセス、
複数アカウント設定、メンションによるゲート、Slack、Discord、
Telegram、WhatsApp、Matrix、iMessage、およびその他の同梱チャンネルプラグイン向けのチャンネルごとのキーを扱います。
エージェント、ツール、Gateway ランタイム、その他のトップレベルキーについては、
設定リファレンスを参照してください。
チャンネル
各チャンネルは、その設定セクションが存在すると自動的に起動します(enabled: false の場合を除く)。
DM とグループアクセス
すべてのチャンネルは DM ポリシーとグループポリシーをサポートします。| DM ポリシー | 動作 |
|---|---|
pairing (デフォルト) | 不明な送信者に 1 回限りのペアリングコードを発行し、所有者の承認が必要 |
allowlist | allowFrom 内の送信者(またはペアリング済み許可ストア)のみ |
open | すべての受信 DM を許可(allowFrom: ["*"] が必要) |
disabled | すべての受信 DM を無視 |
| グループポリシー | 動作 |
|---|---|
allowlist (デフォルト) | 設定済み許可リストに一致するグループのみ |
open | グループ許可リストをバイパス(メンションによるゲートは引き続き適用) |
disabled | すべてのグループ/ルームメッセージをブロック |
channels.defaults.groupPolicy は、プロバイダーの groupPolicy が未設定の場合のデフォルトを設定します。
ペアリングコードは 1 時間後に期限切れになります。保留中の DM ペアリング要求は チャンネルごとに 3 件までです。
プロバイダーブロック全体が存在しない場合(channels.<provider> がない場合)、ランタイムのグループポリシーは起動時警告とともに allowlist(失敗時は閉じる)へフォールバックします。チャンネルモデルのオーバーライド
channels.modelByChannel を使用して、特定のチャンネル ID をモデルに固定します。値には provider/model または設定済みモデルエイリアスを指定できます。このチャンネルマッピングは、セッションにモデルオーバーライドがまだない場合(たとえば /model で設定されている場合などを除く)に適用されます。
チャンネルデフォルトと Heartbeat
プロバイダー全体で共有するグループポリシーと Heartbeat の動作にはchannels.defaults を使用します。
channels.defaults.groupPolicy: プロバイダーレベルのgroupPolicyが未設定の場合のフォールバックグループポリシー。channels.defaults.contextVisibility: すべてのチャンネルのデフォルト補足コンテキスト可視性モード。値:all(デフォルト、引用/スレッド/履歴コンテキストをすべて含める)、allowlist(許可リスト内の送信者からのコンテキストのみ含める)、allowlist_quote(allowlist と同じだが、明示的な引用/返信コンテキストを保持)。チャンネルごとのオーバーライド:channels.<channel>.contextVisibility。channels.defaults.heartbeat.showOk: 正常なチャンネルステータスを Heartbeat 出力に含めます。channels.defaults.heartbeat.showAlerts: 低下/エラーステータスを Heartbeat 出力に含めます。channels.defaults.heartbeat.useIndicator: コンパクトなインジケーター形式の Heartbeat 出力をレンダリングします。
複数アカウント WhatsApp
複数アカウント WhatsApp
- 送信コマンドは、存在する場合はアカウント
defaultにデフォルト設定されます。存在しない場合は、最初に設定されたアカウント ID(ソート済み)になります。 - オプションの
channels.whatsapp.defaultAccountは、設定済みアカウント ID と一致する場合、そのフォールバックのデフォルトアカウント選択をオーバーライドします。 - レガシーの単一アカウント Baileys 認証ディレクトリは、
openclaw doctorによってwhatsapp/defaultに移行されます。 - アカウントごとのオーバーライド:
channels.whatsapp.accounts.<id>.sendReadReceipts、channels.whatsapp.accounts.<id>.dmPolicy、channels.whatsapp.accounts.<id>.allowFrom。
Telegram
- Bot トークン:
channels.telegram.botTokenまたはchannels.telegram.tokenFile(通常ファイルのみ。シンボリックリンクは拒否)、デフォルトアカウントのフォールバックとしてTELEGRAM_BOT_TOKEN。 apiRootは Telegram Bot API のルートのみです。https://api.telegram.org/bot<TOKEN>ではなく、https://api.telegram.orgまたはセルフホスト/プロキシのルートを使用してください。openclaw doctor --fixは、誤って付いた末尾の/bot<TOKEN>サフィックスを削除します。- オプションの
channels.telegram.defaultAccountは、設定済みアカウント ID と一致する場合、デフォルトアカウント選択をオーバーライドします。 - 複数アカウント設定(2 個以上のアカウント ID)では、フォールバックルーティングを避けるため、明示的なデフォルト(
channels.telegram.defaultAccountまたはchannels.telegram.accounts.default)を設定します。これがない、または無効な場合、openclaw doctorが警告します。 configWrites: falseは、Telegram 起点の設定書き込み(スーパーグループ ID 移行、/config set|unset)をブロックします。type: "acp"を持つトップレベルのbindings[]エントリは、フォーラムトピック用の永続 ACP バインディングを設定します(match.peer.idでは正規形式のchatId:topic:topicIdを使用)。フィールドの意味は ACP エージェントで共有されています。- Telegram ストリームプレビューは
sendMessage+editMessageTextを使用します(直接チャットとグループチャットで動作)。 - 再試行ポリシー: 再試行ポリシーを参照してください。
Discord
- トークン:
channels.discord.token。デフォルトアカウントのフォールバックとしてDISCORD_BOT_TOKENを使用します。 - 明示的な Discord
tokenを指定する直接の送信呼び出しは、その呼び出しにそのトークンを使用します。アカウントの再試行/ポリシー設定は、アクティブなランタイムスナップショット内の選択済みアカウントから引き続き取得されます。 - 省略可能な
channels.discord.defaultAccountは、設定済みアカウント id と一致する場合にデフォルトアカウント選択を上書きします。 - 配信ターゲットには
user:<id>(DM) またはchannel:<id>(guild チャンネル) を使用します。裸の数値 ID は拒否されます。 - Guild スラッグは小文字で、スペースは
-に置き換えられます。チャンネルキーはスラッグ化された名前を使用します (#なし)。guild ID を推奨します。 - Bot 作成メッセージはデフォルトで無視されます。
allowBots: trueで有効化できます。bot へのメンションを含む bot メッセージのみを受け付けるにはallowBots: "mentions"を使用します (自身のメッセージは引き続きフィルタされます)。 channels.discord.guilds.<id>.ignoreOtherMentions(およびチャンネル上書き) は、bot ではなく別のユーザーまたはロールをメンションするメッセージを破棄します (@everyone/@here は除外)。channels.discord.mentionAliasesは、送信前に安定した送信用の@handleテキストを Discord ユーザー ID にマッピングします。これにより、一時的なディレクトリキャッシュが空でも、既知のチームメイトを決定的にメンションできます。アカウントごとの上書きはchannels.discord.accounts.<accountId>.mentionAliases配下にあります。maxLinesPerMessage(デフォルト 17) は、2000 文字未満でも縦に長いメッセージを分割します。channels.discord.threadBindingsは Discord スレッドバインド付きルーティングを制御します:enabled: スレッドバインド付きセッション機能 (/focus,/unfocus,/agents,/session idle,/session max-age, およびバインド付き配信/ルーティング) に対する Discord 上書きidleHours: 非アクティブ時の自動 unfocus の Discord 上書き (時間単位、0で無効)maxAgeHours: ハード最大有効期間の Discord 上書き (時間単位、0で無効)spawnSessions:sessions_spawn({ thread: true })と ACP スレッド生成時の自動スレッド作成/バインドの切り替え (デフォルト:true)defaultSpawnContext: スレッドバインド付き生成用のネイティブサブエージェントコンテキスト (デフォルトは"fork")
type: "acp"を持つトップレベルのbindings[]エントリは、チャンネルとスレッド用の永続 ACP バインドを設定します (match.peer.idでチャンネル/スレッド id を使用)。フィールドのセマンティクスは ACP エージェント で共有されています。channels.discord.ui.components.accentColorは Discord components v2 コンテナのアクセントカラーを設定します。channels.discord.voiceは Discord ボイスチャンネル会話と、省略可能な自動参加 + LLM + TTS 上書きを有効にします。テキスト専用の Discord 設定では、デフォルトで音声はオフのままです。オプトインするにはchannels.discord.voice.enabled=trueを設定します。channels.discord.voice.modelは、Discord ボイスチャンネル応答に使用する LLM モデルを任意で上書きします。channels.discord.voice.daveEncryptionとchannels.discord.voice.decryptionFailureToleranceは、@discordjs/voiceDAVE オプションにそのまま渡されます (デフォルトはtrueと24)。channels.discord.voice.connectTimeoutMsは、/vc joinと自動参加試行における初期@discordjs/voiceReady 待機を制御します (デフォルトは30000)。channels.discord.voice.reconnectGraceMsは、切断された音声セッションが再接続シグナリングに入るまでに許容される時間を制御します。超過すると OpenClaw がそれを破棄します (デフォルトは15000)。- Discord 音声再生は、別ユーザーの発話開始イベントによって中断されません。フィードバックループを避けるため、OpenClaw は TTS 再生中の新しい音声キャプチャを無視します。
- OpenClaw はさらに、復号失敗が繰り返された後に音声セッションを退出/再参加することで、音声受信の復旧も試みます。
channels.discord.streamingは正規のストリームモードキーです。Discord のデフォルトはstreaming.mode: "progress"で、ツール/作業の進行状況が 1 つの編集済みプレビューメッセージに表示されます。無効化するにはstreaming.mode: "off"を設定します。従来のstreamModeと booleanstreaming値はランタイムエイリアスとして残ります。永続化済み設定を書き換えるにはopenclaw doctor --fixを実行します。channels.discord.autoPresenceはランタイムの可用性を bot プレゼンスにマッピングし (healthy => online, degraded => idle, exhausted => dnd)、省略可能なステータステキスト上書きを許可します。channels.discord.dangerouslyAllowNameMatchingは、可変の名前/タグ一致を再有効化します (緊急互換モード)。channels.discord.execApprovals: Discord ネイティブの exec 承認配信と承認者認可。enabled:true,false, または"auto"(デフォルト)。auto モードでは、approversまたはcommands.ownerAllowFromから承認者を解決できる場合に exec 承認が有効化されます。approvers: exec リクエストを承認できる Discord ユーザー ID。省略時はcommands.ownerAllowFromにフォールバックします。agentFilter: 省略可能なエージェント ID 許可リスト。省略するとすべてのエージェントの承認を転送します。sessionFilter: 省略可能なセッションキーパターン (部分文字列または正規表現)。target: 承認プロンプトの送信先。"dm"(デフォルト) は承認者の DM に送信し、"channel"は発信元チャンネルに送信し、"both"は両方に送信します。target に"channel"が含まれる場合、ボタンは解決済み承認者のみ使用できます。cleanupAfterResolve:trueの場合、承認、拒否、またはタイムアウト後に承認 DM を削除します。
off (なし)、own (bot のメッセージ、デフォルト)、all (すべてのメッセージ)、allowlist (すべてのメッセージで guilds.<id>.users から)。
Google Chat
- サービスアカウント JSON: インライン (
serviceAccount) またはファイルベース (serviceAccountFile)。 - サービスアカウント SecretRef もサポートされています (
serviceAccountRef)。 - 環境変数フォールバック:
GOOGLE_CHAT_SERVICE_ACCOUNTまたはGOOGLE_CHAT_SERVICE_ACCOUNT_FILE。 - 配信ターゲットには
spaces/<spaceId>またはusers/<userId>を使用します。 channels.googlechat.dangerouslyAllowNameMatchingは、可変のメールプリンシパル一致を再有効化します (緊急互換モード)。
Slack
- ソケットモード には
botTokenとappTokenの両方が必要です (デフォルトアカウントの環境変数フォールバックにはSLACK_BOT_TOKEN+SLACK_APP_TOKEN)。 - HTTP モード には
botTokenとsigningSecret(ルートまたはアカウントごと) が必要です。 socketModeは Slack SDK Socket Mode トランスポート調整を public Bolt receiver API にそのまま渡します。ping/pong タイムアウトまたは古い websocket 動作を調査する場合にのみ使用してください。botToken,appToken,signingSecret,userTokenはプレーンテキスト文字列または SecretRef オブジェクトを受け付けます。- Slack アカウントスナップショットは、
botTokenSource,botTokenStatus,appTokenStatus、および HTTP モードではsigningSecretStatusなど、認証情報ごとの source/status フィールドを公開します。configured_unavailableは、アカウントが SecretRef 経由で設定されているものの、現在のコマンド/ランタイムパスがシークレット値を解決できなかったことを意味します。 configWrites: falseは Slack から開始される設定書き込みをブロックします。- 省略可能な
channels.slack.defaultAccountは、設定済みアカウント id と一致する場合にデフォルトアカウント選択を上書きします。 channels.slack.streaming.modeは正規の Slack ストリームモードキーです。channels.slack.streaming.nativeTransportは Slack のネイティブストリーミングトランスポートを制御します。従来のstreamMode、booleanstreaming、およびnativeStreaming値はランタイムエイリアスとして残ります。永続化済み設定を書き換えるにはopenclaw doctor --fixを実行します。unfurlLinksとunfurlMediaは、bot 返信用に Slack のchat.postMessageリンクおよびメディア unfurl boolean をそのまま渡します。Slack のデフォルト動作を維持するには省略します。1 つのアカウントでトップレベルのデフォルトを上書きするにはchannels.slack.accounts.<accountId>に設定します。- 配信ターゲットには
user:<id>(DM) またはchannel:<id>を使用します。
off, own (デフォルト), all, allowlist (reactionAllowlist から)。
スレッドセッション分離: thread.historyScope はスレッドごと (デフォルト) またはチャンネル全体で共有されます。thread.inheritParent は親チャンネルのトランスクリプトを新しいスレッドにコピーします。
- Slack ネイティブストリーミングと Slack アシスタント形式の「入力中…」スレッドステータスには、返信スレッドターゲットが必要です。トップレベルの DM はデフォルトでスレッド外のままなので、スレッド形式のネイティブストリーム/ステータスプレビューを表示する代わりに、Slack の下書き投稿および編集プレビューを通じて引き続きストリームできます。
typingReactionは返信の実行中に受信 Slack メッセージへ一時的なリアクションを追加し、完了時に削除します。"hourglass_flowing_sand"などの Slack emoji shortcode を使用します。channels.slack.execApprovals: Slack ネイティブの exec 承認配信と承認者認可。Discord と同じスキーマです:enabled(true/false/"auto"),approvers(Slack ユーザー ID),agentFilter,sessionFilter,target("dm","channel", または"both")。
| アクショングループ | デフォルト | 備考 |
|---|---|---|
| reactions | 有効 | リアクション追加 + リアクション一覧 |
| messages | 有効 | 読み取り/送信/編集/削除 |
| pins | 有効 | ピン留め/ピン留め解除/一覧 |
| memberInfo | 有効 | メンバー情報 |
| emojiList | 有効 | カスタム絵文字一覧 |
Mattermost
Mattermost は現在の OpenClaw リリースでは同梱Pluginとして提供されています。古いビルドまたはカスタムビルドでは、openclaw plugins install @openclaw/mattermost を使用して現在の npm パッケージをインストールできます。バージョンを固定する前に、現在の dist-tags を npmjs.com/package/@openclaw/mattermost で確認してください。
oncall(@メンションで応答、デフォルト)、onmessage(すべてのメッセージ)、onchar(トリガープレフィックスで始まるメッセージ)。
Mattermost ネイティブコマンドを有効にした場合:
commands.callbackPathは完全な URL ではなく、パス(例:/api/channels/mattermost/command)である必要があります。commands.callbackUrlは OpenClaw Gateway エンドポイントに解決され、Mattermost サーバーから到達可能である必要があります。- ネイティブスラッシュコールバックは、スラッシュコマンド登録時に Mattermost が返すコマンドごとのトークンで認証されます。登録に失敗した場合、またはコマンドが有効化されていない場合、OpenClaw は
Unauthorized: invalid command token.でコールバックを拒否します。 - プライベート、tailnet、内部のコールバックホストでは、Mattermost が
ServiceSettings.AllowedUntrustedInternalConnectionsにコールバックホスト/ドメインを含めることを要求する場合があります。完全な URL ではなく、ホスト/ドメインの値を使用してください。 channels.mattermost.configWrites: Mattermost 起点の設定書き込みを許可または拒否します。channels.mattermost.requireMention: チャンネルで返信する前に@mentionを必須にします。channels.mattermost.groups.<channelId>.requireMention: チャンネルごとのメンションゲートのオーバーライド(デフォルトは"*")。- 任意の
channels.mattermost.defaultAccountは、設定済みアカウント ID と一致する場合にデフォルトアカウント選択をオーバーライドします。
Signal
off、own(デフォルト)、all、allowlist(reactionAllowlist から)。
channels.signal.account: チャンネル起動を特定の Signal アカウント ID に固定します。channels.signal.configWrites: Signal 起点の設定書き込みを許可または拒否します。- 任意の
channels.signal.defaultAccountは、設定済みアカウント ID と一致する場合にデフォルトアカウント選択をオーバーライドします。
iMessage
OpenClaw はimsg rpc(stdio 経由の JSON-RPC)を起動します。デーモンやポートは不要です。ホストが Messages データベースと Automation 権限を付与できる場合、新しい OpenClaw iMessage セットアップではこれが推奨パスです。
BlueBubbles サポートは削除されました。channels.bluebubbles 設定を channels.imessage に移行してください。OpenClaw は imsg のみを通じて iMessage をサポートします。
Gateway がサインイン済みの Messages Mac で実行されていない場合は、channels.imessage.enabled=true のままにし、channels.imessage.cliPath をその Mac 上で imsg "$@" を実行する SSH ラッパーに設定してください。デフォルトのローカル imsg パスは macOS 専用です。
-
任意の
channels.imessage.defaultAccountは、設定済みアカウント ID と一致する場合にデフォルトアカウント選択をオーバーライドします。 - Messages DB へのフルディスクアクセスが必要です。
-
chat_id:<id>ターゲットを推奨します。チャットを一覧表示するにはimsg chats --limit 20を使用してください。 -
cliPathは SSH ラッパーを指すことができます。SCP 添付ファイル取得にはremoteHost(hostまたはuser@host)を設定します。 -
attachmentRootsとremoteAttachmentRootsは、受信添付ファイルのパスを制限します(デフォルト:/Users/*/Library/Messages/Attachments)。 -
SCP は厳密なホストキー確認を使用するため、リレーホストキーがすでに
~/.ssh/known_hostsに存在することを確認してください。 -
channels.imessage.configWrites: iMessage 起点の設定書き込みを許可または拒否します。 -
type: "acp"を持つトップレベルのbindings[]エントリは、iMessage 会話を永続 ACP セッションにバインドできます。match.peer.idでは、正規化されたハンドルまたは明示的なチャットターゲット(chat_id:*、chat_guid:*、chat_identifier:*)を使用してください。共有フィールドの意味論: ACP エージェント。
iMessage SSH ラッパーの例
iMessage SSH ラッパーの例
Matrix
Matrix は Plugin ベースで、channels.matrix 配下に設定します。
- トークン認証は
accessTokenを使用し、パスワード認証はuserId+passwordを使用します。 channels.matrix.proxyは Matrix HTTP トラフィックを明示的な HTTP(S) プロキシ経由でルーティングします。名前付きアカウントはchannels.matrix.accounts.<id>.proxyでオーバーライドできます。channels.matrix.network.dangerouslyAllowPrivateNetworkはプライベート/内部 homeserver を許可します。proxyとこのネットワークのオプトインは独立した制御です。channels.matrix.defaultAccountは、マルチアカウントセットアップで優先アカウントを選択します。channels.matrix.autoJoinのデフォルトはoffであるため、招待されたルームと新しい DM 形式の招待は、autoJoinAllowlistとともにautoJoin: "allowlist"を設定するか、autoJoin: "always"を設定するまで無視されます。channels.matrix.execApprovals: Matrix ネイティブの exec 承認配信と承認者認可。enabled:true、false、または"auto"(デフォルト)。auto モードでは、approversまたはcommands.ownerAllowFromから承認者を解決できる場合に exec 承認が有効化されます。approvers: exec リクエストの承認を許可された Matrix ユーザー ID(例:@owner:example.org)。agentFilter: 任意のエージェント ID 許可リスト。すべてのエージェントの承認を転送する場合は省略します。sessionFilter: 任意のセッションキーパターン(部分文字列または正規表現)。target: 承認プロンプトの送信先。"dm"(デフォルト)、"channel"(送信元ルーム)、または"both"。- アカウントごとのオーバーライド:
channels.matrix.accounts.<id>.execApprovals。
channels.matrix.dm.sessionScopeは Matrix DM をセッションにグループ化する方法を制御します。per-user(デフォルト)はルーティングされたピア単位で共有し、per-roomは各 DM ルームを分離します。- Matrix ステータスプローブとライブディレクトリ検索は、ランタイムトラフィックと同じプロキシポリシーを使用します。
- Matrix の完全な設定、ターゲティングルール、セットアップ例は Matrix に記載されています。
Microsoft Teams
Microsoft Teams は Plugin ベースで、channels.msteams 配下に設定します。
- ここで扱うコアキーパス:
channels.msteams、channels.msteams.configWrites。 - Teams の完全な設定(認証情報、Webhook、DM/グループポリシー、チームごと/チャンネルごとのオーバーライド)は Microsoft Teams に記載されています。
IRC
IRC は Plugin ベースで、channels.irc 配下に設定します。
- ここで扱うコアキーパス:
channels.irc、channels.irc.dmPolicy、channels.irc.configWrites、channels.irc.nickserv.*。 - 任意の
channels.irc.defaultAccountは、設定済みアカウント ID と一致する場合にデフォルトアカウント選択をオーバーライドします。 - IRC チャンネルの完全な設定(ホスト/ポート/TLS/チャンネル/許可リスト/メンションゲート)は IRC に記載されています。
マルチアカウント(すべてのチャンネル)
チャンネルごとに複数のアカウント(それぞれ独自のaccountId を持つ)を実行します:
accountIdが省略された場合はdefaultが使用されます(CLI + ルーティング)。- 環境トークンは デフォルト アカウントにのみ適用されます。
- ベースチャンネル設定は、アカウントごとにオーバーライドされない限り、すべてのアカウントに適用されます。
- 各アカウントを別のエージェントにルーティングするには
bindings[].match.accountIdを使用します。 - 単一アカウントのトップレベルチャンネル設定のまま、
openclaw channels add(またはチャンネルのオンボーディング)で非デフォルトアカウントを追加すると、OpenClaw はまずアカウントスコープのトップレベル単一アカウント値をチャンネルアカウントマップに昇格させ、元のアカウントが引き続き動作するようにします。ほとんどのチャンネルではそれらをchannels.<channel>.accounts.defaultに移動します。Matrix では、既存の一致する名前付き/デフォルトターゲットを代わりに保持できます。 - 既存のチャンネルのみのバインディング(
accountIdなし)はデフォルトアカウントとの照合を継続します。アカウントスコープのバインディングは引き続き任意です。 openclaw doctor --fixも、そのチャンネル用に選択された昇格先アカウントへアカウントスコープのトップレベル単一アカウント値を移動することで、混在した形状を修復します。ほとんどのチャンネルではaccounts.defaultを使用します。Matrix では、既存の一致する名前付き/デフォルトターゲットを代わりに保持できます。
その他の Plugin チャンネル
多くの Plugin チャンネルはchannels.<id> として設定され、専用のチャンネルページに記載されています(例: Feishu、Matrix、LINE、Nostr、Zalo、Nextcloud Talk、Synology Chat、Twitch)。
チャンネルの完全な索引を参照してください: チャンネル。
グループチャットのメンションゲート
グループメッセージのデフォルトは メンション必須(メタデータメンションまたは安全な正規表現パターン)です。WhatsApp、Telegram、Discord、Google Chat、iMessage のグループチャットに適用されます。 表示される返信は別に制御されます。グループ/チャンネルルームのデフォルトはmessages.groupChat.visibleReplies: "message_tool" です。OpenClaw はターンの処理を継続しますが、通常の最終返信は非公開のままで、ルームに表示される出力には message(action=send) が必要です。通常の返信をルームに投稿するレガシー動作が必要な場合にのみ "automatic" を設定してください。同じツールのみの表示返信動作を直接チャットにも適用するには、messages.visibleReplies: "message_tool" を設定します。Codex ハーネスも、未設定の直接チャットのデフォルトとしてそのツールのみの動作を使用します。
ツールのみの表示返信には、確実にツールを呼び出すモデル/ランタイムが必要です。セッションログに didSendViaMessagingTool: false を含む assistant テキストが表示される場合、モデルはメッセージツールを呼び出す代わりに非公開の最終回答を生成しています。そのチャンネルでは、より強力なツール呼び出しモデルに切り替えるか、messages.groupChat.visibleReplies: "automatic" を設定してレガシーの表示最終返信を復元してください。
アクティブなツールポリシーでメッセージツールが利用できない場合、OpenClaw は応答を黙って抑制する代わりに、自動の表示返信にフォールバックします。openclaw doctor はこの不一致について警告します。
Gateway は、ファイル保存後に messages 設定をホットリロードします。デプロイでファイル監視または設定リロードが無効になっている場合のみ再起動してください。
メンション種別:
- メタデータメンション: ネイティブプラットフォームの @ メンション。WhatsApp のセルフチャットモードでは無視されます。
- テキストパターン:
agents.list[].groupChat.mentionPatterns内の安全な正規表現パターン。無効なパターンと安全でないネストされた繰り返しは無視されます。 - メンションゲートは、検出が可能な場合(ネイティブメンション、または少なくとも 1 つのパターン)にのみ強制されます。
messages.groupChat.historyLimit はグローバルデフォルトを設定します。チャンネルは channels.<channel>.historyLimit(またはアカウント単位)で上書きできます。無効にするには 0 を設定します。
messages.visibleReplies はグローバルな source-turn デフォルトです。messages.groupChat.visibleReplies は、グループ/チャンネルの source turn についてそれを上書きします。messages.visibleReplies が未設定の場合、ハーネスは独自の direct/source デフォルトを提供できます。Codex ハーネスのデフォルトは message_tool です。チャンネルの許可リストとメンションゲートは、引き続き turn を処理するかどうかを決定します。
DM 履歴上限
telegram, whatsapp, discord, slack, signal, imessage, msteams。
セルフチャットモード
セルフチャットモードを有効にするには、自分の番号をallowFrom に含めます(ネイティブ @ メンションを無視し、テキストパターンにのみ応答します)。
コマンド(チャットコマンド処理)
コマンド詳細
コマンド詳細
- このブロックはコマンドサーフェスを設定します。現在の組み込み + バンドル済みコマンドカタログについては、スラッシュコマンドを参照してください。
- このページは設定キーのリファレンスであり、完全なコマンドカタログではありません。QQ Bot
/bot-ping/bot-help/bot-logs、LINE/card、デバイスペアリング/pair、メモリ/dreaming、電話制御/phone、Talk/voiceなどのチャンネル/Plugin 所有コマンドは、各チャンネル/Plugin ページとスラッシュコマンドに記載されています。 - テキストコマンドは、先頭に
/が付いた単独のメッセージである必要があります。 native: "auto"は Discord/Telegram のネイティブコマンドを有効にし、Slack はオフのままにします。nativeSkills: "auto"は Discord/Telegram のネイティブ skill コマンドを有効にし、Slack はオフのままにします。- チャンネル単位で上書き:
channels.discord.commands.native(bool または"auto")。Discord では、falseにすると起動時のネイティブコマンド登録とクリーンアップをスキップします。 channels.<provider>.commands.nativeSkillsで、チャンネル単位のネイティブ skill 登録を上書きします。channels.telegram.customCommandsは追加の Telegram ボットメニューエントリを追加します。bash: trueはホストシェル用に! <cmd>を有効にします。tools.elevated.enabledと、送信者がtools.elevated.allowFrom.<channel>に含まれていることが必要です。config: trueは/config(openclaw.jsonの読み書き)を有効にします。Gatewaychat.sendクライアントでは、永続的な/config set|unset書き込みにもoperator.adminが必要です。読み取り専用の/config showは、通常の書き込みスコープ付き operator クライアントでも引き続き利用できます。mcp: trueは、mcp.servers配下の OpenClaw 管理 MCP サーバー設定用に/mcpを有効にします。plugins: trueは、Plugin の検出、インストール、有効化/無効化コントロール用に/pluginsを有効にします。channels.<provider>.configWritesはチャンネル単位で設定変更をゲートします(デフォルト: true)。- マルチアカウントチャンネルでは、
channels.<provider>.accounts.<id>.configWritesも、そのアカウントを対象にする書き込みをゲートします(例:/allowlist --config --account <id>または/config set channels.<provider>.accounts.<id>...)。 restart: falseは/restartと Gateway 再起動ツールのアクションを無効にします。デフォルト:true。ownerAllowFromは、所有者専用コマンド/ツール用の明示的な所有者許可リストです。allowFromとは別です。ownerDisplay: "hash"はシステムプロンプト内の所有者 ID をハッシュ化します。ハッシュ化を制御するにはownerDisplaySecretを設定します。allowFromはプロバイダー単位です。設定されている場合、それが唯一の認可ソースになります(チャンネルの許可リスト/ペアリングとuseAccessGroupsは無視されます)。useAccessGroups: falseは、allowFromが設定されていない場合に、コマンドがアクセスグループポリシーをバイパスすることを許可します。- コマンドドキュメントマップ:
関連
- 設定リファレンス — トップレベルキー
- 設定 — エージェント
- チャンネル概要