Asosiy tarkibga o'tish

Feishu boti

Feishu (Lark) — bu kompaniyalar xabar almashish va hamkorlik uchun foydalanadigan jamoaviy chat platformasi. Ushbu plagin OpenClaw’ni Feishu/Lark botiga platformaning WebSocket hodisalar obunasi orqali ulaydi, shuning uchun ochiq webhook URL’ni oshkor qilmasdan xabarlarni qabul qilish mumkin.

Kerakli plagin

Feishu plaginini o‘rnating:
openclaw plugins install @openclaw/feishu
Lokal checkout (git repozitoriydan ishga tushirilganda):
openclaw plugins install ./extensions/feishu

Tezkor boshlash

Feishu kanalini qo‘shishning ikki usuli mavjud:

1-usul: onboarding ustasi (tavsiya etiladi)

Agar siz OpenClaw’ni endigina o‘rnatgan bo‘lsangiz, ustani ishga tushiring:
openclaw onboard
Usta quyidagilar bo‘yicha yo‘l-yo‘riq beradi:
  1. Feishu ilovasini yaratish va ma’lumotlarni yig‘ish
  2. Ilova ma’lumotlarini OpenClaw’da sozlash
  3. Gateway’ni ishga tushirish
Sozlangandan so‘ng, gateway holatini tekshiring:
  • openclaw gateway status
  • openclaw logs --follow

2-usul: CLI orqali sozlash

Agar dastlabki o‘rnatishni allaqachon tugatgan bo‘lsangiz, kanalni CLI orqali qo‘shing:
openclaw channels add
Feishu ni tanlang, so‘ng App ID va App Secret’ni kiriting. Sozlangandan so‘ng, gateway’ni boshqaring:
  • openclaw gateway status
  • openclaw gateway restart
  • openclaw logs --follow

1-qadam: Feishu ilovasini yaratish

1. Feishu Open Platform’ni oching

Feishu Open Platform sahifasiga o‘ting va tizimga kiring. Lark (global) tenantlar https://open.larksuite.com/app manzilidan foydalanishi va Feishu konfiguratsiyasida domain: "lark" ni o‘rnatishi kerak.

2. Ilova yarating

  1. Create enterprise app tugmasini bosing
  2. Ilova nomi va tavsifini kiriting
  3. Ilova ikonkasini tanlang
Korxona ilovasini yaratish

3. Ma’lumotlarni nusxalash

Credentials & Basic Info bo‘limidan quyidagilarni nusxalang:
  • Ilova ID (format: cli_xxx)
  • Ilova siri
Muhim: App Secret’ni maxfiy saqlang. Ma’lumotlarni olish

4. Ruxsatlarni sozlash

Permissions bo‘limida Batch import ni bosing va quyidagini joylashtiring:
{
  "scopes": {
    "tenant": [
      "aily:file:read",
      "aily:file:write",
      "application:application.app_message_stats.overview:readonly",
      "application:application:self_manage",
      "application:bot.menu:write",
      "contact:user.employee_id:readonly",
      "corehr:file:download",
      "event:ip_list",
      "im:chat.access_event.bot_p2p_chat:read",
      "im:chat.members:bot_access",
      "im:message",
      "im:message.group_at_msg:readonly",
      "im:message.p2p_msg:readonly",
      "im:message:readonly",
      "im:message:send_as_bot",
      "im:resource"
    ],
    "user": ["aily:file:read", "aily:file:write", "im:chat.access_event.bot_p2p_chat:read"]
  }
}
Ruxsatlarni sozlash

5. Bot imkoniyatini yoqish

App Capability > Bot bo‘limida:
  1. Bot imkoniyatini yoqing
  2. Bot nomini belgilang
Bot imkoniyatini yoqish

6. Hodisalar obunasini sozlash

⚠️ Muhim: hodisalar obunasini sozlashdan oldin quyidagilarga ishonch hosil qiling:
  1. Siz allaqachon Feishu uchun openclaw channels add ni ishga tushirgansiz
  2. Gateway ishlamoqda (openclaw gateway status)
