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 กล้องและหน้าจอ
เปิดใช้งานและเปิดอนุญาต
-
ในแอป macOS ให้เปิดใช้งาน Settings → Allow Computer Control จากนั้นเปิด Settings → Permissions และให้สิทธิ์ Accessibility กับ Screen Recording ในการตั้งค่าระบบของ macOS
-
อนุมัติการอัปเดตการจับคู่บน Gateway (คำสั่งใหม่จะบังคับให้จับคู่ใหม่)
-
เปิดให้เอเจนต์ที่รองรับการมองเห็นใช้เครื่องมือ สำหรับโปรไฟล์
codingเริ่มต้น:json5 { tools: { alsoAllow: ["computer"], // เอเจนต์ที่อยู่ในแซนด์บ็อกซ์ต้องผ่านเกตที่สองนี้ด้วย: sandbox: { tools: { alsoAllow: ["computer"] } }, },} -
เปิดอนุญาต
computer.actภายในช่วงเวลาที่จำกัด Pluginphone-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 โดยตรง