macOS companion app
บริดจ์ Peekaboo
OpenClaw สามารถโฮสต์ PeekabooBridge เป็นโบรกเกอร์ระบบอัตโนมัติสำหรับ UI ภายในเครื่องที่คำนึงถึงสิทธิ์ (PeekabooBridgeHostCoordinator ซึ่งใช้แพ็กเกจ Swift steipete/Peekaboo เป็นระบบเบื้องหลัง) ซึ่งช่วยให้ CLI peekaboo ควบคุมระบบอัตโนมัติของ UI โดยใช้สิทธิ์ TCC ของแอป macOS ร่วมกัน
สิ่งนี้คืออะไร (และไม่ใช่อะไร)
- โฮสต์: OpenClaw.app สามารถทำหน้าที่เป็นโฮสต์ PeekabooBridge
- ไคลเอนต์: CLI
peekaboo(ไม่มีส่วนคำสั่งopenclaw ui ...แยกต่างหาก) - UI: โอเวอร์เลย์ภาพยังคงอยู่ใน Peekaboo.app ส่วน OpenClaw เป็นเพียงโฮสต์โบรกเกอร์แบบบาง
ความสัมพันธ์กับช่องทางควบคุมเดสก์ท็อปอื่น
OpenClaw มีช่องทางควบคุมเดสก์ท็อปสี่แบบซึ่งจงใจแยกออกจากกัน:
- โฮสต์ PeekabooBridge: OpenClaw.app โฮสต์ซ็อกเก็ต PeekabooBridge ภายในเครื่อง โดย CLI
peekabooเป็นไคลเอนต์และใช้สิทธิ์ macOS ของ OpenClaw.app สำหรับการจับภาพหน้าจอ การคลิก เมนู กล่องโต้ตอบ การดำเนินการกับ Dock และการจัดการหน้าต่าง - การใช้งานคอมพิวเตอร์ที่ขับเคลื่อนโดยเอเจนต์ (
computer.act): เครื่องมือcomputerในตัวของเอเจนต์ Gateway จะจับภาพหน้าจอผ่านscreen.snapshotและควบคุมตัวชี้กับแป้นพิมพ์ผ่านคำสั่ง Nodecomputer.actที่มีความเสี่ยง Node บน macOS จะดำเนินการcomputer.actภายในโปรเซสโดยใช้บริการระบบอัตโนมัติ Peekaboo แบบฝังตัวที่บริดจ์นี้เปิดให้ใช้ ร่วมกับพรימิทีฟ CoreGraphics ที่จำกัดขอบเขต โดยไม่ผ่านซ็อกเก็ต PeekabooBridge หรือ CLIpeekabooโปรดดู การใช้งานคอมพิวเตอร์ - Codex Computer Use: Plugin
codexที่ให้มาพร้อมระบบจะตรวจสอบและสามารถติดตั้ง Plugin MCPcomputer-useของ Codex (extensions/codex/src/app-server/computer-use.ts) จากนั้นให้ Codex เป็นผู้ควบคุมการเรียกใช้เครื่องมือควบคุมเดสก์ท็อปแบบเนทีฟระหว่างรอบการทำงานในโหมด Codex โดย OpenClaw จะไม่พร็อกซีการดำเนินการเหล่านั้นผ่าน PeekabooBridge - MCP
cua-driverโดยตรง: OpenClaw สามารถลงทะเบียนเซิร์ฟเวอร์cua-driver mcpต้นทางของ TryCua เป็นเซิร์ฟเวอร์ MCP ปกติ เพื่อให้เอเจนต์ใช้สคีมาของไดรเวอร์ CUA และเวิร์กโฟลว์ pid/หน้าต่าง/ดัชนีองค์ประกอบได้โดยตรง โดยไม่กำหนดเส้นทางผ่านมาร์เก็ตเพลสของ Codex หรือซ็อกเก็ต PeekabooBridge
ใช้ Peekaboo สำหรับระบบอัตโนมัติบน macOS ที่ครอบคลุมผ่านโฮสต์บริดจ์ของ OpenClaw.app ซึ่งคำนึงถึงสิทธิ์ ใช้การใช้งานคอมพิวเตอร์ที่ขับเคลื่อนโดยเอเจนต์เมื่อเอเจนต์ Gateway ควรมองเห็นและควบคุมเดสก์ท็อปผ่านคำสั่ง Node computer.act รูปแบบเดียวกันที่โมเดลด้านการมองเห็นใด ๆ ก็สามารถควบคุมได้ ใช้ Codex Computer Use เมื่อเอเจนต์ในโหมด Codex ควรพึ่งพา Plugin แบบเนทีฟของ Codex ใช้ cua-driver mcp โดยตรงเพื่อเปิดให้รันไทม์ใด ๆ ที่ OpenClaw จัดการสามารถเข้าถึงไดรเวอร์ CUA ในฐานะเซิร์ฟเวอร์ MCP ปกติ
เปิดใช้งานบริดจ์
ในแอป macOS: การตั้งค่า -> เปิดใช้งาน Peekaboo Bridge
เมื่อเปิดใช้งาน OpenClaw จะเริ่มเซิร์ฟเวอร์ซ็อกเก็ต UNIX ภายในเครื่องที่ ~/Library/Application Support/OpenClaw/<socket-name> หากปิดใช้งาน โฮสต์จะหยุดทำงานและ peekaboo จะเปลี่ยนไปใช้โฮสต์อื่นที่พร้อมใช้งาน นอกจากนี้ ตัวประสานงานยังดูแลลิงก์สัญลักษณ์ของซ็อกเก็ตรุ่นเก่า (clawdbot, clawdis, moltbot ภายใต้ Application Support) ให้ชี้ไปยังซ็อกเก็ตปัจจุบันสำหรับการติดตั้ง peekaboo รุ่นเก่า
ลำดับการค้นหาไคลเอนต์
โดยทั่วไป ไคลเอนต์ Peekaboo จะลองเชื่อมต่อโฮสต์ตามลำดับนี้:
- Peekaboo.app (ประสบการณ์ผู้ใช้เต็มรูปแบบ)
- Claude.app (หากติดตั้งไว้)
- OpenClaw.app (โบรกเกอร์แบบบาง)
ใช้ peekaboo bridge status --verbose เพื่อดูว่าโฮสต์ใดทำงานอยู่และกำลังใช้พาธซ็อกเก็ตใด หากต้องการแทนที่ค่า ให้ใช้:
export PEEKABOO_BRIDGE_SOCKET=/path/to/bridge.sockความปลอดภัยและสิทธิ์
- บริดจ์จะตรวจสอบ ลายเซ็นโค้ดของผู้เรียกใช้ และบังคับใช้รายการ TeamID ที่อนุญาต (TeamID ของโฮสต์ Peekaboo รวมถึง TeamID ของแอปที่กำลังทำงาน)
- สำหรับสิทธิ์การช่วยการเข้าถึง ควรใช้ข้อมูลประจำตัวของบริดจ์/แอปที่มีลายเซ็นแทนรันไทม์
nodeทั่วไป การให้สิทธิ์การช่วยการเข้าถึงแก่nodeจะทำให้แพ็กเกจใด ๆ ที่เรียกใช้โดยไฟล์ปฏิบัติการ Node นั้นได้รับสิทธิ์เข้าถึงระบบอัตโนมัติของ GUI ไปด้วย โปรดดู สิทธิ์ macOS - คำขอจะหมดเวลาหลังจาก 10 วินาที (
requestTimeoutSec: 10) - หากไม่มีสิทธิ์ที่จำเป็น บริดจ์จะส่งคืนข้อความแสดงข้อผิดพลาดที่ชัดเจนแทนการเปิดการตั้งค่าระบบ
ลักษณะการทำงานของสแนปช็อต (ระบบอัตโนมัติ)
สแนปช็อตจะถูกเก็บไว้ในหน่วยความจำ โดยมีช่วงเวลาที่ใช้ได้ 10 นาทีและจำกัดสูงสุด 50 สแนปช็อต (InMemorySnapshotManager) อาร์ติแฟกต์จะไม่ถูกลบเมื่อทำความสะอาด หากต้องการเก็บไว้นานกว่านั้น ให้จับภาพใหม่จากไคลเอนต์
การแก้ไขปัญหา
- หาก
peekabooรายงาน "bridge client is not authorized" ให้ตรวจสอบว่าไคลเอนต์ได้รับการลงนามอย่างถูกต้อง หรือเรียกใช้โฮสต์โดยกำหนดPEEKABOO_ALLOW_UNSIGNED_SOCKET_CLIENTS=1เฉพาะในโหมด ดีบัก เท่านั้น - หากไม่พบโฮสต์ ให้เปิดแอปโฮสต์แอปใดแอปหนึ่ง (Peekaboo.app หรือ OpenClaw.app) และยืนยันว่าได้ให้สิทธิ์แล้ว