screen.snapshot Node कमांड से स्क्रीनशॉट कैप्चर करता है और एकल खतरनाक Node कमांड, computer.act, के माध्यम से पॉइंटर और कीबोर्ड संचालित करता है। क्रियाओं का सेट मुख्य Anthropic कंप्यूटर-उपयोग क्रियाओं का अनुसरण करता है; वैकल्पिक computer_20251124 ज़ूम उपलब्ध नहीं कराया गया है। विज़न-सक्षम मॉडल इसे अंतर्निहित computer एजेंट टूल के माध्यम से संचालित करता है।
एजेंट एक समान कमांड, computer.act, भेजता है; यह नहीं जान सकता कि कोई Node इसे कैसे पूरा करता है। macOS Node, एम्बेडेड Peekaboo सेवाओं और सीमित CoreGraphics प्रिमिटिव के साथ computer.act को प्रक्रिया के भीतर पूरा करता है (सही TCC अनुमतियाँ, कोई अतिरिक्त प्रक्रिया नहीं)। अन्य प्लेटफ़ॉर्म बाद में एजेंट-सामना अनुबंध बदले बिना उसी कमांड को पूरा कर सकते हैं।
आवश्यकताएँ
- एक युग्मित macOS Node (Node मोड में चल रहा OpenClaw macOS ऐप)।
- macOS ऐप की Allow Computer Control सेटिंग सक्षम हो (डिफ़ॉल्ट: बंद)।
- OpenClaw को macOS की Accessibility अनुमति (पॉइंटर/कीबोर्ड इनपुट के लिए) और Screen Recording अनुमति (
screen.snapshotके लिए) दी गई हो। - Gateway पर
computer.actकमांड आर्म किया गया हो (यह खतरनाक है और डिफ़ॉल्ट रूप से निष्क्रिय रहता है)। - एक विज़न-सक्षम एजेंट मॉडल।
- ऐसी टूल नीति जो
computerउपलब्ध कराती हो। डिफ़ॉल्टcodingप्रोफ़ाइल ऐसा नहीं करती।tools.alsoAllowमेंcomputerजोड़ें; सैंडबॉक्स किए गए एजेंटों को इसकी आवश्यकता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। - स्क्रॉल:
scrollDirection(up|down|left|right) औरscrollAmount(व्हील टिक) के साथscroll। - कीबोर्ड:
type(टेक्स्ट),key(cmd+shift+tयाReturnजैसा संयोजन),hold_key(textसंयोजन कोdurationसेकंड तक दबाए रखना)। - गति-नियंत्रण:
wait(durationसेकंड)।
text फ़ील्ड के माध्यम से भेजी जाती हैं (shift, ctrl, alt, cmd)। इनपुट क्रिया के बाद टूल नया स्क्रीनशॉट लौटाता है, ताकि मॉडल परिणाम देख सके। यदि एक से अधिक कंप्यूटर-सक्षम Node जुड़े हों, तो node स्पष्ट रूप से दें।
स्क्रीनशॉट केवल मॉडल के लिए रखे जाते हैं: वे कभी भी चैट चैनल पर स्वतः नहीं भेजे जाते। स्क्रीन पर मौजूद सभी सामग्री को अविश्वसनीय इनपुट मानें; टूल मॉडल को चेतावनी देता है कि वह स्क्रीन पर दिए गए ऐसे निर्देशों का पालन न करे जो उपयोगकर्ता के अनुरोध से टकराते हों।
computer.act Node कमांड
computer.act वह एकल Node कमांड है जिसके माध्यम से टूल इनपुट रूट करता है (command: "computer.act" के साथ node.invoke)। यह:
- डिफ़ॉल्ट रूप से खतरनाक है: इसे अंतर्निहित खतरनाक Node कमांडों में सूचीबद्ध किया जाता है और स्पष्ट रूप से आर्म किए जाने तक रनटाइम अनुमति-सूची से बाहर रखा जाता है। macOS Node युग्मन के समय भी इसे घोषित कर सकता है, ताकि सतह को एक बार स्वीकृत किया जा सके।
- आज केवल macOS के लिए है: इसका विज्ञापन केवल ऐसा macOS Node करता है जिसमें Allow Computer Control सक्षम हो।
screen.snapshot का पुनः उपयोग करती हैं; कैप्चर का कोई दूसरा पथ नहीं है। साझा कैप्चर कमांड के लिए कैमरा और स्क्रीन Node देखें।
सक्षम और आर्म करना
- macOS ऐप में Settings → Allow Computer Control सक्षम करें। फिर Settings → Permissions खोलें और macOS System Settings में Accessibility तथा Screen Recording प्रदान करें।
- Gateway पर युग्मन अपडेट स्वीकृत करें (नया कमांड पुनः युग्मन आवश्यक बनाता है)।
-
टूल को विज़न-सक्षम एजेंट के लिए उपलब्ध कराएँ। डिफ़ॉल्ट
codingप्रोफ़ाइल के लिए: -
सीमित समयावधि के लिए
computer.actको आर्म करें।phone-controlPlugin एकcomputerसमूह उपलब्ध कराता है:आर्म करने के लिएoperator.admin(या स्वामी) आवश्यक है और इसकी अवधि स्वतः समाप्त हो जाती है। पुराना/phone arm allसमूह जानबूझकर डेस्कटॉप नियंत्रण को शामिल नहीं करता; स्पष्टcomputerसमूह का उपयोग करें। आर्म करना केवल यह टॉगल करता है कि Gateway किसे लागू कर सकता है; macOS ऐप फिर भी अपनी Allow Computer Control सेटिंग और OS अनुमतियाँ लागू करता है।
gateway.nodes.allowCommands में computer.act जोड़ें और इसे gateway.nodes.denyCommands से हटाएँ; अस्वीकृति सूची को प्राथमिकता मिलती है। स्थायी प्राधिकरण की अवधि स्वतः समाप्त नहीं होती। /phone arm से पहले मौजूद प्रविष्टियाँ /phone disarm के बाद भी बनी रहती हैं; अस्थायी अनुमति के आर्म रहते समय उसे स्थायी में परिवर्तित न करें।
प्राधिकरण को जानबूझकर सक्षम करने और उपयोग के बीच विभाजित किया गया है। computer.act को आर्म या
स्थायी रूप से कॉन्फ़िगर करने के लिए प्रशासनिक अधिकार आवश्यक हैं।
आर्म होने के बाद, operator.write वाला प्रमाणित ऑपरेटर अनुमति की अवधि समाप्त होने या उसे निष्क्रिय किए जाने तक
node.invoke के माध्यम से computer.act लागू कर सकता है;
हर क्रिया के लिए अलग व्यवस्थापक जाँच नहीं होती। computer.act घोषित करने वाले Node को स्वीकृत करना
केवल सतह को रिकॉर्ड करता है, ताकि उसे बाद में आर्म किया जा सके, और यह अपने आप
उसे लागू करना सक्षम नहीं करता।
सुरक्षा
- प्राधिकरण से पहले, प्रत्येक स्तर (टूल नीति, Gateway कमांड नीति, macOS सेटिंग, Accessibility और Screen Recording) की सहमति आवश्यक है। आर्म होने के बाद, अवधि समाप्त होने या
/phone disarmतक क्रियाएँ हर क्रिया की पुष्टि के बिना निष्पादित होती हैं। - टेक्स्ट इनपुट एक बार में एक ग्रैफीम के रूप में भेजा जाता है। रद्द करना, डिस्कनेक्ट होना, रोकना, अक्षम करना या एंडपॉइंट बदलना पुराने बचे हुए इनपुट को जारी रहने देने के बजाय अगले ग्रैफीम से पहले इसे रोक देता है।
- स्क्रीनशॉट केवल मॉडल के लिए होते हैं और चैट पर कभी स्वतः नहीं भेजे जाते (समस्या #44759)।
- स्क्रीन सामग्री को अविश्वसनीय मानें; उसमें प्रॉम्प्ट इंजेक्शन हो सकता है।
अन्य डेस्कटॉप-नियंत्रण पथों से संबंध
यह एजेंट द्वारा संचालित पथ है। PeekabooBridge होस्ट, Codex Computer Use और प्रत्यक्षcua-driver MCP से इसके संबंध के लिए Peekaboo ब्रिज देखें।