agent-desktop ถึงเวอร์ชัน 1.0 ให้ agent คุมแอปเดสก์ท็อปผ่าน accessibility tree แทนการจับพิกเซล รองรับ macOS, Windows และ Linux
agent-desktop ของ Vercel Labs ออกเวอร์ชัน 1.0.0 เมื่อ 28 ต.ค. 2026 และ 1.0.2 เมื่อ 30 ต.ค. เครื่องมือนี้ไม่ใช่โปรเจกต์ใหม่ repo เปิดมาตั้งแต่ ก.พ. และมีดาวราว 3,000 แต่เลขเวอร์ชัน 1.0 เป็นสัญญาณว่าเจ้าของมองว่าพร้อมใช้งานจริงแล้ว
แนวทางของมันต่างจาก computer use แบบภาพหน้าจอ: แทนที่จะให้โมเดลดูภาพแล้วเดาพิกัด เครื่องมือนี้อ่าน accessibility tree ของระบบปฏิบัติการ แล้วคืนรายการองค์ประกอบที่กดได้ในรูป JSON ทำให้ประหยัดโทเคนจากภาพ และตรวจผลได้จากโครงสร้างจริงของแอป
ลูปการทำงาน
npm install -g agent-desktop
agent-desktop snapshot --app Finder -i # ดูองค์ประกอบพร้อม ref
agent-desktop click @s8f3k2p9:e8 # สั่งงานผ่าน ref
agent-desktop snapshot --app Finder -i # ดูอีกครั้งเพื่อยืนยัน
Ref ผูกกับ snapshot ที่สร้างมัน ถ้า UI เปลี่ยน คำสั่งจะได้ STALE_REF หรือ AMBIGUOUS_TARGET แทนการคลิกผิดตำแหน่งแบบเงียบ ๆ และ error มีฟิลด์บอกว่า retry ได้ปลอดภัยหรือไม่ ซึ่งเป็นรายละเอียดที่ออกแบบมาเพื่อ agent โดยตรง
ค่าเริ่มต้นเป็นแบบ headless คือสั่งผ่าน accessibility API โดยไม่ขยับเมาส์และไม่แย่งโฟกัส ถ้าต้องใช้อินพุตจริงให้เพิ่ม --headed ส่วนแอปหนาแน่นอย่าง Slack ใช้ snapshot --skeleton ดูโครงก่อนแล้วค่อยเจาะทีละส่วนได้
รองรับอะไรบ้าง
| ความสามารถ | macOS | Windows | Linux |
|---|---|---|---|
| Accessibility tree | ได้ | ได้ | ได้ (AT-SPI) |
| คลิก / พิมพ์ | ได้ | ได้ | AT-SPI, คีย์บน X11 / GNOME |
| เมาส์ | ได้ | ได้ | X11 และ --headed |
| จัดการหน้าต่าง | ได้ | ได้ | เปิด/แสดงรายการ, ควบคุมบน X11 |
มีคำสั่งใช้งานได้ 56 คำสั่ง และ libagent_desktop_ffi สำหรับเรียกจากโปรแกรมโดยตรงผ่าน C ABI ฝั่ง agent มีทักษะฝังในไบนารีผ่าน agent-desktop skills get desktop ติดตั้งผ่าน skills.sh ได้ หรือเพิ่มคำสั่งลง AGENTS.md
ข้อควรระวัง
README เตือนว่า snapshot, คลิปบอร์ด, ภาพหน้าจอ และ log อาจมีข้อมูลส่วนตัว จึงไม่ควรเผยแพร่ เครื่องมือ JEV helper ซึ่งเป็นตัวเลือกแยกต่างหาก จะส่งคำอธิบายหน้าจอไปยังผู้ให้บริการโมเดลที่ตั้งค่าไว้ บน macOS ต้องให้สิทธิ์ Accessibility ก่อน และแพ็กเกจ Homebrew กับ Scoop ทางการยังอยู่ระหว่างส่งเข้าคลัง
มุมมอง AI Curator
ข่าวสัปดาห์เดียวกันให้มุมที่ตรงข้ามกันอย่างน่าสนใจ Mage-VL-Cowork ของ Microsoft ตัด accessibility tree ออกจาก harness ของโมเดลครูเพราะมองว่าซ้ำซ้อนกับ GUI และ bash ส่วน agent-desktop เดิมพันว่า accessibility tree คือช่องทางหลัก คำตอบน่าจะขึ้นกับแอป: แอปมาตรฐานที่เปิดเผยองค์ประกอบครบเหมาะกับแนวของ Vercel แต่แอปที่วาดเองบน canvas หรือแอปเก่าที่ไม่มี accessibility label ยังต้องใช้ภาพ
ข้อนี้สำคัญกับโปรแกรมบัญชีและระบบธุรการรุ่นเก่าที่ใช้กันมากในไทย ก่อนเลือกแนวทาง ให้รัน snapshot กับแอปจริงก่อนหนึ่งครั้ง ถ้า ref_count น้อยหรือชื่อองค์ประกอบว่าง ก็รู้ได้ทันทีว่าวิธีนี้ไม่พอ และการทดสอบนี้ใช้เวลาไม่กี่นาที
ผลพลอยได้ที่ดีของแนวทางนี้คือมันให้รางวัลแอปที่ทำ accessibility ดี ถ้า agent กลายเป็นผู้ใช้หลัก งานที่นักพัฒนาควรทำเพื่อผู้ใช้ที่มีความบกพร่องทางการมองเห็นอยู่แล้ว จะกลายเป็นเงื่อนไขทางธุรกิจไปด้วย
แหล่งข่าว
อ่านเพิ่มในหมวด เครื่องมือนักพัฒนา
Betelgeuse รัน Qwen3.8 Flash Next ขนาด 68GB บน RTX 3060 กับแรม 16GB ส่วน Basalt วัดให้เห็นว่าเอนจินที่เร่งด้วยแฟล็กลัดทำให้โมเดลลืมของ
Betelgeuse ฟอร์ก llama.cpp ที่เปิดเมื่อ 31 ต.ค. ดึง expert จาก NVMe เข้า VRAM ตามต้องการ อ้าง 22 tok/s แบบไม่ทิ้ง expert แต่ README เตือนเองว่ายังทดลองและตัวเลขมาจากคนละรอบ วันเดียวกันผู้พัฒนา Basalt เผยผลวัดว่าแฟล็กเร่งความเร็วทำคุณภาพ Q8 ตกไปใกล้ Q2
กฎห้ามโคลนเกมของ Claude Code เริ่มกระทบงานจริง บริษัทรับทำเกมกระดานร้องงานลูกค้าหยุด แต่รายงานหลายชิ้นปนกับตัวกรองไซเบอร์คนละเรื่อง
ต่อจากที่เราพบกฎนี้ในไบนารี Claude Code ผู้ใช้เริ่มรายงานว่างานเชิงพาณิชย์ถูกปฏิเสธ และ Tom's Hardware กับ Mashable หยิบไปรายงาน แต่เมื่อไล่ issue ที่อ้างถึง พบว่าหลายรายการเกิดก่อนกฎจะมา จึงน่าจะเป็นตัวกรองด้านไซเบอร์ ส่วน Anthropic ยังไม่ชี้แจง
Claude Code ส่ง transcript ของ background agent ให้โมเดลทุก ~30 วินาทีเพื่อเขียนสถานะ 3–5 คำ ผู้วัดรายงานกินราว 16% และยังปิดแบบทางการไม่ได้
รายงานอิสระพบว่าฟีเจอร์ agent_summary ของ Claude Code ส่ง transcript เต็มของ background agent ไปถามสถานะทุก ~30 วินาที คิดเป็น 16.4% ของค่าใช้จ่ายในระบบของผู้วัด Issue เปิดมาตั้งแต่ ส.ค. ยังไม่มีสวิตช์ปิดที่รองรับ เราตรวจพบโค้ดนี้ใน 2.1.314 และพบกฎใหม่เรื่องเกมที่ไม่อยู่ใน changelog