Community translations by veiseule.ai — Help improve them on Crowdin
Skip to main content

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

  1. Zainstaluj wtyczkę Mattermost.
  2. Utwórz konto bota Mattermost i skopiuj token bota.
  3. Skopiuj bazowy URL Mattermost (np. https://chat.example.com).
  4. 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:

  • onchar nadal odpowiada na jawne @wzmianki.
  • channels.mattermost.requireMention jest honorowane dla starszych konfiguracji, ale preferowane jest chatmode.

Kontrola dostępu (DM-y)

  • Domyślnie: channels.mattermost.dmPolicy = "pairing" (nieznani nadawcy otrzymują kod parowania).
  • Zatwierdzanie przez:
  • openclaw pairing list mattermost
  • openclaw pairing approve mattermost <CODE>
  • Publiczne DM-y: channels.mattermost.dmPolicy="open" plus channels.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łu
  • user:<id> dla DM-a
  • @username dla 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.