Guruhlar
OpenClaw guruh chatlarini barcha platformalarda bir xil tarzda boshqaradi: WhatsApp, Telegram, Discord, Slack, Signal, iMessage, Microsoft Teams.Boshlang‘ich kirish (2 daqiqa)
OpenClaw sizning shaxsiy xabar almashish akkauntlaringizda “yashaydi”. Alohida WhatsApp bot foydalanuvchisi mavjud emas. If you are in a group, OpenClaw can see that group and respond there. Standart xatti-harakat:- Guruhlar cheklangan (
groupPolicy: "allowlist"). - Javoblar uchun siz mention gating’ni ataylab o‘chirib qo‘ymaguningizcha, tilga olish (mention) talab qilinadi.
TL;DRQuick flow (what happens to a group message):
- DM access is controlled by
*.allowFrom.- Group access is controlled by
*.groupPolicy+ allowlists (*.groups,*.groupAllowFrom).- Reply triggering is controlled by mention gating (
requireMention,/activation).
| Goal | What to set |
|---|---|
| Allow all groups but only reply on @mentions | groups: { "*": { requireMention: true } } |
| Disable all group replies | groupPolicy: "disabled" |
| Only specific groups | groups: { "<group-id>": { ... 1. } } ("*" kalitisiz) |
| 2. Guruhlarda faqat siz ishga tushira olasiz | 3. groupPolicy: "allowlist", groupAllowFrom: ["+1555..."] |
4. Sessiya kalitlari
-
- Guruh sessiyalari
agent:<agentId>:<channel>:group:<id>sessiya kalitlaridan foydalanadi (xonalar/kanallaragent:<agentId>:<channel>:channel:<id>dan foydalanadi).
- Guruh sessiyalari
-
- Telegram forum mavzulari guruh identifikatoriga
:topic:<threadId>qoʻshadi, shuning uchun har bir mavzu alohida sessiyaga ega boʻladi.
- Telegram forum mavzulari guruh identifikatoriga
-
- Toʻgʻridan-toʻgʻri chatlar asosiy sessiyadan foydalanadi (yoki sozlangan boʻlsa, joʻnatuvchi boʻyicha alohida).
-
- Yurak urishlari (heartbeats) guruh sessiyalari uchun oʻtkazib yuboriladi.
9. Andoza: shaxsiy DMlar + ommaviy guruhlar (bitta agent)
- Ha — agar “shaxsiy” trafikingiz DMlar va “ommaviy” trafikingiz guruhlar boʻlsa, bu juda yaxshi ishlaydi.
-
Sabab: bitta-agent rejimida DMlar odatda asosiy sessiya kalitiga (
agent:main:main) tushadi, guruhlar esa har doim asosiy boʻlmagan sessiya kalitlaridan foydalanadi (agent:main:<channel>:group:<id>). 12. Agarmode: "non-main"bilan sandboxingni yoqsangiz, guruh sessiyalari Docker’da ishlaydi, asosiy DM sessiyangiz esa xostda qoladi. - Bu sizga bitta agent “miyasi”ni (umumiy ish maydoni + xotira), ammo ikki xil bajarilish holatini beradi:
-
- DMlar: toʻliq vositalar (xost)
-
- Guruhlar: sandbox + cheklangan vositalar (Docker)
- Agar haqiqatan ham alohida ish maydonlari/personalar kerak boʻlsa (“shaxsiy” va “ommaviy” hech qachon aralashmasligi kerak), ikkinchi agent + bogʻlashlardan foydalaning. 17. Qarang: Multi-Agent Routing.
- Misol (DMlar xostda, guruhlar sandboxlangan + faqat xabar almashish vositalari):
- “Guruhlar faqat X papkani koʻra olsin” deganini “xostga umuman kirish yoʻq” oʻrniga xohlaysizmi? 21.
workspaceAccess: "none"ni saqlang va faqat ruxsat etilgan yoʻllarni sandboxga ulang:
- Bogʻliq:
-
- Sozlama kalitlari va standartlari: Gateway configuration
-
- Vosita nima uchun bloklanganini sozlash: Sandbox vs Tool Policy vs Elevated
-
- Bind mount tafsilotlari: Sandboxing
27. Koʻrsatish yorliqlari
-
- UI yorliqlari mavjud boʻlsa
displayNamedan foydalanadi,<channel>:<token>formatida.
- UI yorliqlari mavjud boʻlsa
-
#roomxonalar/kanallar uchun band qilingan; guruh chatlarig-<slug>dan foydalanadi (kichik harflar, bo‘shliqlar ->-,#@+._-saqlanadi).
30. Guruh siyosati
- Har bir kanal boʻyicha guruh/xona xabarlari qanday qayta ishlanishini boshqaring:
| 33. Siyosat | 34. Xulq-atvor |
|---|---|
35. "open" | 36. Guruhlar allowlistlarni chetlab oʻtadi; eslatma-cheklash (mention-gating) baribir qoʻllanadi. |
37. "disabled" | 38. Barcha guruh xabarlarini butunlay bloklash. |
39. "allowlist" | 40. Faqat sozlangan allowlistga mos keladigan guruh/xonalarga ruxsat berish. |
- Eslatmalar:
-
groupPolicyeslatma-cheklashdan alohida (u @eslatmalarni talab qiladi).
-
- WhatsApp/Telegram/Signal/iMessage/Microsoft Teams:
groupAllowFromdan foydalaning (zaxira: aniqallowFrom).
- WhatsApp/Telegram/Signal/iMessage/Microsoft Teams:
-
- Discord: allowlist
channels.discord.guilds.<id>dan foydalanadi45..channels.
- Discord: allowlist
-
- Slack: allowlist
channels.slack.channelsdan foydalanadi.
- Slack: allowlist
-
- Matrix: allowlist
channels.matrix.groupsdan foydalanadi (xona IDlari, aliaslar yoki nomlar). 48. Joʻnatuvchilarni cheklash uchunchannels.matrix.groupAllowFromdan foydalaning; xonaga xosusersallowlistlari ham qoʻllab-quvvatlanadi.
- Matrix: allowlist
-
- Guruh DMlari alohida boshqariladi (
channels.discord.dm.*,channels.slack.dm.*).
- Guruh DMlari alohida boshqariladi (
-
- Telegram allowlist foydalanuvchi IDlarini (
"123456789","telegram:123456789","tg:123456789") yoki foydalanuvchi nomlarini ("@alice"yoki"alice") moslashtirishi mumkin; prefikslar katta-kichik harfga sezgir emas.
- Telegram allowlist foydalanuvchi IDlarini (
- Default is
groupPolicy: "allowlist"; if your group allowlist is empty, group messages are blocked.
groupPolicy(open/disabled/allowlist)- guruh allowlistlari (
*.groups,*.groupAllowFrom, kanalga xos allowlist) - mention gating (
requireMention,/activation)
Mention gating (standart)
Guruh xabarlari, agar guruh bo‘yicha alohida o‘zgartirilmagan bo‘lsa, mention talab qiladi. Standartlar har bir subsistema uchun*.groups."*" ostida joylashgan.
Bot xabariga javob berish (kanal javob metamaʼlumotlarini qo‘llab-quvvatlasa) implicit mention hisoblanadi. Bu Telegram, WhatsApp, Slack, Discord va Microsoft Teams uchun amal qiladi.
mentionPatternskatta-kichik harfga sezgir bo‘lmagan regexlardir.- Aniq mentionlarni taqdim etadigan interfeyslar baribir o‘tkaziladi; patternlar zaxira sifatida ishlatiladi.
- Agent bo‘yicha override:
agents.list[].groupChat.mentionPatterns(bir nechta agentlar bitta guruhni bo‘lishganda foydali). - Mention gating is only enforced when mention detection is possible (native mentions or
mentionPatternsare configured). - Discord standartlari
channels.discord.guilds."*"da joylashgan (guild/kanal bo‘yicha o‘zgartirilishi mumkin). - Guruh tarix konteksti barcha kanallarda bir xil tarzda o‘raladi va faqat pending (mention gating sababli o‘tkazib yuborilgan xabarlar); global standart uchun
messages.groupChat.historyLimitdan foydalaning va override uchunchannels.<channel>.historyLimit(yokichannels.<channel>.accounts.*.historyLimit) dan foydalaning. O‘chirish uchun0ni o‘rnating.
Guruh/kanal asbob cheklovlari (ixtiyoriy)
Baʼzi kanal sozlamalari muayyan guruh/xona/kanal ichida qaysi asboblar mavjudligini cheklashni qo‘llab-quvvatlaydi.tools: butun guruh uchun asboblarni allow/deny qilish.toolsBySender: guruh ichida jo‘natuvchi bo‘yicha override (kalitlar kanalga qarab jo‘natuvchi IDlari/foydalanuvchi nomlari/email/telefon raqamlari bo‘lishi mumkin). Wildcard sifatida"*"dan foydalaning.
- guruh/kanal
toolsBySendermos kelishi - guruh/kanal
tools - standart (
"*")toolsBySendermos kelishi - standart (
"*")tools
- Guruh/kanal asbob cheklovlari global/agent asbob siyosatiga qo‘shimcha ravishda qo‘llanadi (deny baribir ustun).
- Baʼzi kanallar xonalar/kanallar uchun boshqa ichki tuzilmani ishlatadi (masalan, Discord
guilds.*.channels.*, Slackchannels.*, MS Teamsteams.*.channels.*).
Guruh allowlistlari
channels.whatsapp.groups, channels.telegram.groups yoki channels.imessage.groups sozlanganda, kalitlar guruh allowlisti sifatida ishlaydi. Barcha guruhlarga ruxsat berib, shu bilan birga standart mention xatti-harakatini sozlash uchun "*" dan foydalaning.
Keng tarqalgan intentlar (copy/paste):
- Barcha guruh javoblarini o‘chirish
- Faqat muayyan guruhlarga ruxsat berish (WhatsApp)
- Barcha guruhlarga ruxsat berish, lekin mention talab qilish (aniq)
- Guruhlarda faqat egasi trigger qila oladi (WhatsApp)
Faollashtirish (faqat egasi)
Guruh egalari har bir guruh bo‘yicha faollashtirishni yoqib/o‘chirishi mumkin:/activation mention/activation always
channels.whatsapp.allowFrom orqali aniqlanadi (yoki sozlanmagan bo‘lsa, botning o‘z E.164 raqami). Buyruqni alohida xabar sifatida yuboring. Hozirda boshqa interfeyslar /activation ni e’tiborsiz qoldiradi.
Kontekst maydonlari
Guruhdan keluvchi payloadlar quyidagilarni o‘rnatadi:ChatType=groupGroupSubject(agar ma’lum bo‘lsa)GroupMembers(agar ma’lum bo‘lsa)WasMentioned(mention gating natijasi)- Telegram forum mavzulari, shuningdek,
MessageThreadIdvaIsForumni ham o‘z ichiga oladi.
\n ketma-ketliklarini yozmaslikni eslatadi.
iMessage ga xos jihatlar
- Yo‘naltirish yoki ruxsat ro‘yxatiga olishda
chat_id:<id>ni afzal ko‘ring. - Chatlarni ro‘yxatlash:
imsg chats --limit 20. - Guruh javoblari har doim bir xil
chat_idga qaytadi.