Nhóm
OpenClaw xử lý chat nhóm một cách nhất quán trên các nền tảng: WhatsApp, Telegram, Discord, Slack, Signal, iMessage, Microsoft Teams.Giới thiệu cho người mới (2 phút)
OpenClaw “hoạt động” trên chính các tài khoản nhắn tin của bạn. Không có người dùng bot WhatsApp riêng biệt. If you are in a group, OpenClaw can see that group and respond there. Hành vi mặc định:- Nhóm bị hạn chế (
groupPolicy: "allowlist"). - Trả lời yêu cầu phải có đề cập trừ khi bạn chủ động tắt kiểm soát đề cập.
TL;DRLuồng nhanh (điều gì xảy ra với một tin nhắn nhóm):
- Quyền truy cập DM được kiểm soát bởi
*.allowFrom.- Quyền truy cập nhóm được kiểm soát bởi
*.groupPolicy+ danh sách cho phép (*.groups,*.groupAllowFrom).- Kích hoạt trả lời được kiểm soát bởi kiểm soát đề cập (
requireMention,/activation).
| Mục tiêu | Cần thiết lập |
|---|---|
| Cho phép mọi nhóm nhưng chỉ trả lời khi @đề cập | groups: { "*": { requireMention: true } } |
| Tắt toàn bộ trả lời trong nhóm | groupPolicy: "disabled" |
| Chỉ các nhóm cụ thể | groups: { "<group-id>": { ... } } (no "*" key) |
| Chỉ bạn mới có thể kích hoạt trong nhóm | groupPolicy: "allowlist", groupAllowFrom: ["+1555..."] |
Khóa phiên
- Phiên nhóm dùng khóa phiên
agent:<agentId>:<channel>:group:<id>(phòng/kênh dùngagent:<agentId>:<channel>:channel:<id>). - Chủ đề diễn đàn Telegram thêm
:topic:<threadId>vào ID nhóm để mỗi chủ đề có phiên riêng. - Chat trực tiếp dùng phiên chính (hoặc theo từng người gửi nếu được cấu hình).
- Heartbeat được bỏ qua cho các phiên nhóm.
Mẫu: DM cá nhân + nhóm công khai (một tác tử)
Có — cách này hoạt động rất tốt nếu lưu lượng “cá nhân” của bạn là DM và lưu lượng “công khai” là nhóm. Vì sao: trong chế độ single-agent, tin nhắn riêng (DM) thường được đưa vào session key main (agent:main:main), trong khi các nhóm luôn sử dụng session key không phải main (agent:main:<channel>:group:<id>). Nếu bạn bật sandbox với mode: "non-main", các session nhóm đó sẽ chạy trong Docker trong khi session DM chính của bạn vẫn chạy trên host.
Điều này cho bạn một “bộ não” tác tử (không gian làm việc + bộ nhớ dùng chung), nhưng hai tư thế thực thi:
- DM: đầy đủ công cụ (host)
- Nhóm: sandbox + công cụ bị hạn chế (Docker)
Nếu bạn cần các workspace/persona thực sự tách biệt (“cá nhân” và “công khai” tuyệt đối không được trộn lẫn), hãy sử dụng agent thứ hai + bindings. Xem Multi-Agent Routing.Ví dụ (DM chạy trên host, nhóm chạy sandbox + chỉ công cụ nhắn tin):
workspaceAccess: "none" và chỉ mount các đường dẫn nằm trong allowlist vào sandbox:
- Khóa cấu hình và mặc định: Cấu hình Gateway
- Gỡ lỗi vì sao một công cụ bị chặn: Sandbox vs Tool Policy vs Elevated
- Chi tiết bind mount: Sandboxing
Nhãn hiển thị
- Nhãn UI dùng
displayNamekhi có, định dạng là<channel>:<token>. #roomđược dành cho phòng/kênh; chat nhóm dùngg-<slug>(chữ thường, khoảng trắng ->-, giữ#@+._-).
Chính sách nhóm
Kiểm soát cách xử lý tin nhắn nhóm/phòng theo từng kênh:| Chính sách | Hành vi |
|---|---|
"open" | Nhóm bỏ qua danh sách cho phép; kiểm soát đề cập vẫn áp dụng. |
"disabled" | Chặn hoàn toàn mọi tin nhắn nhóm. |
"allowlist" | Chỉ cho phép các nhóm/phòng khớp với danh sách cho phép đã cấu hình. |
groupPolicytách biệt với kiểm soát đề cập (yêu cầu @đề cập).- WhatsApp/Telegram/Signal/iMessage/Microsoft Teams: dùng
groupAllowFrom(dự phòng:allowFromtường minh). - Các giá trị mặc định nằm theo từng subsystem dưới
*.groups."*"..channels`. - Slack: danh sách cho phép dùng
channels.slack.channels. - Matrix: allowlist sử dụng
channels.matrix.groups(room ID, alias hoặc tên). Sử dụngchannels.matrix.groupAllowFromđể giới hạn người gửi; allowlistuserstheo từng phòng cũng được hỗ trợ. - DM nhóm được kiểm soát riêng (
channels.discord.dm.*,channels.slack.dm.*). - Danh sách cho phép Telegram có thể khớp ID người dùng (
"123456789","telegram:123456789","tg:123456789") hoặc username ("@alice"hoặc"alice"); tiền tố không phân biệt hoa thường. - Mặc định là
groupPolicy: "allowlist"; nếu danh sách cho phép nhóm trống, tin nhắn nhóm sẽ bị chặn.
groupPolicy(open/disabled/allowlist)- danh sách cho phép nhóm (
*.groups,*.groupAllowFrom, danh sách cho phép theo kênh) - kiểm soát đề cập (
requireMention,/activation)
Kiểm soát đề cập (mặc định)
Group messages require a mention unless overridden per group. Điều này áp dụng cho Telegram, WhatsApp, Slack, Discord và Microsoft Teams. Trả lời một tin nhắn của bot được tính là một lần nhắc ngầm (khi kênh hỗ trợ metadata trả lời). .historyLimit(hoặcchannels.<channel>`
mentionPatternslà các regex không phân biệt hoa thường.- Các nền tảng có đề cập tường minh vẫn được chấp nhận; pattern chỉ là dự phòng.
- Ghi đè theo tác tử:
agents.list[].groupChat.mentionPatterns(hữu ích khi nhiều tác tử chia sẻ một nhóm). - Kiểm soát đề cập chỉ được áp dụng khi có thể phát hiện đề cập (đề cập native hoặc đã cấu hình
mentionPatterns). - Mặc định Discord nằm trong
channels.discord.guilds."*"(có thể ghi đè theo guild/kênh). - Group history context is wrapped uniformly across channels and is pending-only (messages skipped due to mention gating); use
messages.groupChat.historyLimitfor the global default andchannels.<channel>Sử dụng""để cho phép tất cả các nhóm đồng thời vẫn thiết lập hành vi mention mặc định..accounts..historyLimit) để ghi đè. Set0` to disable.
Hạn chế công cụ theo nhóm/kênh (tùy chọn)
Một số cấu hình kênh hỗ trợ hạn chế công cụ nào khả dụng bên trong một nhóm/phòng/kênh cụ thể.tools: cho phép/từ chối công cụ cho toàn bộ nhóm.toolsBySender: ghi đè theo từng người gửi trong nhóm (khóa là ID người gửi/tên người dùng/email/số điện thoại tùy theo kênh). Use"*"as a wildcard.
- khớp
toolsBySendertheo nhóm/kênh toolstheo nhóm/kênh- mặc định (
"*") khớptoolsBySender - mặc định (
"*")tools
- Hạn chế công cụ theo nhóm/kênh được áp dụng bổ sung vào chính sách công cụ toàn cục/tác tử (từ chối vẫn có hiệu lực).
- Một số kênh dùng cách lồng khác cho phòng/kênh (ví dụ: Discord
guilds.*.channels.*, Slackchannels.*, MS Teamsteams.*.channels.*).
Danh sách cho phép nhóm
Khichannels.whatsapp.groups, channels.telegram.groups hoặc channels.imessage.groups được cấu hình, các khóa đóng vai trò như một allowlist nhóm. Nó nhắc mô hình phản hồi như con người, tránh bảng Markdown và tránh gõ các chuỗi \n theo nghĩa đen.
Mục đích thường gặp (copy/paste):
- Tắt toàn bộ trả lời trong nhóm
- Chỉ cho phép các nhóm cụ thể (WhatsApp)
- Cho phép mọi nhóm nhưng yêu cầu đề cập (tường minh)
- Chỉ chủ sở hữu mới có thể kích hoạt trong nhóm (WhatsApp)
Kích hoạt (chỉ chủ sở hữu)
Chủ nhóm có thể bật/tắt kích hoạt theo từng nhóm:/activation mention/activation always
channels.whatsapp.allowFrom (hoặc E.164 của chính bot nếu không được thiết lập). Gửi lệnh dưới dạng một tin nhắn độc lập. Các bề mặt khác hiện tại bỏ qua /activation.
Trường ngữ cảnh
Payload đầu vào của nhóm thiết lập:ChatType=groupGroupSubject(nếu biết)GroupMembers(nếu biết)WasMentioned(kết quả kiểm soát đề cập)- Chủ đề diễn đàn Telegram cũng bao gồm
MessageThreadIdvàIsForum.
channels.telegram.dmHistoryLimit (số lượt của người dùng).
Chi tiết riêng cho iMessage
- Ưu tiên
chat_id:<id>khi định tuyến hoặc cho phép. - Liệt kê chat:
imsg chats --limit 20. - Trả lời nhóm luôn quay lại cùng
chat_id.