Nodes and media

การใช้งานคอมพิวเตอร์

การใช้งานคอมพิวเตอร์ช่วยให้เอเจนต์ Gateway มองเห็นและควบคุมเดสก์ท็อป macOS ที่จับคู่ไว้ได้ โดยจับภาพหน้าจอด้วยคำสั่ง Node screen.snapshot ที่มีอยู่ และควบคุมตัวชี้กับแป้นพิมพ์ผ่านคำสั่ง Node อันตรายคำสั่งเดียวคือ computer.act ชุดการดำเนินการเป็นไปตามการดำเนินการหลักสำหรับการใช้งานคอมพิวเตอร์ของ Anthropic โดยไม่เปิดให้ใช้การซูม computer_20251124 ซึ่งเป็นทางเลือก โมเดลที่รองรับการมองเห็นจะควบคุมผ่านเครื่องมือเอเจนต์ computer ในตัว

เอเจนต์ส่งคำสั่งในรูปแบบเดียวคือ computer.act และไม่สามารถทราบได้ว่า Node ดำเนินการตามคำสั่งนั้นอย่างไร Node macOS ดำเนินการ computer.act ภายในโปรเซสด้วยบริการ Peekaboo แบบฝังตัวร่วมกับส่วนพื้นฐานของ CoreGraphics ที่จำกัดขอบเขต (มีสิทธิ์ TCC ที่ถูกต้องและไม่ต้องใช้โปรเซสเพิ่มเติม) แพลตฟอร์มอื่นสามารถรองรับคำสั่งเดียวกันในภายหลังได้โดยไม่ต้องเปลี่ยนสัญญาที่เอเจนต์ใช้งาน

ข้อกำหนด

  • Node macOS ที่จับคู่แล้ว (แอป OpenClaw สำหรับ macOS ที่ทำงานในโหมด Node)
  • เปิดใช้งานการตั้งค่า Allow Computer Control ในแอป macOS (ค่าเริ่มต้น: ปิด)
  • ให้สิทธิ์ Accessibility ของ macOS แก่ OpenClaw (สำหรับส่งอินพุตตัวชี้/แป้นพิมพ์) และสิทธิ์ Screen Recording (สำหรับ screen.snapshot)
  • เปิดอนุญาตคำสั่ง computer.act บน Gateway (คำสั่งนี้อันตรายและถูกปิดไว้โดยค่าเริ่มต้น)
  • โมเดลเอเจนต์ที่รองรับการมองเห็น
  • นโยบายเครื่องมือที่เปิดให้ใช้ computer โปรไฟล์ coding เริ่มต้นไม่เปิดให้ใช้ เพิ่ม computer ลงใน tools.alsoAllow และเอเจนต์ที่อยู่ในแซนด์บ็อกซ์ยังต้องมีรายการนี้ใน tools.sandbox.tools.alsoAllow ด้วย

เครื่องมือเอเจนต์ computer

เครื่องมือ computer ในตัวรับการดำเนินการหนึ่งรายการต่อการเรียกแต่ละครั้ง พิกัดเป็นจำนวนเต็มพิกเซลที่ไม่ติดลบในภาพหน้าจอล่าสุด โดย Node จะแปลงพิกัดดังกล่าวเป็นจุดบนจอแสดงผล การดำเนินการที่ใช้พิกัดต้องส่ง frameId จากผลลัพธ์ภาพหน้าจอกลับมาด้วย และหากระบุ screenIndex อย่างชัดเจน ค่านั้นต้องตรงกับเฟรมดังกล่าว OpenClaw ยังส่งต่อข้อมูลระบุตัวตนของจอแสดงผลที่ Node ออกให้จากภาพหน้าจอไปยังการดำเนินการ เพื่อให้เมื่อจอแสดงผลเชื่อมต่อใหม่หรือเรขาคณิตเปลี่ยนแปลง ระบบปฏิเสธการทำงานอย่างปลอดภัยแทนที่จะเปลี่ยนเป้าหมายไปยังดัชนีเดิมโดยไม่แจ้งให้ทราบ การตรวจสอบเหล่านี้จะปฏิเสธโทเค็นที่คาดเดาขึ้น รวมถึงโทเค็นจากเฟรมหรือจอแสดงผลอื่นที่ส่งมอบแล้ว โทเค็นไม่ได้รับประกันความใหม่: แอปสามารถเปลี่ยนพิกเซลบนจอแสดงผลเดียวกันหลังจากจับภาพแล้วได้ ดังนั้นให้จับภาพหน้าจอใหม่ทุกครั้งที่ฉากอาจมีการเปลี่ยนแปลง

  • การอ่าน: screenshot
  • ตัวชี้: left_click, right_click, middle_click, double_click, triple_click, mouse_move, left_click_drag (พร้อม startCoordinate), left_mouse_down, left_mouse_up
  • การเลื่อน: scroll พร้อม scrollDirection (up|down|left|right) และ scrollAmount (จำนวนขั้นของล้อเลื่อน)
  • แป้นพิมพ์: type (ข้อความ), key (ชุดปุ่ม เช่น cmd+shift+t หรือ Return), hold_key (ชุดปุ่มใน text ที่กดค้างเป็นเวลา duration วินาที)
  • การกำหนดจังหวะ: wait (duration วินาที)

