Skip to main content

Tugunlar

  1. Tugun — bu Gateway WebSocket’iga (operatorlar bilan bir xil port) role: "node" bilan ulanadigan va node.invoke orqali buyruqlar sirtini (masalan, canvas.*, camera.*, system.*) taqdim etadigan hamroh qurilma (macOS/iOS/Android/headless). 7. Protokol tafsilotlari: Gateway protocol.
Eski transport: Bridge protocol (TCP JSONL; joriy tugunlar uchun eskirgan/olib tashlangan). macOS shuningdek tugun rejimida ham ishlashi mumkin: menubar ilovasi Gateway’ning WS serveriga ulanadi va o‘zining mahalliy canvas/camera buyruqlarini tugun sifatida taqdim etadi (shunda openclaw nodes … ushbu Mac’ga nisbatan ishlaydi). Notes:
    1. Tugunlar — periferiyalar, shlyuzlar emas. 12. Ular gateway xizmatini ishga tushirmaydi.
    1. Telegram/WhatsApp va boshqalar xabarlari tugunlarga emas, gateway’ga keladi.
    1. Nosozliklarni bartaraf etish qo‘llanmasi: /nodes/troubleshooting

Juftlash + holat

WS nodes use device pairing. Nodes present a device identity during connect; the Gateway creates a device pairing request for role: node. 17. Qurilmalar CLI (yoki UI) orqali tasdiqlang.
  1. Tezkor CLI:
Notes:
    1. nodes status tugunni juftlangan deb belgilaydi, agar uning qurilma juftlash roli nodeni o‘z ichiga olsa.
    1. node.pair.* (CLI: openclaw nodes pending/approve/reject) — gatewayga tegishli alohida tugun juftlash ombori; u WS connect qo‘l siqish jarayonini to‘sib qo‘ymaydi.

23. Masofaviy tugun xosti (system.run)

  1. Gateway bir mashinada ishlayotgan bo‘lsa va buyruqlarni boshqa mashinada bajarishni istasangiz, tugun xostidan foydalaning. 25. Model baribir gateway bilan muloqot qiladi; host=node tanlanganda gateway exec chaqiruvlarini tugun xostiga yo‘naltiradi.

26. Qayerda nima ishlaydi

    1. Gateway xosti: xabarlarni qabul qiladi, modelni ishga tushiradi, asbob chaqiruvlarini marshrutlaydi.
    1. Tugun xosti: tugun mashinasida system.run/system.which ni bajaradi.
    1. Tasdiqlar: tugun xostida ~/.openclaw/exec-approvals.json orqali majburlanadi.

30. Tugun xostini ishga tushirish (oldingi rejim)

  1. Tugun mashinasida:

33. SSH tunneli orqali masofaviy gateway (loopback bind)

  1. Agar Gateway loopback’ga bog‘lansa (gateway.bind=loopback, lokal rejimda sukut bo‘yicha), masofaviy tugun xostlari to‘g‘ridan-to‘g‘ri ulana olmaydi. 35. SSH tunnel yarating va tugun xostini tunnelning lokal uchiga yo‘naltiring.
  2. Misol (tugun xosti -> gateway xosti):
Notes:
    1. Token — gateway konfiguratsiyasidagi gateway.auth.token (~/.openclaw/openclaw.json gateway xostida).
    1. openclaw node run autentifikatsiya uchun OPENCLAW_GATEWAY_TOKENni o‘qiydi.

41. Tugun xostini ishga tushirish (xizmat)

43. Juftlash + nomlash

  1. Gateway xostida:
  1. Nomlash variantlari:
    1. openclaw node run / openclaw node install dagi --display-name (tugunda ~/.openclaw/node.json ichida saqlanadi).
    1. openclaw nodes rename --node <id|name|ip> --name "Build Node" (gateway darajasida bekor qilish/ustuvor nom).

