Mattermostはオープンソースのチームコラボレーションプラットフォームで、Slackのセルフホスト型代替としてよく利用されています。プライベートデプロイをサポートしており、データセキュリティに厳しい要件を持つ企業や組織に最適です。OpenClawはプラグインシステムを通じてMattermostチャンネルをサポートしており、Mattermost内で直接AIエージェントとやり取りできます。
前提条件
設定を始める前に、以下の条件を確認してください。
- OpenClawインスタンスがデプロイ済みで正常に稼働していること
- アクセス可能なMattermostサーバー(セルフホストまたはクラウドホスト)
- Mattermostシステム管理者権限(Botアカウント作成に必要)
- Mattermostサーバーのバージョンは5.0以上を推奨
Mattermost Botアカウントの作成
Mattermost管理画面にログインし、「統合」>「Botアカウント」ページに進みます。「Botアカウントの作成」をクリックし、ユーザー名、表示名、説明を入力します。作成後にAccess Tokenが生成されますので、このトークンを安全に保管してください。表示されるのは一度だけです。
MattermostインスタンスでBotアカウント機能が有効になっていない場合は、まずシステムコンソールの「統合」>「Botアカウント」で「Botアカウントの作成を有効にする」をtrueに設定してください。
また、「統合」>「統合管理」で「受信Webhookの有効化」と「送信Webhookの有効化」の両方がオンになっていることを確認してください。
Mattermostプラグインのインストール
OpenClawプラグインシステムでMattermostサポートをインストールします。
openclaw plugin install mattermost
次にインタラクティブログインコマンドで設定を行います。
openclaw channels login mattermost
Mattermostサーバーのアドレス、BotのAccess Tokenなどの情報の入力を求められます。
openclaw.jsonの設定
openclaw.json で直接手動設定することもできます。
{
"channels": {
"mattermost": {
"enabled": true,
"serverUrl": "https://mattermost.your-company.com",
"token": "your-bot-access-token",
"teamName": "your-team-name"
}
}
}
serverUrl はMattermostサーバーの完全なアドレス、token はBot作成時に取得したAccess Token、teamName はBotが所属するチームの名前です。
WebSocket接続モード
MattermostプラグインはデフォルトでWebSocket接続を使用してリアルタイムでメッセージを受信します。これはOpenClawがMattermostサーバーに能動的に接続することを意味し、追加のWebhookコールバックアドレスの設定は不要です。このモードはファイアウォール内のセルフホスト環境に非常に適しています。アウトバウンド接続のみが必要だからです。
接続が確立されると、OpenClawは自動的にBotへのメンションやダイレクトメッセージのイベントを監視し、メッセージをAIモデルに転送して処理します。
チャンネルとプライベートチャットの動作
Mattermostでは、Botはプライベートメッセージとチャンネル内の@メンションメッセージを同時に処理できます。デフォルトの動作は以下のとおりです。
- プライベートチャット(Direct Message):Botは受信したすべてのメッセージに応答
- 公開/プライベートチャンネル:Botは@メンションされたメッセージのみに応答
設定でこれらの動作をカスタマイズできます。
{
"channels": {
"mattermost": {
"respondToDirectMessages": true,
"respondToMentions": true,
"respondToAll": false
}
}
}
respondToAll をtrueにすると、Botが所属するチャンネルのすべてのメッセージに応答しますが、活発なチャンネルでは大量のAPI呼び出しが発生する可能性があるため、慎重に使用してください。
スラッシュコマンドの統合
Mattermostはカスタムスラッシュコマンドをサポートしています。OpenClawを指すスラッシュコマンドを作成することで、ユーザーが /ask のような方法でAIを呼び出せるようになります。Mattermost管理画面の「統合」>「スラッシュコマンド」で新しいコマンドを作成し、リクエストURLをOpenClawのMattermost Webhookエンドポイントに設定してください。
セキュリティと権限制御
OpenClawのallowlist機能を使って、どのMattermostユーザーがAIとやり取りできるかを正確に制御できます。
{
"channels": {
"mattermost": {
"allowlist": ["username1", "username2"],
"allowedChannels": ["channel-id-1", "channel-id-2"]
}
}
}
allowlist はやり取り可能なユーザーを制限し、allowedChannels はBotが指定チャンネルでのみ応答するよう制限します。AIの利用コストと範囲を制御するのに非常に有用です。
OpenClawのダイレクトメッセージペアリング機能と組み合わせて、ユーザーに先にプライベートチャットで本人確認を完了してもらうこともできます。
マルチチャンネルの共存
MattermostチャンネルはOpenClawの他のチャンネルと同時に稼働できます。設定ファイルで複数のチャンネルを同時に有効化でき、同じAIバックエンドを共有します。例えば、Mattermostを社内チームのコミュニケーション用に、Telegramを外部コミュニティサポート用に同時に運用できます。すべてのチャンネルのメッセージは独立して処理され、互いに影響しません。
トラブルシューティング
BotがMattermostサーバーに接続できない場合は、まずサーバーアドレスが正しいか、Tokenが有効かを確認してください。以下のコマンドで接続性をテストできます。
curl -H "Authorization: Bearer your-token" https://mattermost.your-company.com/api/v4/users/me
Botのユーザー情報が返ってくれば、認証に問題はありません。WebSocketが頻繁に切断される場合は、ネットワーク環境でプロキシやファイアウォールが長時間接続に干渉していないか確認し、必要に応じてWebSocketのping間隔パラメータを設定してください。