Mattermost(プラグイン)
ステータス: プラグイン経由でサポート(ボットトークン + WebSocketイベント)。チャネル、グループ、DMがサポートされています。 Mattermostはセルフホスト可能なチームメッセージングプラットフォームです。製品の詳細とダウンロードについては mattermost.comの公式サイトを参照してください。
プラグインが必要
Mattermostはプラグインとして提供されており、コアインストールには含まれていません。
CLI経由でインストール(npmレジストリ):
openclaw plugins install @openclaw/mattermost
ローカルチェックアウト(gitリポジトリから実行する場合):
openclaw plugins install ./extensions/mattermost
configure/オンボーディング中にMattermostを選択し、gitチェックアウトが検出された場合、 OpenClawは自動的にローカルインストールパスを提供します。
詳細: プラグイン
クイックセットアップ
- Mattermostプラグインをインストール。
- Mattermostボットアカウントを作成し、ボットトークンをコピー。
- MattermostのベースURLをコピー(例: https://chat.example.com)。
- OpenClawを設定し、Gatewayを起動。
最小限の設定:
{
channels: {
mattermost: {
enabled: true,
botToken: "mm-token",
baseUrl: "https://chat.example.com",
dmPolicy: "pairing"
}
}
}
環境変数(デフォルトアカウント)
環境変数を使用する場合は、Gatewayホストで次の変数を設定してください:
- MATTERMOST_BOT_TOKEN=...
- MATTERMOST_URL=https://chat.example.com
環境変数はデフォルトアカウント(default)にのみ適用されます。他のアカウントは設定値を使用する必要があります。
チャットモード
MattermostはDMに自動的に応答します。チャネルの動作はchatmodeで制御されます:
- oncall(デフォルト): チャネルで@メンションされた場合にのみ応答。
- onmessage: すべてのチャネルメッセージに応答。
- onchar: メッセージがトリガープレフィックスで始まる場合に応答。
設定例:
{
channels: {
mattermost: {
chatmode: "onchar",
oncharPrefixes: [">", "!"]
}
}
}
注意事項:
- oncharでも明示的な@メンションには応答します。
- channels.mattermost.requireMentionはレガシー設定として尊重されますが、chatmodeが推奨されます。
アクセス制御(DM)
- デフォルト: channels.mattermost.dmPolicy = "pairing"(未知の送信者はペアリングコードを受け取ります)。
- 次の方法で承認:
- openclaw pairing list mattermost
- openclaw pairing approve mattermost <CODE>
- パブリックDM: channels.mattermost.dmPolicy="open" + channels.mattermost.allowFrom=["*"]。
チャネル(グループ)
- デフォルト: channels.mattermost.groupPolicy = "allowlist"(メンション制限)。
- channels.mattermost.groupAllowFromで送信者を許可リストに追加(ユーザーIDまたは@username)。
- オープンチャネル: channels.mattermost.groupPolicy="open"(メンション制限)。
アウトバウンド配信のターゲット
openclaw message sendまたはcron/webhookで次のターゲット形式を使用します:
- channel:<id> チャネル用
- user:<id> DM用
- @username DM用(Mattermost API経由で解決)
ベアIDはチャネルとして扱われます。
マルチアカウント
Mattermostはchannels.mattermost.accountsで複数のアカウントをサポートします:
{
channels: {
mattermost: {
accounts: {
default: { name: "Primary", botToken: "mm-token", baseUrl: "https://chat.example.com" },
alerts: { name: "Alerts", botToken: "mm-token-2", baseUrl: "https://alerts.example.com" }
}
}
}
}
トラブルシューティング
- チャネルで返信がない: ボットがチャネルに参加していることを確認し、メンション(oncall)するか、トリガープレフィックスを使用(onchar)するか、chatmode: "onmessage"を設定してください。
- 認証エラー: ボットトークン、ベースURL、アカウントが有効になっているかを確認してください。
- マルチアカウントの問題: 環境変数はdefaultアカウントにのみ適用されます。