49. Buyruqlarni ruxsatlar ro‘yxatiga qo‘shish

  1. Exec tasdiqlari har bir tugun xosti uchun alohida. 1. Shlyuzdan allowlist yozuvlarini qo‘shing:
  1. Tasdiqlar (approvals) tugun xostida ~/.openclaw/exec-approvals.json da saqlanadi.

4. exec’ni tugunga yo‘naltiring

  1. Standart sozlamalarni sozlang (gateway config):
  1. Yoki sessiya bo‘yicha:
  1. O‘rnatilgandan so‘ng, host=node bilan chaqirilgan har qanday exec tugun xostida ishlaydi (tugun allowlist/tasdiqlariga bo‘ysunadi).
  2. Bog‘liq:

14. Buyruqlarni chaqirish

  1. Past daraja (raw RPC):
  1. Keng tarqalgan “agentga MEDIA ilovasini berish” ish jarayonlari uchun yuqori darajadagi yordamchilar mavjud.

18. Skrinshotlar (canvas snapshotlari)

  1. Agar tugun Canvas’ni (WebView) ko‘rsatayotgan bo‘lsa, canvas.snapshot { format, base64 } ni qaytaradi.
  2. CLI yordamchisi (vaqtinchalik faylga yozadi va MEDIA:<path> ni chiqaradi):

22. Canvas boshqaruvlari

Notes:
  • Eslatmalar:
    1. canvas eval inline JS (--js) yoki pozitsion argumentni qabul qiladi.

27. A2UI (Canvas)

Notes:
    1. Faqat A2UI v0.8 JSONL qo‘llab-quvvatlanadi (v0.9/createSurface rad etiladi).

31. Fotosuratlar + videolar (tugun kamerasi)

  1. Fotosuratlar (jpg):
  1. Video kliplar (mp4):
Notes:
    1. canvas.* va camera.* uchun tugun oldingi rejimda (foregrounded) bo‘lishi kerak (fon chaqiruvlari NODE_BACKGROUND_UNAVAILABLE ni qaytaradi).
    1. Klip davomiyligi haddan oshmasligi uchun cheklanadi (hozirda <= 60s) — katta base64 payloadlarning oldini olish uchun.
    1. Android imkon bo‘lganda CAMERA/RECORD_AUDIO ruxsatlarini so‘raydi; rad etilgan ruxsatlar *_PERMISSION_REQUIRED bilan xato beradi.

40. Ekran yozuvlari (tugunlar)

  1. Tugunlar screen.record (mp4) ni taqdim etadi. 42. Misol:
Notes:
    1. screen.record uchun tugun ilovasi oldingi rejimda bo‘lishi kerak.
    1. Android yozishni boshlashdan oldin tizimning ekran yozib olish oynasini ko‘rsatadi.
    1. Ekran yozuvlari <= 60s bilan cheklanadi.
    1. --no-audio mikrofon yozuvini o‘chiradi (iOS/Android’da qo‘llab-quvvatlanadi; macOS tizim audio yozuvini ishlatadi).
    1. Bir nechta ekran mavjud bo‘lsa, displeyni tanlash uchun --screen <index> dan foydalaning.

50. Joylashuv (tugunlar)

  1. Sozlamalarda Location yoqilgan bo‘lsa, tugunlar location.get ni taqdim etadi.
  2. CLI yordamchisi:
Notes:
  • Location is off by default.
  • “Always” requires system permission; background fetch is best-effort.
    1. Javob lat/lon, aniqlik (metrda) va vaqt tamg‘asini o‘z ichiga oladi.

8. SMS (Android tugunlari)

  1. Android tugunlari foydalanuvchi SMS ruxsatini berganda va qurilma telefoniyani qo‘llab-quvvatlaganda sms.send ni taqdim etishi mumkin.
  2. Past darajadagi chaqirish:
Notes:
    1. Imkoniyat e’lon qilinishidan oldin Android qurilmada ruxsat so‘rovi qabul qilinishi kerak.
    1. Telefoniyasiz, faqat Wi‑Fi qurilmalar sms.send ni e’lon qilmaydi.

