Mattermost (ปลั๊กอิน)¶
สถานะ: รองรับผ่านปลั๊กอิน (โทเคนบอท + เหตุการณ์ WebSocket) รองรับช่อง (channels), กลุ่ม (groups) และ DM สถานะ: รองรับผ่านปลั๊กอิน (โทเคนบอต + อีเวนต์ WebSocket) รองรับช่องทาง กลุ่ม และ DMs Mattermost เป็นแพลตฟอร์มแชทสำหรับทีมที่โฮสต์เองได้ ดูรายละเอียดผลิตภัณฑ์และดาวน์โหลดได้ที่เว็บไซต์ทางการ mattermost.com
ต้องใช้ปลั๊กอิน¶
Mattermost ทำงานในรูปแบบปลั๊กอินและไม่ได้รวมมากับการติดตั้งแกนหลัก
ติดตั้งผ่าน CLI (npm registry):
openclaw plugins install @openclaw/mattermost
เช็คเอาต์ภายในเครื่อง (เมื่อรันจากรีโป git):
openclaw plugins install ./extensions/mattermost
หากคุณเลือก Mattermost ระหว่างการตั้งค่า/ออนบอร์ด และตรวจพบการเช็คเอาต์จาก git 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 หากคุณต้องการใช้ env vars:
MATTERMOST_BOT_TOKEN=...MATTERMOST_URL=https://chat.example.com
Env vars ใช้ได้เฉพาะบัญชี ค่าเริ่มต้น (default) บัญชีอื่นต้องใช้ค่าจากคอนฟิก บัญชีอื่นต้องใช้ค่าคอนฟิก
โหมดแชท¶
Mattermost ตอบ DM โดยอัตโนมัติ Mattermost ตอบกลับ DMs โดยอัตโนมัติ พฤติกรรมในช่องทางควบคุมด้วย chatmode:
oncall(ค่าเริ่มต้น): ตอบเฉพาะเมื่อถูก @mention ในช่องทางonmessage: ตอบทุกข้อความในช่องทางonchar: ตอบเมื่อข้อความเริ่มต้นด้วยคำนำหน้าทริกเกอร์
ตัวอย่างคอนฟิก:
{
channels: {
mattermost: {
chatmode: "onchar",
oncharPrefixes: [">", "!"],
},
},
}
หมายเหตุ:
oncharยังตอบสนองต่อ @mention แบบชัดเจนchannels.mattermost.requireMentionรองรับสำหรับคอนฟิกแบบเดิม แต่แนะนำให้ใช้chatmode
การควบคุมการเข้าถึง (DMs)¶
- ค่าเริ่มต้น:
channels.mattermost.dmPolicy = "pairing"(ผู้ส่งที่ไม่รู้จักจะได้รับโค้ดการจับคู่) - อนุมัติผ่าน:
openclaw pairing list mattermostopenclaw pairing approve mattermost <CODE>- DMs สาธารณะ:
channels.mattermost.dmPolicy="open"พร้อมกับchannels.mattermost.allowFrom=["*"]
ช่องทาง (กลุ่ม)¶
- ค่าเริ่มต้น:
channels.mattermost.groupPolicy = "allowlist"(จำกัดด้วยการกล่าวถึง) - อนุญาตผู้ส่งด้วย
channels.mattermost.groupAllowFrom(user IDs หรือ@username) - ช่องทางเปิด:
channels.mattermost.groupPolicy="open"(จำกัดด้วยการกล่าวถึง)
เป้าหมายสำหรับการส่งออกภายนอก¶
ใช้รูปแบบเป้าหมายเหล่านี้กับ openclaw message send หรือ cron/webhooks:
channel:<id>สำหรับช่องทางuser:<id>สำหรับ DM@usernameสำหรับ DM (แก้ไขผ่าน 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" - ข้อผิดพลาดการยืนยันตัวตน: ตรวจสอบโทเคนบอต base URL และสถานะการเปิดใช้งานของบัญชี
- ปัญหาหลายบัญชี: env vars ใช้ได้เฉพาะบัญชี
default