Mattermost (plugin)
Trạng thái: được hỗ trợ qua plugin (bot token + WebSocket events). Hỗ trợ Channel, nhóm và DM. Mattermost là nền tảng nhắn tin nhóm có thể tự host; xem thông tin chi tiết và tải về tại mattermost.com.
Cần cài Plugin
Mattermost được cung cấp dưới dạng plugin và không đi kèm với bản cài đặt core.
Cài đặt qua CLI (npm registry):
openclaw plugins install @openclaw/mattermost
Cài từ local (khi chạy từ git repo):
openclaw plugins install ./extensions/mattermost
Nếu các bạn chọn Mattermost trong quá trình configure/onboarding và phát hiện có git checkout, OpenClaw sẽ tự động đề xuất đường dẫn cài đặt local.
Chi tiết: Plugins
Cài đặt nhanh
- Cài đặt Mattermost plugin.
- Tạo tài khoản bot Mattermost và copy bot token.
- Copy base URL của Mattermost (ví dụ:
https://chat.example.com). - Cấu hình OpenClaw và khởi động Gateway.
Cấu hình tối thiểu:
{
channels: {
mattermost: {
enabled: true,
botToken: "mm-token",
baseUrl: "https://chat.example.com",
dmPolicy: "pairing",
},
},
}
Biến môi trường (tài khoản mặc định)
Các bạn có thể set các biến này trên Gateway host nếu thích dùng env vars:
MATTERMOST_BOT_TOKEN=...MATTERMOST_URL=https://chat.example.com
Env vars chỉ áp dụng cho tài khoản mặc định (default). Các tài khoản khác phải dùng giá trị trong config.
Chế độ chat
Mattermost tự động phản hồi DM. Hành vi trong Channel được điều khiển bởi chatmode:
oncall(mặc định): chỉ phản hồi khi được @mention trong Channel.onmessage: phản hồi mọi tin nhắn trong Channel.onchar: phản hồi khi tin nhắn bắt đầu bằng ký tự trigger.
Ví dụ cấu hình:
{
channels: {
mattermost: {
chatmode: "onchar",
oncharPrefixes: [">", "!"],
},
},
}
Lưu ý:
oncharvẫn phản hồi khi được @mention trực tiếp.channels.mattermost.requireMentionvẫn được hỗ trợ cho các config cũ nhưng nên dùngchatmode.
Kiểm soát truy cập (DM)
- Mặc định:
channels.mattermost.dmPolicy = "pairing"(người gửi lạ sẽ nhận mã pairing). - Phê duyệt qua:
openclaw pairing list mattermostopenclaw pairing approve mattermost <CODE>
- DM công khai:
channels.mattermost.dmPolicy="open"cộng vớichannels.mattermost.allowFrom=["*"].
Channel (nhóm)
- Mặc định:
channels.mattermost.groupPolicy = "allowlist"(cần mention mới hoạt động). - Cho phép người gửi cụ thể với
channels.mattermost.groupAllowFrom(user ID hoặc@username). - Channel mở:
channels.mattermost.groupPolicy="open"(vẫn cần mention).
Target cho gửi tin đi
Dùng các định dạng target này với openclaw message send hoặc cron/webhooks:
channel:<id>cho một Channeluser:<id>cho DM@usernamecho DM (được resolve qua Mattermost API)
ID đơn thuần sẽ được coi là Channel.
Đa tài khoản
Mattermost hỗ trợ nhiều tài khoản trong 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
- Không có phản hồi trong Channel: đảm bảo bot đã ở trong Channel và mention nó (oncall), dùng trigger prefix (onchar), hoặc set
chatmode: "onmessage". - Lỗi xác thực: kiểm tra bot token, base URL và xem tài khoản đã được bật chưa.
- Vấn đề đa tài khoản: env vars chỉ áp dụng cho tài khoản
default.