Event Subscription bo‘limida:
  1. Use long connection to receive events (WebSocket) ni tanlang
  2. im.message.receive_v1 hodisasini qo‘shing
⚠️ Agar gateway ishlamayotgan bo‘lsa, long-connection sozlamasi saqlanmasligi mumkin. Hodisalar obunasini sozlash

7. Ilovani nashr qilish

  1. Version Management & Release bo‘limida versiya yarating
  2. Ko‘rib chiqish uchun yuboring va nashr qiling
  3. Administrator tasdig‘ini kuting (korxona ilovalari odatda avtomatik tasdiqlanadi)

2-qadam: OpenClaw’ni sozlash

Usta orqali sozlash (tavsiya etiladi)

openclaw channels add
Feishu ni tanlang va App ID hamda App Secret’ni kiriting.

Konfiguratsiya fayli orqali sozlash

~/.openclaw/openclaw.json faylini tahrir qiling:
{
  channels: {
    feishu: {
      enabled: true,
      dmPolicy: "pairing",
      accounts: {
        main: {
          appId: "cli_xxx",
          appSecret: "xxx",
          botName: "My AI assistant",
        },
      },
    },
  },
}

Muhit o‘zgaruvchilari orqali sozlash

export FEISHU_APP_ID="cli_xxx"
export FEISHU_APP_SECRET="xxx"

Lark (global) domeni

Agar tenantingiz Lark (xalqaro) da bo‘lsa, domenni lark (yoki to‘liq domen satri) ga o‘rnating. Buni channels.feishu.domain da yoki har bir akkaunt uchun (channels.feishu.accounts.<id>.domain) belgilashingiz mumkin.
{
  channels: {
    feishu: {
      domain: "lark",
      accounts: {
        main: {
          appId: "cli_xxx",
          appSecret: "xxx",
        },
      },
    },
  },
}

3-qadam: Ishga tushirish va sinov

1. Gateway’ni ishga tushiring

openclaw gateway

2. Sinov xabari yuboring

Feishu’da botingizni toping va xabar yuboring.

3. Pairing’ni tasdiqlang

Standart holatda bot pairing kodi bilan javob beradi. Uni tasdiqlang:
openclaw pairing approve feishu <CODE>
Tasdiqlangandan so‘ng odatdagidek suhbatlashishingiz mumkin.

Umumiy ko‘rinish

  • Feishu bot kanali: gateway tomonidan boshqariladigan Feishu bot
  • Deterministik yo‘naltirish: javoblar har doim Feishu’ga qaytadi
  • Sessiya izolyatsiyasi: DM’lar bitta asosiy sessiyani ulashadi; guruhlar alohida
  • WebSocket ulanishi: Feishu SDK orqali long connection, ochiq URL talab qilinmaydi

Kirishni boshqarish

Shaxsiy xabarlar (DM)

  • Standart: dmPolicy: "pairing" (noma’lum foydalanuvchilar pairing kodi oladi)
  • Pairing’ni tasdiqlash:
    openclaw pairing list feishu
    openclaw pairing approve feishu <CODE>
    
  • Allowlist rejimi: ruxsat etilgan Open ID’larni channels.feishu.allowFrom da belgilang

Guruh chatlari

1. Guruh siyosati (channels.feishu.groupPolicy):
  • "open" = guruhlarda hammaga ruxsat (standart)
  • "allowlist" = faqat groupAllowFrom dagilarga ruxsat
  • "disabled" = guruh xabarlarini o‘chirish
2. Mention talabi (channels.feishu.groups.<chat_id>.requireMention):
  • true = @mention talab qilinadi (standart)
  • false = mentionsiz javob beradi

Guruh sozlamalari misollari

Barcha guruhlarga ruxsat, @mention talab qilinadi (standart)

{
  channels: {
    feishu: {
      groupPolicy: "open",
      // Standart requireMention: true
    },
  },
}

Barcha guruhlarga ruxsat, @mention talab qilinmaydi

