Mattermost (wtyczka)¶
Status: obsługiwany przez wtyczkę (token bota + zdarzenia WebSocket). Obsługiwane są kanały, grupy i DM-y. Mattermost to samodzielnie hostowana platforma komunikacji zespołowej; szczegóły produktu i pliki do pobrania znajdują się na oficjalnej stronie mattermost.com.
Wymagana wtyczka¶
Mattermost jest dostarczany jako wtyczka i nie jest dołączony do instalacji rdzenia.
Instalacja przez CLI (rejestr npm):
openclaw plugins install @openclaw/mattermost
Lokalna kopia robocza (gdy uruchamiane z repozytorium git):
openclaw plugins install ./extensions/mattermost
Jeśli podczas konfiguracji/onboardingu wybierzesz Mattermost i zostanie wykryta kopia git, OpenClaw automatycznie zaproponuje lokalną ścieżkę instalacji.
Szczegóły: Plugins
Szybka konfiguracja¶
- Zainstaluj wtyczkę Mattermost.
- Utwórz konto bota Mattermost i skopiuj token bota.
- Skopiuj bazowy URL Mattermost (np.
https://chat.example.com). - Skonfiguruj OpenClaw i uruchom gateway.
Minimalna konfiguracja:
{
channels: {
mattermost: {
enabled: true,
botToken: "mm-token",
baseUrl: "https://chat.example.com",
dmPolicy: "pairing",
},
},
}
Zmienne środowiskowe (konto domyślne)¶
Ustaw je na hoście gateway, jeśli wolisz zmienne środowiskowe:
MATTERMOST_BOT_TOKEN=...MATTERMOST_URL=https://chat.example.com
Zmienne środowiskowe mają zastosowanie wyłącznie do konta domyślnego (default). Inne konta muszą używać wartości z konfiguracji.
Tryby czatu¶
Mattermost odpowiada na DM-y automatycznie. Zachowanie w kanałach jest kontrolowane przez chatmode:
oncall(domyślnie): odpowiada tylko po @wzmiance w kanałach.onmessage: odpowiada na każdą wiadomość w kanale.onchar: odpowiada, gdy wiadomość zaczyna się od prefiksu wyzwalacza.
Przykład konfiguracji:
{
channels: {
mattermost: {
chatmode: "onchar",
oncharPrefixes: [">", "!"],
},
},
}
Uwagi:
oncharnadal odpowiada na jawne @wzmianki.channels.mattermost.requireMentionjest honorowane dla starszych konfiguracji, ale preferowane jestchatmode.
Kontrola dostępu (DM-y)¶
- Domyślnie:
channels.mattermost.dmPolicy = "pairing"(nieznani nadawcy otrzymują kod parowania). - Zatwierdzanie przez:
openclaw pairing list mattermostopenclaw pairing approve mattermost <CODE>- Publiczne DM-y:
channels.mattermost.dmPolicy="open"pluschannels.mattermost.allowFrom=["*"].
Kanały (grupy)¶
- Domyślnie:
channels.mattermost.groupPolicy = "allowlist"(wymagana wzmianka). - Lista dozwolonych nadawców przez
channels.mattermost.groupAllowFrom(ID użytkowników lub@username). - Otwarte kanały:
channels.mattermost.groupPolicy="open"(wymagana wzmianka).
Cele dostarczania wychodzącego¶
Użyj tych formatów celów z openclaw message send lub cron/webhookami:
channel:<id>dla kanałuuser:<id>dla DM-a@usernamedla DM-a (rozwiązywane przez API Mattermost)
Same identyfikatory są traktowane jako kanały.
Wiele kont¶
Mattermost obsługuje wiele kont w ramach 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" },
},
},
},
}
Rozwiązywanie problemów¶
- Brak odpowiedzi w kanałach: upewnij się, że bot jest w kanale i wspomnij go (oncall), użyj prefiksu wyzwalacza (onchar) lub ustaw
chatmode: "onmessage". - Błędy uwierzytelniania: sprawdź token bota, bazowy URL oraz czy konto jest włączone.
- Problemy z wieloma kontami: zmienne środowiskowe mają zastosowanie tylko do konta
default.