Mattermost (Plugin)
Status: Unterstützt via Plugin (Bot-Token + WebSocket-Events). Channels, Gruppen und DMs werden unterstützt. Mattermost ist eine selbst-hostbare Team-Messaging-Plattform. Details und Downloads findest du auf der offiziellen Website unter mattermost.com.
Plugin erforderlich
Mattermost wird als Plugin ausgeliefert und ist nicht in der Kerninstallation enthalten.
Installation via CLI (npm Registry):
openclaw plugins install @openclaw/mattermost
Lokaler Checkout (wenn du aus einem Git-Repo arbeitest):
openclaw plugins install ./extensions/mattermost
Wenn du Mattermost während der Konfiguration/Onboarding auswählst und ein Git-Checkout erkannt wird, bietet OpenClaw automatisch den lokalen Installationspfad an.
Details: Plugins
Schnellstart
- Installiere das Mattermost-Plugin.
- Erstelle einen Mattermost-Bot-Account und kopiere das Bot-Token.
- Kopiere die Mattermost Base-URL (z. B.
https://chat.example.com). - Konfiguriere OpenClaw und starte das Gateway.
Minimale Konfiguration:
{
channels: {
mattermost: {
enabled: true,
botToken: "mm-token",
baseUrl: "https://chat.example.com",
dmPolicy: "pairing",
},
},
}
Umgebungsvariablen (Standard-Account)
Setze diese auf dem Gateway-Host, wenn du Umgebungsvariablen bevorzugst:
MATTERMOST_BOT_TOKEN=...MATTERMOST_URL=https://chat.example.com
Umgebungsvariablen gelten nur für den Standard-Account (default). Andere Accounts müssen über Config-Werte konfiguriert werden.
Chat-Modi
Mattermost antwortet automatisch auf DMs. Das Verhalten in Channels wird über chatmode gesteuert:
oncall(Standard): Antwortet nur, wenn der Bot in Channels @erwähnt wird.onmessage: Antwortet auf jede Channel-Nachricht.onchar: Antwortet, wenn eine Nachricht mit einem Trigger-Präfix beginnt.
Config-Beispiel:
{
channels: {
mattermost: {
chatmode: "onchar",
oncharPrefixes: [">", "!"],
},
},
}
Hinweise:
oncharantwortet trotzdem auf explizite @Erwähnungen.channels.mattermost.requireMentionwird für Legacy-Configs unterstützt, aberchatmodeist die bevorzugte Option.
Zugriffskontrolle (DMs)
- Standard:
channels.mattermost.dmPolicy = "pairing"(unbekannte Absender erhalten einen Pairing-Code). - Freigabe via:
openclaw pairing list mattermostopenclaw pairing approve mattermost <CODE>
- Öffentliche DMs:
channels.mattermost.dmPolicy="open"pluschannels.mattermost.allowFrom=["*"].
Channels (Gruppen)
- Standard:
channels.mattermost.groupPolicy = "allowlist"(Erwähnung erforderlich). - Absender zur Allowlist hinzufügen mit
channels.mattermost.groupAllowFrom(User-IDs oder@username). - Offene Channels:
channels.mattermost.groupPolicy="open"(Erwähnung erforderlich).
Ziele für ausgehende Nachrichten
Verwende diese Zielformate mit openclaw message send oder Cron/Webhooks:
channel:<id>für einen Channeluser:<id>für eine DM@usernamefür eine DM (wird über die Mattermost-API aufgelöst)
Reine IDs werden als Channels behandelt.
Multi-Account
Mattermost unterstützt mehrere Accounts unter 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" },
},
},
},
}
Troubleshooting
- Keine Antworten in Channels: Stelle sicher, dass der Bot im Channel ist und erwähne ihn (oncall), verwende ein Trigger-Präfix (onchar), oder setze
chatmode: "onmessage". - Auth-Fehler: Prüfe das Bot-Token, die Base-URL und ob der Account aktiviert ist.
- Multi-Account-Probleme: Umgebungsvariablen gelten nur für den
default-Account.