コンテンツへスキップ
ガイド

OpenClawのMatrixアクセス制御

ボット同士のルームとmentionsモード、ボットによる送信が別の設定済みアカウントを意味する理由、補助的なルームコンテキストのためのコンテキスト可視性、許可リストを使ったDMとルームのポリシー、ルームを動かしたままDMを止める方法、コードの再利用とリマインダーを伴うペアリング、ボットのメンションを前置したスラッシュコマンド

5分で読めます

Matrixにはボットのフラグがなく、サーバー側の許可リストもなく、クライアントはすべてのコマンドの前にメンションをタブ補完します。OpenClawのアクセスルールは、この3点すべてを反映しています。ここでは、ボット同士の設定、コンテキスト可視性の制御、DMとルームのポリシー、ペアリング、そしてメンションを前置したコマンドの経路を紹介します。

ボット同士のルーム

  • 他の設定済みOpenClaw Matrixアカウントからのメッセージはデフォルトで無視され、allow-bots設定でエージェント間のトラフィックをオプトインします。trueは許可されたルームとDMで他の設定済みボットアカウントからのメッセージを受け入れ、mentionsはルームではこのボットを目に見える形でメンションしている場合にのみ受け入れ、DMは引き続き許可します。ルームごとのallow-botsの値は、アカウントレベルの設定を上書きします。
  • 受け入れられた設定済みボットのメッセージには共有のボットループ保護が適用されます。これはチャネルのデフォルトで設定し、アカウントごとまたはルームごとに上書きします。
  • OpenClawは自己返信のループを防ぐため、同じMatrixユーザーIDからのメッセージは引き続き無視します。また、Matrixにはネイティブのボットフラグがないため、「ボットによる送信」とは、このOpenClaw gateway上の別の設定済みMatrixアカウントから送信されたことを意味します。
  • 共有ルームについてのドキュメントの助言は、ボット同士のトラフィックを有効にする場合は必ず、厳格なルームの許可リストとメンション要件を設けることです。
これが影響するのは補助的なコンテキストの可視性だけで、受信メッセージ自体が返信をトリガーできるかどうかには影響しません。

コンテキスト可視性とポリシー

Matrixは、取得した返信テキスト、スレッドのルート、保留中の履歴といった補助的なルームコンテキストについて、共有のコンテキスト可視性の制御に対応しています。デフォルトのallは補助的なコンテキストを受け取ったまま保持し、allowlistはアクティブなルームとユーザーの許可リストのチェックで許可された送信者に絞り込み、allowlist-quoteはallowlistと同様に動作しつつ、明示的に引用された返信を1件だけ残します。これが影響するのは表示される補助的なコンテキストだけで、受信メッセージが返信をトリガーできるかどうかには決して影響しません。それは引き続き、グループポリシー、ルームマップ、グループの送信者リスト、DMの設定によって決まります。ポリシーの例では、DMポリシーをallowlistにして管理者を送信者に指定しスレッド返信をオフにし、グループポリシーもallowlistにして同じ管理者をグループの送信者に指定し、ルームのエントリーにメンション要件を設定しています。ルームを動かしたままDMを完全に止めるには、DMブロックを無効にし、ルームのポリシーとその送信者リストはそのまま残します。Matrix DMのペアリングにはpairing listとpairing approveのコマンドを使います。承認前に未承認のユーザーがメッセージを送り続けた場合、OpenClawは新しいコードを発行せずに同じ保留中のコードを再利用し、短いクールダウンの後にリマインダーを送ることがあります。

ルームでのスラッシュコマンド

  • new、reset、model、agents、session、acp、approveなどのスラッシュコマンドは、DMではそのまま使えます。
  • ルームでは、OpenClawはボット自身のMatrixメンションを前置したコマンドも認識します。そのため、メンションに続けてnewコマンドを書けば、カスタムのメンション正規表現なしでコマンドの経路がトリガーされます。これにより、ユーザーが入力前にボットをタブ補完したときにElementなどのクライアントが送信する「メンションの後にコマンド」という形の投稿にも、ボットが応答できます。
  • 認可は引き続き適用されます。コマンドの送信者は、通常のメッセージと同じDMまたはルームの許可リストとオーナーポリシーを満たす必要があります。

これらのルールが属するチャネルの記事はMatrix上のOpenClaw、allow-botsの定義が依存するマルチアカウントとホームサーバーのモデルについてはOpenClawのMatrixアカウントとホームサーバーをご覧ください。

ボットの概念がないプラットフォームでボットを定義する

Matrixはボットと人を区別できないため、OpenClawは自身の設定で線を引きます。同じgateway上の別アカウントはボット、それ以外は全員ユーザーであり、ループガードはその線の後ろに控えています。ガードの仕組みはOpenClawのボットループ保護で、プラットフォームがボットを明示するSlackでの同様のポリシー層はOpenClawのSlackアクセス制御で解説しています。

Dialiでは

Matrixは、WhatsApp、Telegram、Discord、Slack、Mattermost、SMS、音声とともに、Dialiで接続できるチャネルの一つです。ホームサーバーのアカウントとルームの許可リストはお客様のもの、Gatewayは私たちのものです。アシスタントについてはDialiのマネージドOpenClawホスティングを、接続された各チャネルに適用される境界についてはDialiのセキュリティをご覧ください。

  • 他の設定済みアカウントはボットとして扱い、同じIDには決して返信しません。
  • コンテキスト可視性が絞り込むのは見えるものであって、トリガーするものではありません。
  • メンションにコマンドが続いても、コマンドであることに変わりはありません。
今すぐ始める

読むだけでなく、作ってみましょう

エージェントを設定してチャネルを選べば、いつも開いているアプリの中でエージェントが働き始めます。