はじめに
Matrix はオープンで分散型のインスタントメッセージングプロトコルであり、Element はその中で最も人気のあるクライアントです。OpenClaw を Matrix ネットワークに接続すると、任意の Matrix クライアントから AI アシスタントと会話でき、Matrix プロトコルが提供するプライバシー保護と分散化のメリットを享受できます。
本チュートリアルでは、ゼロから OpenClaw と Matrix の接続を完了させます。
環境の準備
開始する前に、以下の条件が満たされていることを確認してください:
| 依存項目 | 最低バージョン | 説明 |
|---|---|---|
| Node.js | 22+ | OpenClaw 実行環境 |
| OpenClaw | 最新版 | npm install -g openclaw@latest |
| Matrix Homeserver | 任意 | matrix.org またはセルフホスティングの Synapse |
| Element クライアント | 任意 | テストおよび日常使用向け |
OpenClaw をまだインストールしていない場合は、まず以下を実行してください:
npm install -g openclaw@latest
openclaw onboard
ステップ1:Matrix Botアカウントの作成
OpenClaw 専用の Matrix アカウントを作成する必要があります。Element クライアントを使用して登録することをお勧めします。
matrix.org での登録
- Element Web にアクセスし、「Create Account」をクリックします
- Homeserver として
matrix.orgを選択します(またはセルフホスティングの Homeserver アドレスを使用) - ユーザー名を入力します。
openclaw-botのような名前を推奨します - 強力なパスワードを設定して登録を完了します
セルフホスティングの Synapse での登録
独自の Synapse サーバーを運用している場合は、コマンドラインで登録できます:
# Synapse サーバー上で実行
register_new_matrix_user -c /etc/synapse/homeserver.yaml http://localhost:8008
# プロンプトに従ってユーザー名、パスワードを入力し、admin は no を選択
ステップ2:Access Tokenの取得
OpenClaw は Access Token を使用して Matrix アカウントを認証します。取得方法は2つあります。
方法1:Elementクライアントから取得
- Bot アカウントで Element にログインします
- 左上のアバターをクリック → 「All settings」
- 「Help & About」タブに移動します
- 下部の「Advanced」セクションを展開します
- 「Access token」フィールドを見つけてコピーをクリックします
方法2:APIから取得
curl -X POST "https://matrix.org/_matrix/client/v3/login" \
-H "Content-Type: application/json" \
-d '{
"type": "m.login.password",
"user": "@openclaw-bot:matrix.org",
"password": "your-password-here"
}'
返されるレスポンスに access_token フィールドが含まれます:
{
"user_id": "@openclaw-bot:matrix.org",
"access_token": "syt_b3BlbmNsYXctYm90_xxxxxxxxxxxxx_xxxxxx",
"device_id": "ABCDEFGHIJ"
}
この Token は安全に保管し、他の人に漏らさないでください。
ステップ3:OpenClawの設定
OpenClaw の設定ファイル ~/.config/openclaw/openclaw.json5 を編集します:
{
// その他の設定...
channels: {
matrix: {
enabled: true,
// Matrix Homeserver アドレス
homeserverUrl: "https://matrix.org",
// Bot の完全な Matrix ID
userId: "@openclaw-bot:matrix.org",
// 前のステップで取得した Access Token
accessToken: "syt_b3BlbmNsYXctYm90_xxxxxxxxxxxxx_xxxxxx",
// 招待されたルームに自動参加
autoJoin: true,
// 応答モード:all はすべてのメッセージに応答、mention は@された時のみ応答
responseMode: "mention",
// 許可するルームリスト(空の場合はすべてのルームを許可)
allowedRooms: [],
// 表示名
displayName: "OpenClaw AI",
// アバター URL(オプション)
avatarUrl: ""
}
}
}
設定項目の詳細
| 設定項目 | 型 | デフォルト値 | 説明 |
|---|---|---|---|
homeserverUrl |
string | 必須 | Homeserver の完全な URL |
userId |
string | 必須 | Bot の Matrix ユーザー ID |
accessToken |
string | 必須 | 認証トークン |
autoJoin |
boolean | true |
ルーム招待を自動承認するかどうか |
responseMode |
string | "mention" |
all または mention |
allowedRooms |
array | [] |
応答を許可するルーム ID リスト |
displayName |
string | ユーザー名 | Bot の表示名 |
ステップ4:起動と検証
設定を保存した後、OpenClaw を再起動します:
openclaw restart
ログを確認して Matrix チャンネルが接続されていることを確認します:
openclaw logs
以下のような出力が表示されるはずです:
[INFO] Matrix channel initializing...
[INFO] Connected to homeserver: https://matrix.org
[INFO] Logged in as @openclaw-bot:matrix.org
[INFO] Matrix channel ready, listening for messages
ステップ5:ルームの作成とBotの招待
専用ルームの作成
- Element で「+」をクリックして新しいルームを作成します
- ルーム名に「AI アシスタント」などと入力します
- 必要に応じて暗号化を有効にするかどうかを選択します(下記の暗号化セクションを参照)
- ルームを作成した後、Bot アカウントを招待します
Botの招待
ルームでコマンドを入力して Bot を招待します:
/invite @openclaw-bot:matrix.org
autoJoin: true を設定している場合、Bot は自動的に招待を受け入れてルームに参加します。
テスト会話
ルームでメッセージを送信してテストします:
@openclaw-bot こんにちは、自己紹介をお願いします
responseMode を all に設定している場合、@なしでも応答がトリガーされます。
エンドツーエンド暗号化の注意事項
Matrix のエンドツーエンド暗号化(E2EE)は強力なプライバシー保護機能ですが、Bot との統合時には追加の注意が必要です。
現在の制限事項
OpenClaw の Matrix 統合は E2EE をサポートしていますが、以下の点を考慮する必要があります:
- デバイス検証:初回起動時に Bot はデバイス検証を完了する必要があります。Element で Bot のデバイスを手動で検証することをお勧めします
- 鍵のバックアップ:鍵のバックアップを有効にすることをお勧めします。そうしないと、OpenClaw の再起動後に古い暗号化メッセージを読み取れなくなる可能性があります
- パフォーマンスへの影響:E2EE はメッセージ処理の遅延を増加させます
暗号化ルームサポートの有効化
設定に E2EE 関連の設定を追加します:
{
channels: {
matrix: {
// ...基本設定...
encryption: {
enabled: true,
// 暗号化キーを保存するパス
storePath: "~/.openclaw/matrix-crypto-store",
// 新しいデバイスを自動検証するかどうか
autoVerify: false
}
}
}
}
Botデバイスの検証
Element でデバイス検証を完了します:
- Bot とのプライベートチャットを開きます
- Bot のアバターをクリック → 「Security」
- 「Manually verify by text」を選択するか、絵文字検証を使用します
- プロンプトに従って検証プロセスを完了します
ルームアクセスの制限
セキュリティ上の理由から、Bot が特定のルームでのみ応答するよう制限することをお勧めします:
{
channels: {
matrix: {
// これらのルームでのみメッセージに応答
allowedRooms: [
"!abcdefg:matrix.org", // AI アシスタントルーム
"!hijklmn:matrix.org" // チームディスカッションルーム
]
}
}
}
ルーム ID の取得方法:Element でルーム設定に入り → 「Advanced」→ 「Internal room ID」をコピーします。
Bridgeを使用した他プラットフォームとの接続
Matrix の強力な特徴の一つは、Bridge を通じて他のプラットフォームと接続できることです。OpenClaw と組み合わせることで、1つの Bot アカウントで複数のプラットフォームに同時にサービスを提供できます。
一般的な Bridge には以下のものがあります:
| Bridge | 接続プラットフォーム | プロジェクトアドレス |
|---|---|---|
| mautrix-telegram | Telegram | github.com/mautrix/telegram |
| mautrix-whatsapp | github.com/mautrix/whatsapp | |
| mautrix-discord | Discord | github.com/mautrix/discord |
| mautrix-signal | Signal | github.com/mautrix/signal |
Bridge を使用すると、メッセージは Matrix と対象プラットフォーム間で自動的に同期され、OpenClaw は Matrix に接続するだけで済みます。
よくある質問
BotがHomeserverに接続できない
# Homeserver が到達可能か確認
curl -s https://matrix.org/_matrix/client/versions
# Access Token が有効か確認
curl -s -H "Authorization: Bearer YOUR_TOKEN" \
"https://matrix.org/_matrix/client/v3/account/whoami"
Botがメッセージに応答しない
responseModeの設定が正しいか確認してくださいallowedRoomsに現在のルームが含まれているか確認してください- OpenClaw のログにエラーメッセージがないか確認してください:
openclaw logs
暗号化ルームのメッセージを復号できない
encryption.enabledがtrueに設定されているか確認してください- crypto-store パスが正しく、書き込み権限があるか確認してください
- デバイス検証プロセスをやり直してください
まとめ
本チュートリアルを通じて、OpenClaw を Matrix ネットワークに正常に接続できました。Matrix の分散化特性とエンドツーエンド暗号化機能により、プライバシーを重視するユーザーにとって理想的な選択肢となります。OpenClaw の AI 機能と組み合わせることで、Element やその他の Matrix 互換クライアントでスマートアシスタントサービスを利用できます。
次のステップの提案:
- 「OpenClaw複数チャットチャンネル同時接続チュートリアル」を参考にしてマルチプラットフォーム接続を実現しましょう
- ClawHub スキルマーケットプレイスを探索して Bot にさらなる機能を追加しましょう