{
  channels: {
    feishu: {
      groups: {
        oc_xxx: { requireMention: false },
      },
    },
  },
}

Faqat ma’lum foydalanuvchilarga guruhlarda ruxsat

{
  channels: {
    feishu: {
      groupPolicy: "allowlist",
      groupAllowFrom: ["ou_xxx", "ou_yyy"],
    },
  },
}

Guruh/foydalanuvchi ID’larini olish

Guruh ID’lari (chat_id)

Guruh ID’lari oc_xxx ko‘rinishida bo‘ladi. 1-usul (tavsiya etiladi)
  1. Gateway’ni ishga tushiring va guruhda botni @mention qiling
  2. openclaw logs --follow ni ishga tushiring va chat_id ni toping
2-usul Feishu API debugger’dan foydalanib guruh chatlarini ro‘yxatini oling.

Foydalanuvchi ID’lari (open_id)

Foydalanuvchi ID’lari ou_xxx ko‘rinishida bo‘ladi. 1-usul (tavsiya etiladi)
  1. Gateway’ni ishga tushiring va botga DM yuboring
  2. openclaw logs --follow ni ishga tushiring va open_id ni toping
2-usul Foydalanuvchi Open ID’larini pairing so‘rovlaridan tekshiring:
openclaw pairing list feishu

Keng tarqalgan buyruqlar

CommandTavsif
/statusBot holatini ko‘rsatish
/resetSessiyani tiklash
/modelModelni ko‘rsatish/almashtirish
Eslatma: Feishu hozircha native buyruq menyularini qo‘llab-quvvatlamaydi, shuning uchun buyruqlar matn ko‘rinishida yuborilishi kerak.

Gateway boshqaruv buyruqlari

CommandTavsif
openclaw gateway statusGateway holatini ko‘rsatish
openclaw gateway installGateway xizmatini o‘rnatish/ishga tushirish
openclaw gateway stopGateway xizmatini to‘xtatish
openclaw gateway restartGateway xizmatini qayta ishga tushirish
openclaw logs --followGateway loglarini kuzatish

Muammolarni bartaraf etish

Bot guruh chatlarida javob bermaydi

  1. Bot guruhga qo‘shilganini tekshiring
  2. Botni @mention qilganingizga ishonch hosil qiling (standart xatti-harakat)
  3. groupPolicy "disabled" ga o‘rnatilmaganini tekshiring
  4. Loglarni tekshiring: openclaw logs --follow

Bot xabarlarni qabul qilmaydi

  1. Ilova nashr qilingan va tasdiqlanganini tekshiring
  2. Hodisalar obunasida im.message.receive_v1 mavjudligini tekshiring
  3. Long connection yoqilganini tekshiring
  4. Ilova ruxsatlari to‘liq ekanini tekshiring
  5. Gateway ishlayotganini tekshiring: openclaw gateway status
  6. Loglarni tekshiring: openclaw logs --follow

App Secret oshkor bo‘ldi

  1. Feishu Open Platform’da App Secret’ni yangilang
  2. Konfiguratsiyada App Secret’ni yangilang
  3. Gateway’ni qayta ishga tushiring

Xabar yuborishda xatoliklar

  1. Ilovada im:message:send_as_bot ruxsati borligini tekshiring
  2. Ilova nashr qilinganini tekshiring
  3. Loglarda batafsil xatolarni tekshiring

Kengaytirilgan sozlamalar

Bir nechta akkaunt

{
  channels: {
    feishu: {
      accounts: {
        main: {
          appId: "cli_xxx",
          appSecret: "xxx",
          botName: "Primary bot",
        },
        backup: {
          appId: "cli_yyy",
          appSecret: "yyy",
          botName: "Backup bot",
          enabled: false,
        },
      },
    },
  },
}

Xabar cheklovlari

  • textChunkLimit: chiqish matni bo‘lak hajmi (standart: 2000 belgi)
  • mediaMaxMb: media yuklash/yuklab olish limiti (standart: 30MB)

Streaming

