OpenClaw Matrix チャンネル
OpenClaw を Matrix(オープンな連合通信プロトコル)に接続します。この統合により、AI アシスタントは任意のホームサーバー(matrix.org、Element、またはセルフホスト)上の Matrix ルームとダイレクトメッセージに参加できます。OpenClaw は Matrix Client-Server API 経由で接続し、Rust crypto SDK を通じてオプションのエンドツーエンド暗号化(E2EE)をサポートします。Matrix チャネルはプラグインとして提供され、連合、スレッド、リアクション、リッチメディアをサポートします。
Matrix 対応機能
テキストメッセージ
対応
メディア・ファイル
対応
リアクション
対応
スレッド
対応
音声メッセージ
非対応
グループチャット
対応
Matrix 前提条件
- 任意のホームサーバー(matrix.org、Element、またはセルフホスト)でアクティブな Matrix アカウント
- Matrix プラグインのインストール: openclaw plugins install @openclaw/matrix
- OpenClaw Gateway が実行および設定済み
- サーバーに Node.js 18+ がインストール済み
Matrix クイックセットアップ
Matrix プラグインをインストール
Matrix チャネルは個別のプラグインとして提供されます。'openclaw plugins install @openclaw/matrix' でインストールします。プラグインは npm レジストリからダウンロードされ、自動的に有効化されます。
Matrix 認証情報を取得
アクセストークンまたはユーザー名/パスワードが必要です。アクセストークンの場合: curl を使用してホームサーバーのログインエンドポイントを呼び出し、トークンをコピーします。ユーザー名/パスワードの場合: Gateway が自動的にログインし、トークンを ~/.openclaw/credentials/matrix/credentials.json に保存します。
Matrix チャネル設定を追加
ホームサーバー URL と認証情報を含む Matrix チャネル設定を ~/.openclaw/openclaw.json に追加します。環境変数 MATRIX_HOMESERVER、MATRIX_ACCESS_TOKEN、MATRIX_USER_ID、MATRIX_PASSWORD も使用できます。
Gateway を起動してテスト
'openclaw gateway' を実行してサービスを開始します。別のアカウントから Matrix ボットユーザーにダイレクトメッセージを送信します。デフォルトのペアリングポリシーを使用している場合、ターミナルで 'openclaw pairing approve matrix <code>' を実行して送信者を承認します。
Matrix 設定例
{
"channels": {
"matrix": {
"enabled": true,
"homeserver": "https://matrix.org",
"accessToken": "your_access_token_here",
"dmPolicy": "pairing"
}
}
}Matrix 詳細ドキュメント
アーキテクチャ概要
認証方法
# アクセストークン方式
{
"channels": {
"matrix": {
"homeserver": "https://matrix.example.org",
"accessToken": "syt_xxx..."
}
}
}
# ユーザー名/パスワード方式
{
"channels": {
"matrix": {
"homeserver": "https://matrix.example.org",
"userId": "@bot:example.org",
"password": "your_password"
}
}
}DM ポリシー
{
"channels": {
"matrix": {
"dmPolicy": "allowlist",
"dm": {
"allowFrom": ["@alice:matrix.org", "@bob:example.org"]
}
}
}
}グループチャット(ルーム)サポート
{
"channels": {
"matrix": {
"groupPolicy": "allowlist",
"groups": {
"!abc123:matrix.org": {
"allow": true,
"requireMention": false,
"users": ["@alice:matrix.org"]
},
"#team-chat:example.org": {
"allow": true
}
},
"autoJoin": "allowlist"
}
}
}エンドツーエンド暗号化(E2EE)
{
"channels": {
"matrix": {
"encryption": true
}
}
}連合とホームサーバーの選択
スレッドと返信モード
{
"channels": {
"matrix": {
"threadReplies": "always",
"replyToMode": "reference"
}
}
}メディア処理とファイルアップロード
{
"channels": {
"matrix": {
"mediaMaxMb": 50
}
}
}リアクションとリッチ機能
{
"channels": {
"matrix": {
"actions": {
"reactions": true,
"messages": true,
"pins": false
}
}
}
}セルフホスト AI に Matrix を選ぶ理由
Matrix 設定リファレンス
| Key | Type | Default | Description |
|---|---|---|---|
| enabled | boolean | true | Matrix チャネルを有効または無効にする |
| homeserver | string | "https://matrix.org" | Matrix ホームサーバー URL(例: https://matrix.org、https://element.io) |
| accessToken | string | "" | 認証用の Matrix アクセストークン(推奨方法) |
| userId | string | "" | Matrix ユーザー ID(例: @bot:matrix.org)— パスワード認証と併用 |
| password | string | "" | Matrix アカウントパスワード — userId とともにログインに使用 |
| encryption | boolean | false | Rust crypto SDK 経由でエンドツーエンド暗号化を有効化 |
| dmPolicy | string | "pairing" | DM アクセスポリシー: pairing、allowlist、open、または disabled |
| dm.allowFrom | array | [] | DM が許可される Matrix ユーザー ID(例: [@alice:matrix.org]) |
| groupPolicy | string | "allowlist" | ルームポリシー: allowlist または disabled |
| groups | object | {} | ルーム固有の設定(ルーム ID またはエイリアスをキーとする) |
| groups.<roomId>.allow | boolean | false | ボットがこのルームに参加することを許可 |
| groups.<roomId>.requireMention | boolean | true | このルームで応答をトリガーするためにボットのメンションを要求 |
| groups.<roomId>.users | array | [] | ルームごとのユーザー許可リスト(Matrix ユーザー ID) |
| autoJoin | string | "allowlist" | ルーム招待の自動参加: always、allowlist、または off |
| textChunkLimit | number | 4096 | アウトバウンドメッセージあたりの最大文字数 |
| chunkMode | string | "length" | 長い応答の分割方法: length(ハード制限)または newline(段落境界) |
| threadReplies | string | "inbound" | スレッド動作: off、inbound(読み取りのみ)、または always(読み取り + 作成) |
| replyToMode | string | "reference" | 返信メタデータ添付モード |
| mediaMaxMb | number | 50 | 最大メディアファイルサイズ(メガバイト) |
| actions.reactions | boolean | true | エージェントがリアクションを送信/読み取りすることを許可 |
| actions.messages | boolean | true | エージェントがメッセージを読み取り/送信/編集/削除することを許可 |
| actions.pins | boolean | true | エージェントがメッセージをピン/ピン解除することを許可 |
| actions.memberInfo | boolean | true | エージェントがルームメンバー情報を検索することを許可 |
| actions.channelInfo | boolean | true | エージェントがルーム/チャネル情報を取得することを許可 |
Matrix チャネルを有効または無効にする
Matrix ホームサーバー URL(例: https://matrix.org、https://element.io)
認証用の Matrix アクセストークン(推奨方法)
Matrix ユーザー ID(例: @bot:matrix.org)— パスワード認証と併用
Matrix アカウントパスワード — userId とともにログインに使用
Rust crypto SDK 経由でエンドツーエンド暗号化を有効化
DM アクセスポリシー: pairing、allowlist、open、または disabled
DM が許可される Matrix ユーザー ID(例: [@alice:matrix.org])
ルームポリシー: allowlist または disabled
ルーム固有の設定(ルーム ID またはエイリアスをキーとする)
ボットがこのルームに参加することを許可
このルームで応答をトリガーするためにボットのメンションを要求
ルームごとのユーザー許可リスト(Matrix ユーザー ID)
ルーム招待の自動参加: always、allowlist、または off
アウトバウンドメッセージあたりの最大文字数
長い応答の分割方法: length(ハード制限)または newline(段落境界)
スレッド動作: off、inbound(読み取りのみ)、または always(読み取り + 作成)
返信メタデータ添付モード
最大メディアファイルサイズ(メガバイト)
エージェントがリアクションを送信/読み取りすることを許可
エージェントがメッセージを読み取り/送信/編集/削除することを許可
エージェントがメッセージをピン/ピン解除することを許可
エージェントがルームメンバー情報を検索することを許可
エージェントがルーム/チャネル情報を取得することを許可
Matrix よくある質問
Matrix トラブルシューティング
DM ポリシーがメッセージをブロックしている、またはボットがルームにいない
デバイスが検証されていない、または暗号化モジュールの読み込みに失敗した
トークンがホームサーバー上で取り消されたか無効化された
ルームが許可リストにない、または requireMention が有効になっている
ホームサーバー接続または連合の問題
npm レジストリアクセスまたは Node.js バージョンの非互換性