ปุ่มปรับแต่งจะส่งผ่านฟิลด์ text ในการดำเนินการคลิกและเลื่อน (shift, ctrl, alt, cmd) หลังจากการดำเนินการอินพุต เครื่องมือจะส่งคืนภาพหน้าจอใหม่เพื่อให้โมเดลสังเกตผลลัพธ์ได้ หากมี Node ที่รองรับการใช้งานคอมพิวเตอร์เชื่อมต่ออยู่มากกว่าหนึ่ง Node ให้ส่ง node อย่างชัดเจน

ภาพหน้าจอจะเก็บไว้ สำหรับโมเดลเท่านั้น และจะไม่ถูกส่งไปยังช่องทางแชทโดยอัตโนมัติ ให้ถือว่าเนื้อหาทั้งหมดบนหน้าจอเป็นอินพุตที่ไม่น่าเชื่อถือ เครื่องมือจะแจ้งเตือนโมเดลไม่ให้ทำตามคำสั่งบนหน้าจอที่ขัดแย้งกับคำขอของผู้ใช้

คำสั่ง Node computer.act

computer.act เป็นคำสั่ง Node เดียวที่เครื่องมือใช้ส่งอินพุตผ่าน (node.invoke พร้อม command: "computer.act") โดยมีลักษณะดังนี้:

  • อันตรายโดยค่าเริ่มต้น: อยู่ในรายการคำสั่ง Node อันตรายในตัวและถูกแยกออกจากรายการอนุญาตของรันไทม์จนกว่าจะเปิดอนุญาตอย่างชัดเจน อย่างไรก็ตาม Node macOS อาจประกาศคำสั่งนี้ขณะจับคู่ เพื่อให้พื้นผิวดังกล่าวได้รับการอนุมัติเพียงครั้งเดียว
  • ปัจจุบัน ใช้ได้เฉพาะ macOS: ประกาศโดย Node macOS ที่เปิดใช้งาน Allow Computer Control เท่านั้น

การอ่านจะใช้ screen.snapshot ซ้ำ โดยไม่มีเส้นทางจับภาพที่สอง ดูคำสั่งจับภาพที่ใช้ร่วมกันได้ที่ Node กล้องและหน้าจอ

