Mattermost (плагин)
Статус: поддерживается через плагин (токен бота + события WebSocket). Каналы, группы и личные сообщения поддерживаются. Mattermost — это самостоятельно размещаемая платформа командных сообщений; см. официальный сайт на mattermost.com для получения информации о продукте и загрузках.
Требуется плагин
Mattermost поставляется как плагин и не входит в основную установку.
Установка через CLI (реестр npm):
openclaw plugins install @openclaw/mattermost
Локальная версия (при запуске из git-репозитория):
openclaw plugins install ./extensions/mattermost
Если вы выбираете Mattermost во время настройки/онбординга и обнаружен git-репозиторий, OpenClaw автоматически предложит локальный путь установки.
Подробности: Плагины
Быстрая настройка
- Установите плагин Mattermost.
- Создайте учетную запись бота Mattermost и скопируйте токен бота.
- Скопируйте базовый URL Mattermost (например, https://chat.example.com).
- Настройте OpenClaw и запустите шлюз.
Минимальная конфигурация:
{
channels: {
mattermost: {
enabled: true,
botToken: "mm-token",
baseUrl: "https://chat.example.com",
dmPolicy: "pairing"
}
}
}
Переменные окружения (учетная запись по умолчанию)
Установите их на хосте шлюза, если предпочитаете переменные окружения:
- 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 mattermost
- openclaw 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/webhooks:
- channel:<id> для канала
- user:<id> для личного сообщения
- @username для личного сообщения (разрешается через 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.