ホーム チュートリアル カテゴリ Skills サイトについて
ZH EN JA KO
チャンネル連携

OpenClawをMatrixとElementに接続するチュートリアル

· 14 分で読了

はじめに

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 での登録

  1. Element Web にアクセスし、「Create Account」をクリックします
  2. Homeserver として matrix.org を選択します(またはセルフホスティングの Homeserver アドレスを使用)
  3. ユーザー名を入力します。openclaw-bot のような名前を推奨します
  4. 強力なパスワードを設定して登録を完了します

セルフホスティングの 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クライアントから取得

  1. Bot アカウントで Element にログインします
  2. 左上のアバターをクリック → 「All settings」
  3. 「Help & About」タブに移動します
  4. 下部の「Advanced」セクションを展開します
  5. 「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の招待

専用ルームの作成

  1. Element で「+」をクリックして新しいルームを作成します
  2. ルーム名に「AI アシスタント」などと入力します
  3. 必要に応じて暗号化を有効にするかどうかを選択します(下記の暗号化セクションを参照)
  4. ルームを作成した後、Bot アカウントを招待します

Botの招待

ルームでコマンドを入力して Bot を招待します:

/invite @openclaw-bot:matrix.org

autoJoin: true を設定している場合、Bot は自動的に招待を受け入れてルームに参加します。

テスト会話

ルームでメッセージを送信してテストします:

@openclaw-bot こんにちは、自己紹介をお願いします

responseModeall に設定している場合、@なしでも応答がトリガーされます。

エンドツーエンド暗号化の注意事項

Matrix のエンドツーエンド暗号化(E2EE)は強力なプライバシー保護機能ですが、Bot との統合時には追加の注意が必要です。

現在の制限事項

OpenClaw の Matrix 統合は E2EE をサポートしていますが、以下の点を考慮する必要があります:

  1. デバイス検証:初回起動時に Bot はデバイス検証を完了する必要があります。Element で Bot のデバイスを手動で検証することをお勧めします
  2. 鍵のバックアップ:鍵のバックアップを有効にすることをお勧めします。そうしないと、OpenClaw の再起動後に古い暗号化メッセージを読み取れなくなる可能性があります
  3. パフォーマンスへの影響:E2EE はメッセージ処理の遅延を増加させます

暗号化ルームサポートの有効化

設定に E2EE 関連の設定を追加します:

{
  channels: {
    matrix: {
      // ...基本設定...
      encryption: {
        enabled: true,
        // 暗号化キーを保存するパス
        storePath: "~/.openclaw/matrix-crypto-store",
        // 新しいデバイスを自動検証するかどうか
        autoVerify: false
      }
    }
  }
}

Botデバイスの検証

Element でデバイス検証を完了します:

  1. Bot とのプライベートチャットを開きます
  2. Bot のアバターをクリック → 「Security」
  3. 「Manually verify by text」を選択するか、絵文字検証を使用します
  4. プロンプトに従って検証プロセスを完了します

ルームアクセスの制限

セキュリティ上の理由から、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 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がメッセージに応答しない

  1. responseMode の設定が正しいか確認してください
  2. allowedRooms に現在のルームが含まれているか確認してください
  3. OpenClaw のログにエラーメッセージがないか確認してください:openclaw logs

暗号化ルームのメッセージを復号できない

  1. encryption.enabledtrue に設定されているか確認してください
  2. crypto-store パスが正しく、書き込み権限があるか確認してください
  3. デバイス検証プロセスをやり直してください

まとめ

本チュートリアルを通じて、OpenClaw を Matrix ネットワークに正常に接続できました。Matrix の分散化特性とエンドツーエンド暗号化機能により、プライバシーを重視するユーザーにとって理想的な選択肢となります。OpenClaw の AI 機能と組み合わせることで、Element やその他の Matrix 互換クライアントでスマートアシスタントサービスを利用できます。

次のステップの提案:

  • 「OpenClaw複数チャットチャンネル同時接続チュートリアル」を参考にしてマルチプラットフォーム接続を実現しましょう
  • ClawHub スキルマーケットプレイスを探索して Bot にさらなる機能を追加しましょう
OpenClawは無料のオープンソースAIアシスタント。WhatsApp、Telegram、Discordなど多数のプラットフォームに対応