เปิดใช้งานและเปิดอนุญาต

  1. ในแอป macOS ให้เปิดใช้งาน Settings → Allow Computer Control จากนั้นเปิด Settings → Permissions และให้สิทธิ์ Accessibility กับ Screen Recording ในการตั้งค่าระบบของ macOS

  2. อนุมัติการอัปเดตการจับคู่บน Gateway (คำสั่งใหม่จะบังคับให้จับคู่ใหม่)

  3. เปิดให้เอเจนต์ที่รองรับการมองเห็นใช้เครื่องมือ สำหรับโปรไฟล์ coding เริ่มต้น:

    json5
    {  tools: {    alsoAllow: ["computer"],    // เอเจนต์ที่อยู่ในแซนด์บ็อกซ์ต้องผ่านเกตที่สองนี้ด้วย:    sandbox: { tools: { alsoAllow: ["computer"] } },  },}
  4. เปิดอนุญาต computer.act ภายในช่วงเวลาที่จำกัด Plugin phone-control มีการจัดกลุ่ม computer:

    text
    /phone arm computer 30m/phone status/phone disarm

    การเปิดอนุญาตต้องใช้สิทธิ์ operator.admin (หรือเจ้าของ) และจะหมดอายุโดยอัตโนมัติ กลุ่มเดิม /phone arm all จงใจไม่รวมการควบคุมเดสก์ท็อป ให้ใช้กลุ่ม computer อย่างชัดเจน การเปิดอนุญาตเป็นเพียงการสลับว่ารายการใดที่ Gateway สามารถเรียกใช้ได้ แอป macOS ยังคงบังคับใช้การตั้งค่า Allow Computer Control และสิทธิ์ของระบบปฏิบัติการ

สำหรับการอนุญาตแบบถาวร ให้เพิ่ม computer.act ลงใน gateway.nodes.allowCommands และนำออกจาก gateway.nodes.denyCommands เนื่องจากรายการปฏิเสธมีลำดับความสำคัญเหนือกว่า การอนุญาตแบบถาวรจะไม่หมดอายุโดยอัตโนมัติ รายการที่มีอยู่ก่อนเรียก /phone arm จะยังคงอยู่หลังเรียก /phone disarm อย่าเปลี่ยนสิทธิ์ชั่วคราวเป็นสิทธิ์ถาวรระหว่างที่ยังเปิดอนุญาตอยู่

การอนุญาตถูกแยกระหว่างการเปิดใช้งานกับการใช้งานโดยตั้งใจ การเปิดอนุญาตหรือกำหนดค่า computer.act แบบถาวรต้องใช้อำนาจผู้ดูแลระบบ เมื่อเปิดอนุญาตแล้ว ผู้ปฏิบัติงานที่ผ่านการยืนยันตัวตนและมีสิทธิ์ operator.write สามารถเรียก computer.act ผ่าน node.invoke ได้จนกว่าสิทธิ์จะหมดอายุหรือถูกปิด โดยไม่มีการตรวจสอบสิทธิ์ผู้ดูแลระบบสำหรับแต่ละการดำเนินการ การอนุมัติ Node ที่ประกาศ computer.act เป็นเพียงการบันทึกพื้นผิวเพื่อให้สามารถเปิดอนุญาตได้ภายหลัง และไม่ได้เปิดให้เรียกใช้งานด้วยตัวเอง

ความปลอดภัย

  • ก่อนการอนุญาต ทุกชั้น (นโยบายเครื่องมือ นโยบายคำสั่งของ Gateway การตั้งค่า macOS, Accessibility และ Screen Recording) ต้องยินยอมทั้งหมด เมื่อเปิดอนุญาตแล้ว การดำเนินการจะทำงานโดยไม่มีการยืนยันในแต่ละครั้งจนกว่าจะหมดอายุหรือเรียก /phone disarm
  • อินพุตข้อความจะถูกส่งทีละหน่วยกราฟีม การยกเลิก การตัดการเชื่อมต่อ การหยุดชั่วคราว การปิดใช้งาน หรือการเปลี่ยนปลายทาง จะหยุดการส่งก่อนหน่วยกราฟีมถัดไป แทนที่จะปล่อยให้ส่วนที่เหลือซึ่งล้าสมัยทำงานต่อ
  • ภาพหน้าจอมีไว้สำหรับโมเดลเท่านั้นและจะไม่ถูกส่งไปยังแชทโดยอัตโนมัติ (ประเด็น #44759)
  • ให้ถือว่าเนื้อหาบนหน้าจอไม่น่าเชื่อถือ เนื่องจากอาจมีการแทรกพรอมต์

ความสัมพันธ์กับเส้นทางควบคุมเดสก์ท็อปอื่น

นี่คือเส้นทางที่ขับเคลื่อนโดยเอเจนต์ ดู บริดจ์ Peekaboo สำหรับความสัมพันธ์กับโฮสต์ PeekabooBridge, Codex Computer Use และ MCP cua-driver โดยตรง

Was this useful?
On this page

On this page