Mattermost (плагин)¶
Статус: поддерживается через плагин (токен бота + события WebSocket). Поддерживаются каналы, группы и личные сообщения. Mattermost — это самохостируемая платформа командных сообщений; сведения о продукте и загрузках см. на официальном сайте mattermost.com.
Требуется плагин¶
Mattermost поставляется как плагин и не входит в состав основной установки.
Установка через CLI (реестр npm):
openclaw plugins install @openclaw/mattermost
Локальный checkout (при запуске из git-репозитория):
openclaw plugins install ./extensions/mattermost
Если во время конфигурации/онбординга выбрать Mattermost и будет обнаружен git checkout, OpenClaw автоматически предложит путь локальной установки.
Подробности: Plugins
Быстрая настройка¶
- Установите плагин Mattermost.
- Создайте учётную запись бота Mattermost и скопируйте токен бота.
- Скопируйте base URL Mattermost (например,
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 автоматически отвечает в личных сообщениях. Поведение в каналах управляется параметром chatmode:
oncall(по умолчанию): отвечать только при @упоминании в каналах.onmessage: отвечать на каждое сообщение в канале.onchar: отвечать, когда сообщение начинается с триггерного префикса.
Пример конфига:
{
channels: {
mattermost: {
chatmode: "onchar",
oncharPrefixes: [">", "!"],
},
},
}
Примечания:
oncharпо‑прежнему отвечает на явные @упоминания.channels.mattermost.requireMentionучитывается для устаревших конфигов, но предпочтительно использоватьchatmode.
Контроль доступа (личные сообщения)¶
- По умолчанию:
channels.mattermost.dmPolicy = "pairing"(неизвестные отправители получают код сопряжения). - Подтверждение через:
openclaw pairing list mattermostopenclaw pairing approve mattermost <CODE>- Публичные личные сообщения:
channels.mattermost.dmPolicy="open"плюсchannels.mattermost.allowFrom=["*"].
Каналы (группы)¶
- По умолчанию:
channels.mattermost.groupPolicy = "allowlist"(требуется упоминание). - Разрешённые отправители через список разрешённых
channels.mattermost.groupAllowFrom(ID пользователей или@username). - Открытые каналы:
channels.mattermost.groupPolicy="open"(требуется упоминание).
Цели для исходящей доставки¶
Используйте эти форматы целей с openclaw message send или cron/вебхуками:
channel:<id>для каналаuser:<id>для личного сообщения@usernameдля личного сообщения (разрешается через API Mattermost)
Голые 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". - Ошибки аутентификации: проверьте токен бота, base URL и включена ли учётная запись.
- Проблемы с несколькими учётными записями: переменные окружения применяются только к учётной записи
default.