15. Tizim buyruqlari (tugun xosti / mac tuguni)

The macOS node exposes system.run, system.notify, and system.execApprovals.get/set. 17. Headless tugun xosti system.run, system.which va system.execApprovals.get/set ni taqdim etadi.
  1. Misollar:
Notes:
    1. system.run yuklamada stdout/stderr/chiqish kodini qaytaradi.
    1. system.notify macOS ilovasidagi bildirishnoma ruxsati holatiga amal qiladi.
  • system.run supports --cwd, --env KEY=VAL, --command-timeout, and --needs-screen-recording.
  • system.notify supports --priority <passive|active|timeSensitive> and --delivery <system|overlay|auto>.
  • Node hostlar PATH override larini e’tiborsiz qoldiradi. Agar qo‘shimcha PATH yozuvlari kerak bo‘lsa, --env orqali PATH uzatish o‘rniga node host xizmati muhitini sozlang (yoki vositalarni standart joylarga o‘rnating).
    1. macOS tugun rejimida system.run macOS ilovasidagi exec approvals orqali cheklanadi (Settings → Exec approvals).
    2. Ask/allowlist/full headless tugun xosti bilan bir xil ishlaydi; rad etilgan so‘rovlar SYSTEM_RUN_DENIED ni qaytaradi.
    1. Headless tugun xostida system.run exec approvals orqali cheklanadi (~/.openclaw/exec-approvals.json).

29. Exec tugun bog‘lash

  1. Bir nechta tugun mavjud bo‘lsa, exec’ni muayyan tugunga bog‘lashingiz mumkin.
  2. Bu exec host=node uchun sukutiy tugunni o‘rnatadi (va har bir agent bo‘yicha alohida o‘zgartirilishi mumkin).
  3. Global sukut:
  1. Agent bo‘yicha override:
  1. Istalgan tugunga ruxsat berish uchun olib tashlash:

38. Ruxsatlar xaritasi

  1. Tugunlar node.list / node.describe da ruxsat nomi (masalan, screenRecording, accessibility) bo‘yicha kalitlangan va mantiqiy qiymatlarga (true = berilgan) ega permissions xaritasini o‘z ichiga olishi mumkin.

40. Headless tugun xosti (kross-platforma)

  1. OpenClaw Gateway WebSocket’iga ulanadigan va system.run / system.which ni taqdim etadigan headless tugun xostini (UI’siz) ishga tushirishi mumkin. 42. Bu Linux/Windows’da yoki server yonida minimal tugunni ishga tushirish uchun foydali.
  2. Uni ishga tushirish:
Notes:
    1. Juftlash hali ham talab qilinadi (Gateway tugunni tasdiqlash oynasini ko‘rsatadi).
    1. Tugun xosti o‘z tugun identifikatori, tokeni, ko‘rinadigan nomi va gateway ulanish ma’lumotlarini ~/.openclaw/node.json da saqlaydi.
    1. Exec approvals mahalliy ravishda ~/.openclaw/exec-approvals.json orqali majburiy qilinadi (qarang Exec approvals).
    1. macOS’da headless tugun xosti, agar mavjud bo‘lsa, hamroh ilova exec xostini afzal ko‘radi va ilova mavjud bo‘lmasa, mahalliy bajarishga qaytadi. 50. Ilovani majburiy qilish uchun OPENCLAW_NODE_EXEC_HOST=app ni o‘rnating, yoki fallback’ni o‘chirish uchun OPENCLAW_NODE_EXEC_FALLBACK=0 ni belgilang.
    1. Gateway WS TLS dan foydalanganda --tls / --tls-fingerprint qo‘shish.

2. Mac node rejimi

    1. macOS menyu paneli ilovasi Gateway WS serveriga node sifatida ulanadi (shunda openclaw nodes … ushbu Mac’ga nisbatan ishlaydi).
    1. Masofaviy rejimda ilova Gateway porti uchun SSH tunnel ochadi va localhost ga ulanadi.