Nhóm
OpenClaw xử lý các cuộc trò chuyện nhóm nhất quán trên các nền tảng: WhatsApp, Telegram, Discord, Slack, Signal, iMessage, Microsoft Teams, Zalo.Giới thiệu cho người mới (2 phút)
OpenClaw hoạt động trên tài khoản nhắn tin của bạn. Không có người dùng bot WhatsApp riêng biệt. Nếu bạn có trong một nhóm, OpenClaw có thể thấy và phản hồi trong nhóm đó. Hành vi mặc định:- Nhóm bị giới hạn (
groupPolicy: "allowlist"). - Phản hồi yêu cầu nhắc đến trừ khi bạn tắt tính năng này.
Tóm tắtLuồng nhanh (điều gì xảy ra với tin nhắn nhóm):
- Truy cập DM được kiểm soát bởi
*.allowFrom.- 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 phản hồi được kiểm soát bởi nhắc đến (
requireMention,/activation).
| Mục tiêu | Cài đặt gì |
|---|---|
| Cho phép tất cả nhóm nhưng chỉ phản hồi khi được nhắc đến | groups: { "*": { requireMention: true } } |
| Tắt tất cả phản hồi nhóm | groupPolicy: "disabled" |
| Chỉ cho phép nhóm cụ thể | groups: { "<group-id>": { ... } } (không có khóa "*" ) |
| Chỉ bạn có thể kích hoạt trong nhóm | groupPolicy: "allowlist", groupAllowFrom: ["+1555..."] |
Khóa phiên
- Phiên nhóm sử dụng khóa phiên
agent:<agentId>:<channel>:group:<id>(phòng/kênh sử 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. - Trò chuyện trực tiếp sử dụng phiên chính (hoặc theo người gửi nếu được cấu hình).
- Bỏ qua nhịp tim cho phiên nhóm.
Mẫu: DMs cá nhân + nhóm công khai (một agent)
Có — điều này hoạt động tốt nếu lưu lượng “cá nhân” của bạn là DMs và lưu lượng “công khai” là nhóm. Lý do: trong chế độ một agent, DMs thường nằm trong khóa phiên chính (agent:main:main), trong khi nhóm luôn sử dụng khóa phiên không chính (agent:main:<channel>:group:<id>). Nếu bạn bật sandboxing với mode: "non-main", các phiên nhóm đó chạy trong Docker trong khi phiên DM chính của bạn vẫn ở trên máy chủ.
Điều này mang lại cho bạn một “bộ não” agent (không gian làm việc + bộ nhớ chia sẻ), nhưng hai tư thế thực thi:
- DMs: công cụ đầy đủ (trên máy chủ)
- Nhóm: sandbox + công cụ hạn chế (Docker)
Nếu bạn cần không gian làm việc/nhân vật hoàn toàn riêng biệt (“cá nhân” và “công khai” không bao giờ được trộn lẫn), hãy sử dụng agent thứ hai + ràng buộc. Xem Định tuyến Multi-Agent.Ví dụ (DMs trên máy chủ, nhóm trong sandbox + chỉ công cụ nhắn tin):
workspaceAccess: "none" và chỉ gắn các đường dẫn trong danh sách cho phép vào sandbox:
- Khóa cấu hình và mặc định: Cấu hình Gateway
- Gỡ lỗi tại sao một công cụ bị chặn: Sandbox vs Chính sách Công cụ vs Nâng cao
- Chi tiết gắn kết: Sandboxing
Nhãn hiển thị
- Nhãn UI sử dụng
displayNamekhi có, định dạng là<channel>:<token>. #roomdành riêng cho phòng/kênh; trò chuyện nhóm sử 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 kênh:| Chính sách | Hành vi |
|---|---|
"open" | Nhóm bỏ qua danh sách cho phép; nhắc đến vẫn áp dụng. |
"disabled" | Chặn hoàn toàn tất cả tin nhắn nhóm. |
"allowlist" | Chỉ cho phép nhóm/phòng khớp với danh sách cho phép đã cấu hình. |
groupPolicytách biệt với nhắc đến (yêu cầu @mentions).- WhatsApp/Telegram/Signal/iMessage/Microsoft Teams/Zalo: sử dụng
groupAllowFrom(dự phòng:allowFromrõ ràng). - Phê duyệt ghép đôi DM (
*-allowFromlưu trữ mục) chỉ áp dụng cho truy cập DM; ủy quyền người gửi nhóm vẫn rõ ràng cho danh sách cho phép nhóm. - Discord: danh sách cho phép sử dụng
channels.discord.guilds.<id>.channels. - Slack: danh sách cho phép sử dụng
channels.slack.channels. - Matrix: danh sách cho phép sử dụng
channels.matrix.groups(id phòng, bí danh hoặc tên). Sử dụngchannels.matrix.groupAllowFromđể hạn chế người gửi; danh sách cho phépuserstheo 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 với id người dùng (
"123456789","telegram:123456789","tg:123456789") hoặc tên người dùng ("@alice"hoặc"alice"); tiền tố không phân biệt chữ hoa chữ thường. - Mặc định là
groupPolicy: "allowlist"; nếu danh sách cho phép nhóm của bạn trống, tin nhắn nhóm bị chặn. - An toàn khi chạy: khi một khối nhà cung cấp hoàn toàn thiếu (
channels.<provider>không có), chính sách nhóm sẽ quay lại chế độ đóng thất bại (thường làallowlist) thay vì kế thừachannels.defaults.groupPolicy.
groupPolicy(open/disabled/allowlist)- danh sách cho phép nhóm (
*.groups,*.groupAllowFrom, danh sách cho phép cụ thể theo kênh) - nhắc đến (
requireMention,/activation)
Nhắc đến (mặc định)
Tin nhắn nhóm yêu cầu nhắc đến trừ khi bị ghi đè theo nhóm. Mặc định sống theo từng hệ thống con dưới*.groups."*".
Phản hồi tin nhắn bot được tính là nhắc đến ngầm (khi kênh hỗ trợ siêu dữ liệu phản hồi). Điều này áp dụng cho Telegram, WhatsApp, Slack, Discord và Microsoft Teams.
mentionPatternslà các mẫu regex an toàn không phân biệt chữ hoa chữ thường; các mẫu không hợp lệ và các dạng lặp lồng không an toàn bị bỏ qua.- Các bề mặt cung cấp nhắc đến rõ ràng vẫn được thông qua; các mẫu là dự phòng.
- Ghi đè theo agent:
agents.list[].groupChat.mentionPatterns(hữu ích khi nhiều agent chia sẻ một nhóm). - Nhắc đến chỉ được thực thi khi phát hiện nhắc đến có thể (nhắc đến gốc hoặc
mentionPatternsđược cấu hình). - Mặc định Discord sống trong
channels.discord.guilds."*"(có thể ghi đè theo guild/kênh). - Ngữ cảnh lịch sử nhóm được bao bọc đồng nhất trên các kênh và chỉ đang chờ (tin nhắn bị bỏ qua do nhắc đến); sử dụng
messages.groupChat.historyLimitcho mặc định toàn cầu vàchannels.<channel>.historyLimit(hoặcchannels.<channel>.accounts.*.historyLimit) cho ghi đè. Đặt0để tắt.
Hạn chế công cụ 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 có sẵn trong một nhóm/phòng/kênh cụ thể.tools: cho phép/chặn công cụ cho toàn bộ nhóm.toolsBySender: ghi đè theo người gửi trong nhóm. Sử dụng tiền tố khóa rõ ràng:id:<senderId>,e164:<phone>,username:<handle>,name:<displayName>, và ký tự đại diện"*". Các khóa không có tiền tố cũ vẫn được chấp nhận và khớp nhưid:chỉ.
- khớp
toolsBySendernhóm/kênh toolsnhóm/kênh- khớp
toolsBySendermặc định ("*") toolsmặc định ("*")
- Hạn chế công cụ nhóm/kênh được áp dụng ngoài chính sách công cụ toàn cầu/agent (deny vẫn thắng).
- Một số kênh sử dụng cấu trúc lồng khác cho phòng/kênh (ví dụ: Discord
guilds.*.channels.*, Slackchannels.*, Microsoft 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 hoạt động như danh sách cho phép nhóm. Sử dụng "*" để cho phép tất cả nhóm trong khi vẫn thiết lập hành vi nhắc đến mặc định.
Ý định phổ biến (sao chép/dán):
- Tắt tất cả phản hồi nhóm
- Chỉ cho phép nhóm cụ thể (WhatsApp)
- Cho phép tất cả nhóm nhưng yêu cầu nhắc đến (rõ ràng)
- Chỉ chủ sở hữu có thể kích hoạt trong nhóm (WhatsApp)
Kích hoạt (chỉ chủ sở hữu)
Chủ sở hữu nhóm có thể bật/tắt kích hoạt theo nhóm:/activation mention/activation always
channels.whatsapp.allowFrom (hoặc E.164 của bot khi không được đặt). Gửi lệnh dưới dạng tin nhắn độc lập. Các bề mặt khác hiện không hỗ trợ /activation.
Trường ngữ cảnh
Payload đầu vào nhóm thiết lập:ChatType=groupGroupSubject(nếu biết)GroupMembers(nếu biết)WasMentioned(kết quả nhắc đến)- Chủ đề diễn đàn Telegram cũng bao gồm
MessageThreadIdvàIsForum.
\n theo nghĩa đen.
Cụ thể iMessage
- Ưu tiên
chat_id:<id>khi định tuyến hoặc danh sách cho phép. - Liệt kê trò chuyện:
imsg chats --limit 20. - Phản hồi nhóm luôn quay lại cùng
chat_id.