Community translations by veiseule.ai — Help improve them on Crowdin
Skip to main content

OpenClaw macOS IPC အင်ဂျင်နီယာဖွဲ့စည်းပုံ

Current model: local Unix socket တစ်ခုဖြင့် node host service နှင့် macOS app ကို exec approvals + system.run အတွက် ချိတ်ဆက်ထားသည်။ Discovery/connect စစ်ဆေးရန် openclaw-mac debug CLI တစ်ခု ရှိသည်; agent actions များသည် Gateway WebSocket နှင့် node.invoke မှတစ်ဆင့် ဆက်လက် လုပ်ဆောင်သည်။ UI automation သည် PeekabooBridge ကို အသုံးပြုသည်။

ရည်မှန်းချက်များ

  • TCC နှင့် ဆိုင်သော အလုပ်များအားလုံး (notifications, screen recording, mic, speech, AppleScript) ကို ပိုင်ဆိုင်သည့် GUI အက်ပ် instance တစ်ခုတည်း။
  • အလိုအလျောက်လုပ်ဆောင်မှုအတွက် မျက်နှာပြင်သေးငယ်မှု: Gateway + node အမိန့်များ၊ နှင့် UI automation အတွက် PeekabooBridge။
  • ခန့်မှန်းနိုင်သော ခွင့်ပြုချက်များ: launchd မှ စတင်ဖွင့်လှစ်ထားပြီး အမြဲတမ်း တူညီသော signed bundle ID ကို အသုံးပြုသောကြောင့် TCC ခွင့်ပြုချက်များ တည်မြဲနေစေသည်။

အလုပ်လုပ်ပုံ

Gateway + node ပို့ဆောင်ရေး

  • အက်ပ်သည် Gateway ကို (local mode) ဖြင့် လည်ပတ်စေပြီး နိုဒ်တစ်ခုအဖြစ် ၎င်းသို့ ချိတ်ဆက်သည်။
  • Agent အရေးယူမှုများကို node.invoke (ဥပမာ system.run, system.notify, canvas.*) မှတစ်ဆင့် ဆောင်ရွက်သည်။

Node ဝန်ဆောင်မှု + အက်ပ် IPC

  • headless node host service တစ်ခုသည် Gateway WebSocket သို့ ချိတ်ဆက်ထားသည်။
  • system.run တောင်းဆိုချက်များကို local Unix socket မှတစ်ဆင့် macOS app သို့ လွှဲပြောင်းပို့သည်။
  • အက်ပ်သည် UI context အတွင်း exec ကို ဆောင်ရွက်ပြီး လိုအပ်ပါက မေးမြန်းကာ output ကို ပြန်လည်ပေးပို့သည်။

ပုံကြမ်း (SCI):

Agent -> Gateway -> Node Service (WS)
                      |  IPC (UDS + token + HMAC + TTL)
                      v
                  Mac App (UI + TCC + system.run)

PeekabooBridge (UI အလိုအလျောက်လုပ်ဆောင်မှု)

  • UI automation သည် bridge.sock ဟု အမည်ပေးထားသော သီးခြား UNIX socket နှင့် PeekabooBridge JSON protocol ကို အသုံးပြုသည်။
  • Host preference အစီအစဉ် (client-side): Peekaboo.app → Claude.app → OpenClaw.app → local execution။
  • လုံခြုံရေး: bridge ဟို့စ်များအတွက် ခွင့်ပြုထားသော TeamID လိုအပ်သည်။ DEBUG-only same-UID escape hatch ကို PEEKABOO_ALLOW_UNSIGNED_SOCKET_CLIENTS=1 (Peekaboo စံနည်းလမ်း) ဖြင့် ကာကွယ်ထားသည်။
  • အသေးစိတ်အတွက် PeekabooBridge usage ကို ကြည့်ပါ။

လုပ်ငန်းလည်ပတ်မှု စီးဆင်းပုံများ

  • Restart/rebuild: SIGN_IDENTITY="Apple Development: <Developer Name> (<TEAMID>)" scripts/restart-mac.sh
  • ရှိပြီးသား instance များကို သတ်ပစ်သည်
  • Swift တည်ဆောက်ခြင်း + ပက်ကေ့ချ်ပြုလုပ်ခြင်း
  • LaunchAgent ကို ရေးသား/bootstraps/kickstarts လုပ်သည်
  • Single instance: တူညီသော bundle ID ဖြင့် အခြား instance တစ်ခု လည်ပတ်နေပါက အက်ပ်သည် အစောပိုင်းတွင် ထွက်ခွာသည်။

Hardening မှတ်စုများ

  • Privileged surfaces အားလုံးအတွက် TeamID ကိုက်ညီမှုကို လိုအပ်အောင် ပြုလုပ်ခြင်းကို ဦးစားပေးပါ။
  • PeekabooBridge: PEEKABOO_ALLOW_UNSIGNED_SOCKET_CLIENTS=1 (DEBUG-only) သည် local development အတွက် same-UID ခေါ်ယူသူများကို ခွင့်ပြုနိုင်သည်။
  • ဆက်သွယ်မှုအားလုံးသည် local-only ဖြစ်ပြီး network socket များကို မဖော်ပြပါ။
  • TCC မေးမြန်းချက်များသည် GUI အက်ပ် bundle မှသာ စတင်လာသည်။ signed bundle ID ကို rebuild များကြားတွင် တည်ငြိမ်အောင် ထိန်းထားပါ။
  • IPC hardening: socket mode 0600, token, peer-UID စစ်ဆေးမှုများ, HMAC challenge/response, short TTL။