Feishu interaktiv kartalar orqali streaming javoblarni qo‘llab-quvvatlaydi. Yoqilganda, bot matn generatsiya qilinayotganda kartani yangilab boradi.
{
  channels: {
    feishu: {
      streaming: true, // streaming karta chiqishini yoqish (standart true)
      blockStreaming: true, // blok darajasida streaming (standart true)
    },
  },
}
To‘liq javob yuborilishini kutish uchun streaming: false ni o‘rnating.

Ko‘p-agentli yo‘naltirish

Feishu DM yoki guruhlarini turli agentlarga yo‘naltirish uchun bindings dan foydalaning.
{
  agents: {
    list: [
      { id: "main" },
      {
        id: "clawd-fan",
        workspace: "/home/user/clawd-fan",
        agentDir: "/home/user/.openclaw/agents/clawd-fan/agent",
      },
      {
        id: "clawd-xi",
        workspace: "/home/user/clawd-xi",
        agentDir: "/home/user/.openclaw/agents/clawd-xi/agent",
      },
    ],
  },
  bindings: [
    {
      agentId: "main",
      match: {
        channel: "feishu",
        peer: { kind: "direct", id: "ou_xxx" },
      },
    },
    {
      agentId: "clawd-fan",
      match: {
        channel: "feishu",
        peer: { kind: "direct", id: "ou_yyy" },
      },
    },
    {
      agentId: "clawd-xi",
      match: {
        channel: "feishu",
        peer: { kind: "group", id: "oc_zzz" },
      },
    },
  ],
}
Yo‘naltirish maydonlari:
  • match.channel: "feishu"
  • match.peer.kind: "direct" yoki "group"
  • match.peer.id: foydalanuvchi Open ID (ou_xxx) yoki guruh ID (oc_xxx)
ID’larni aniqlash bo‘yicha maslahatlar uchun Guruh/foydalanuvchi ID’larini olish ga qarang.

Konfiguratsiya ma’lumotnomasi

To‘liq konfiguratsiya: Gateway configuration Asosiy sozlamalar:
SettingTavsifDefault
channels.feishu.enabledKanalni yoqish/o‘chirishtrue
channels.feishu.domainAPI domeni (feishu yoki lark)feishu
channels.feishu.accounts.<id>.appIdApp ID-
channels.feishu.accounts.<id>.appSecretApp Secret-
channels.feishu.accounts.<id>.domainHar bir akkaunt uchun API domenifeishu
channels.feishu.dmPolicyDM siyosatipairing
channels.feishu.allowFromDM allowlist (open_id ro‘yxati)-
channels.feishu.groupPolicyGuruh siyosatiopen
channels.feishu.groupAllowFromGuruh allowlist-
channels.feishu.groups.<chat_id>.requireMention@mention talab qilishtrue
channels.feishu.groups.<chat_id>.enabledGuruhni yoqishtrue
channels.feishu.textChunkLimitXabar bo‘lagi hajmi2000
channels.feishu.mediaMaxMbMedia hajmi limiti30
channels.feishu.streamingStreaming karta chiqishini yoqishtrue
channels.feishu.blockStreamingBlokli streaming’ni yoqishtrue

dmPolicy ma’lumotnomasi

ValueXatti-harakat
"pairing"Standart. Noma’lum foydalanuvchilar pairing kodi oladi; tasdiqlash kerak
"allowlist"Faqat allowFrom dagi foydalanuvchilar suhbatlasha oladi
"open"Barcha foydalanuvchilarga ruxsat (allowFrom’da "*" talab qilinadi)
"disabled"DM’larni o‘chirish

Qo‘llab-quvvatlanadigan xabar turlari

Qabul qilish

  • ✅ Matn
  • ✅ Boy matn (post)
  • ✅ Rasmlar
  • ✅ Fayllar
  • ✅ Audio
  • ✅ Video
  • ✅ Stikerlar

Yuborish

  • ✅ Matn
  • ✅ Rasmlar
  • ✅ Fayllar
  • ✅ Audio
  • ⚠️ Boy matn (qisman qo‘llab-quvvatlanadi)