---
read_when:
    - Gateway एजेंट को युग्मित डेस्कटॉप देखने और नियंत्रित करने देना
    - कंप्यूटर उपयोग के लिए सक्रियकरण, अनुमतियाँ या सुरक्षा
    - computer.act Node कमांड या उसके पूर्तिकर्ताओं का विस्तार करना
summary: कंप्यूटर टूल और `computer.act` Node कमांड के माध्यम से क्षमता-आधारित डेस्कटॉप नियंत्रण
title: कंप्यूटर का उपयोग
x-i18n:
    generated_at: "2026-07-27T18:30:14Z"
    model: gpt-5.6
    postprocess_version: locale-links-v1
    prompt_version: 32
    provider: openai
    source_hash: df8ce87e607ce1b22d91e4ed8702d500bccd4d4f59dab7b0eafac565e730d48a
    source_path: nodes/computer-use.md
    workflow: 16
---

कंप्यूटर उपयोग Gateway एजेंट को किसी सक्षम, युग्मित डेस्कटॉप को देखने और नियंत्रित करने देता है। पात्रता क्षमता-आधारित है: कनेक्ट किए गए Node को `computer.act` और `screen.snapshot` दोनों विज्ञापित करने होंगे, जिनके परिणाम में `displayFrameId` शामिल होना चाहिए। टूल संदर्भ फ़्रेम के रूप में एक स्क्रीनशॉट कैप्चर करता है, फिर खतरनाक `computer.act` कमांड के माध्यम से पॉइंटर और कीबोर्ड संचालित करता है। क्रियाओं का सेट मुख्य Anthropic कंप्यूटर-उपयोग क्रियाओं का अनुसरण करता है; वैकल्पिक `computer_20251124` ज़ूम उपलब्ध नहीं कराया गया है। दृष्टि-सक्षम मॉडल इसे अंतर्निहित `computer` एजेंट टूल के माध्यम से संचालित करता है।

एजेंट एक समान कमांड, `computer.act`, भेजता है; वह यह नहीं जान सकता कि कोई Node इसे कैसे पूरा करता है। बंडल किया गया macOS ऐप, एम्बेडेड Peekaboo सेवाओं और सीमित CoreGraphics प्रिमिटिव के साथ कमांड को उसी प्रोसेस में संभालता है (सही TCC अनुमतियाँ, कोई अतिरिक्त प्रोसेस नहीं)। Windows और Linux, अलग से इंस्टॉल किए गए `cua-driver` बाइनरी के साथ वैकल्पिक, प्रयोगात्मक `cua-computer` Plugin का उपयोग कर सकते हैं। दोनों कार्यान्वयन समान युग्मन और आर्मिंग नीति का उपयोग करते हैं।

## आवश्यकताएँ

- एक युग्मित, कनेक्ट किया गया Node, जो `computer.act` और `screen.snapshot` दोनों विज्ञापित करता हो, और जिसमें `screen.snapshot`, `displayFrameId` लौटाता हो।
- **macOS कार्यान्वयनकर्ता:** ऐप सेटिंग **Allow Computer Control** सक्षम हो (डिफ़ॉल्ट: बंद)।
- **macOS कार्यान्वयनकर्ता:** OpenClaw को **Accessibility** अनुमति (पॉइंटर/कीबोर्ड इनपुट के लिए) और **Screen Recording** अनुमति (`screen.snapshot` के लिए) दी गई हो।
- **Windows/Linux कार्यान्वयनकर्ता:** बंडल किया गया `cua-computer` Plugin सक्षम हो और संगत `cua-driver` 0.10.x निष्पादनयोग्य इंस्टॉल हो।
- 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`।
- स्क्रॉल: `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` स्पष्ट रूप से दें।

स्क्रीनशॉट **केवल मॉडल के लिए** रखे जाते हैं: वे चैट चैनल पर कभी स्वतः वितरित नहीं किए जाते। स्क्रीन पर दिखाई देने वाली सारी सामग्री को अविश्वसनीय इनपुट मानें; टूल मॉडल को चेतावनी देता है कि वह स्क्रीन पर दिए गए ऐसे निर्देशों का पालन न करे जो उपयोगकर्ता के अनुरोध से टकराते हों।

## Windows और Linux (प्रयोगात्मक, cua-driver के माध्यम से)

बंडल किया गया `cua-computer` Plugin, Windows और Linux Node होस्ट के लिए एक प्रयोगात्मक कार्यान्वयनकर्ता प्रदान करता है। यह डिफ़ॉल्ट रूप से अक्षम है और इसके लिए प्री-रिलीज़ 0.10.x ड्राइवर अनुबंध आवश्यक है:

1. [अपस्ट्रीम रिलीज़](https://github.com/trycua/cua/releases) से `cua-driver` 0.10.x बाइनरी इंस्टॉल करें और इसे `PATH` पर उपलब्ध कराएँ। किसी अन्य निष्पादनयोग्य स्थान का उपयोग करने के लिए `plugins.entries.cua-computer.config.driverPath` सेट करें।
2. Plugin सक्षम करें:

   ```bash
   openclaw plugins enable cua-computer
   ```

3. इंटरैक्टिव डेस्कटॉप सत्र से `openclaw node run` प्रारंभ करें। पहला कैप्चर या क्रिया आने पर Plugin स्थानीय ड्राइवर डेमन को विलंबित रूप से प्रारंभ करता है।

यह कार्यान्वयनकर्ता वर्तमान में केवल प्राथमिक डिस्प्ले नियंत्रित करता है। X11/XWayland Linux का प्राथमिक मार्ग है। नेटिव Wayland अब भी अपस्ट्रीम ऑप्ट-इन है: Node प्रारंभ करने से पहले `CUA_DRIVER_RS_ENABLE_WAYLAND` स्वयं सेट करें; OpenClaw इसे कभी स्वतः सेट नहीं करता। KDE/KWin, अपस्ट्रीम नेटिव-Wayland इनपुट पथ द्वारा समर्थित नहीं है। `hold_key`, `left_mouse_down`, और `left_mouse_up` उपलब्ध नहीं हैं, क्योंकि cua-driver 0.10.x में क्रॉस-प्लेटफ़ॉर्म डेस्कटॉप-स्कोप होल्ड अनुबंध नहीं है। संशोधक कुंजी दबाकर स्क्रॉल करना और ड्रैग करना दोनों प्लेटफ़ॉर्म पर उपलब्ध नहीं है, और संशोधक कुंजी दबाकर क्लिक करना Linux पर उपलब्ध नहीं है। `key` क्रिया नामित कुंजियाँ, अक्षर और संशोधक संयोजन (उदाहरण के लिए `cmd+c` या `Return`) स्वीकार करती है; अंक और विराम-चिह्न कुंजियाँ अस्वीकार कर दी जाती हैं क्योंकि ड्राइवर उनकी लेआउट-निर्भर Shift स्थिति छोड़ देता है, इसलिए इसके बजाय वह टेक्स्ट `type` क्रिया के माध्यम से भेजें। `type_text` ड्राइवर कॉल के दौरान टेक्स्ट टाइपिंग को बीच में रद्द नहीं किया जा सकता।

चूँकि cua-driver कोई स्थिर डिस्प्ले पहचान नहीं बताता, फ़्रेम प्राधिकरण ड्राइवर कनेक्शन और सक्रिय प्राथमिक-डिस्प्ले ज्यामिति से बँधता है। डेमन या सत्र का दोबारा कनेक्ट होना लंबित फ़्रेमों को अमान्य कर देता है, लेकिन कनेक्शन खुला रखते हुए समान ज्यामिति वाले प्राथमिक डिस्प्ले को बदलने का पता नहीं लगाया जा सकता; इस कार्यान्वयनकर्ता के लिए स्थिर एकल-डिस्प्ले सत्र को प्राथमिकता दें।

OpenClaw अपने द्वारा प्रबंधित `mcp` और `serve` प्रोसेस के लिए cua-driver टेलीमेट्री और अपडेट जाँच अक्षम करता है। यह ड्राइवर बाइनरी को डाउनलोड या अपडेट नहीं करता।

### समस्या निवारण

`cua-computer` कार्यान्वयनकर्ता टूल परिणाम और Node लॉग में टाइप किए गए त्रुटि कोड दिखाता है। सामान्य कोड:

| कोड                                                 | कारण                                                                                                                                                           | समाधान                                                                                                                                                                                                                                  |
| ---------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `COMPUTER_DRIVER_UNAVAILABLE`                        | `cua-driver` बाइनरी `PATH` पर नहीं है (या `driverPath` गलत है), डेमन समय पर तैयार नहीं हुआ, या Node Windows/Linux नहीं है।                 | `PATH` पर `cua-driver` 0.10.x इंस्टॉल करें या `driverPath` सेट करें। इंटरैक्टिव डेस्कटॉप सत्र के भीतर `openclaw node run` चलाएँ; Linux पर सुनिश्चित करें कि X11 `DISPLAY` (या `CUA_DRIVER_RS_ENABLE_WAYLAND` वाला `WAYLAND_DISPLAY`) मौजूद हो। |
| `COMPUTER_DRIVER_UNSUPPORTED`                        | कनेक्ट किया गया ड्राइवर `cua-driver` 0.10.x नहीं है, या उसकी क्षमता/स्कीमा संस्करण अलग है।                                                                      | समर्थित 0.10.x बिल्ड इंस्टॉल करें। इसे ठीक करने के लगभग 30 सेकंड बाद Plugin फिर से जाँच करता है, इसलिए Node को पुनः प्रारंभ करने की आवश्यकता नहीं है।                                                                                                          |
| `COMPUTER_REFUSED_<code>`                            | ड्राइवर ने `background_unavailable`, `background_occluded`, या `foreground_unavailable` (KDE/KWin Wayland) जैसे संरचित कोड के साथ क्रिया अस्वीकार कर दी।   | लक्ष्य विंडो को सामने लाएँ, X11 पर जाएँ, या समर्थित कंपोज़िटर का उपयोग करें। ऊपर दिए संगतता नोट देखें।                                                                                                                    |
| `COMPUTER_STALE_FRAME`                               | निर्देशांकों ने ऐसे स्क्रीनशॉट को संदर्भित किया जो अब वर्तमान नहीं है (संदर्भ Compaction, डिस्प्ले ज्यामिति में बदलाव, या संदर्भ-चौड़ाई में बदलाव)।                 | निर्देशांक वाली क्रिया से पहले नया `screenshot` लें।                                                                                                                                                                              |
| `COMPUTER_UNSUPPORTED_ACTION`                        | ऐसी क्रिया जिसे यह कार्यान्वयनकर्ता विश्वसनीय रूप से नहीं कर सकता: `hold_key`, `left_mouse_down`, `left_mouse_up`, संशोधक कुंजी दबाकर ड्रैग/स्क्रॉल करना, या Linux पर संशोधक कुंजी दबाकर क्लिक करना। | समर्थित क्रिया का उपयोग करें। cua-driver 0.10.x में डेस्कटॉप-स्कोप होल्ड-इनपुट अनुबंध नहीं है।                                                                                                                                                  |
| `COMPUTER_UNSUPPORTED_DISPLAY`                       | गैर-प्राथमिक `screenIndex`, कैप्चर/स्क्रीन ज्यामिति में बेमेल, या प्राथमिक डिस्प्ले से बाहर कर्सर।                                                       | केवल प्राथमिक डिस्प्ले संचालित करें।                                                                                                                                                                                                      |
| `COMPUTER_UNSUPPORTED_KEY`                           | ऐसा `key` मान जिसे ड्राइवर विश्वसनीय रूप से पुनरुत्पादित नहीं कर सकता: ऐसा अंक या विराम-चिह्न जिसकी Shift स्थिति लेआउट-निर्भर हो, या अज्ञात कुंजी।                        | इसके बजाय वह टेक्स्ट `type` क्रिया के माध्यम से भेजें।                                                                                                                                                                                    |
| `COMPUTER_DRIVER_ERROR` / `COMPUTER_INVALID_REQUEST` | ड्राइवर किसी संरचित कोड के बिना विफल हुआ, या क्रिया के आर्ग्युमेंट विकृत थे।                                                                            | ड्राइवर की स्थिति जाँचें और स्क्रीनशॉट दोबारा लें; क्रिया के आर्ग्युमेंट ठीक करें।                                                                                                                                                        |

## `computer.act` Node कमांड

`computer.act` वह एकल Node कमांड है जिसके माध्यम से टूल इनपुट रूट करता है (`node.invoke`, `command: "computer.act"` के साथ)। यह है:

- **डिफ़ॉल्ट रूप से खतरनाक**: अंतर्निहित खतरनाक Node कमांड में सूचीबद्ध और स्पष्ट रूप से आर्म किए जाने तक रनटाइम अनुमति-सूची से बाहर। macOS, Windows और Linux डेस्कटॉप Node इसे युग्मन के समय फिर भी घोषित कर सकते हैं, ताकि यह सतह एक बार अनुमोदित हो जाए।
- **क्षमता-आधारित**: टूल के लिए कनेक्ट किए गए Node द्वारा `computer.act` और `screen.snapshot` दोनों विज्ञापित करना आवश्यक है। बंडल किया गया macOS ऐप और ऑप्ट-इन प्रयोगात्मक `cua-computer` Plugin समान कमांड-युग्म को पूरा करते हैं।

रीड क्रियाएँ `screen.snapshot` का पुनः उपयोग करती हैं; कोई दूसरा कैप्चर पथ नहीं है। साझा कैप्चर कमांड के लिए [कैमरा और स्क्रीन Node](/hi/nodes/camera) देखें।

## सक्षम और आर्म करें

1. प्लेटफ़ॉर्म फुलफ़िलर सक्षम करें: macOS पर **Settings → Allow Computer Control** सक्षम करें, फिर **Settings → Permissions** के अंतर्गत **Accessibility** और **Screen Recording** की अनुमति दें; Windows/Linux पर ऊपर दिए गए प्रयोगात्मक `cua-computer` सेटअप का पालन करें।
2. Gateway पर पेयरिंग अपडेट को स्वीकृति दें (नया कमांड दोबारा पेयरिंग को बाध्य करता है)।
3. टूल को विज़न-सक्षम एजेंट के लिए उपलब्ध कराएँ। डिफ़ॉल्ट `coding` प्रोफ़ाइल के लिए:

   ```json5
   {
     tools: {
       alsoAllow: ["computer"],
       // सैंडबॉक्स किए गए एजेंटों को इस दूसरे गेट की भी आवश्यकता होती है:
       sandbox: { tools: { alsoAllow: ["computer"] } },
     },
   }
   ```

4. सीमित समयावधि के लिए `computer.act` को आर्म करें। `phone-control` Plugin एक `computer` समूह उपलब्ध कराता है:

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

   आर्म करने के लिए `operator.admin` (या स्वामी) आवश्यक है और इसकी अवधि स्वतः समाप्त हो जाती है। पुराना `/phone arm all` समूह जानबूझकर डेस्कटॉप नियंत्रण को शामिल नहीं करता; स्पष्ट `computer` समूह का उपयोग करें। आर्म करना केवल यह टॉगल करता है कि Gateway क्या इनवोक कर सकता है; Node ऐप अब भी अपनी प्लेटफ़ॉर्म-विशिष्ट सेटिंग और OS अनुमतियाँ लागू करता है, जिनमें macOS पर **Allow Computer Control**, Accessibility और Screen Recording शामिल हैं।

स्थायी प्राधिकरण के लिए, `computer.act` को `gateway.nodes.commands.allow` में जोड़ें **और इसे** `gateway.nodes.commands.deny` **से हटाएँ**; अस्वीकार सूची को प्राथमिकता मिलती है। स्थायी प्राधिकरण स्वतः समाप्त नहीं होता। `/phone arm` से पहले मौजूद प्रविष्टियाँ `/phone disarm` के बाद भी बनी रहती हैं; अस्थायी अनुमति के आर्म रहते हुए उसे स्थायी में न बदलें।

प्राधिकरण को जानबूझकर सक्षम करने और उपयोग के बीच विभाजित किया गया है। `computer.act` को आर्म करने या
स्थायी रूप से कॉन्फ़िगर करने के लिए प्रशासनिक अधिकार आवश्यक है।
आर्म होने के बाद, `operator.write` वाला प्रमाणीकृत ऑपरेटर
`computer.act` को `node.invoke` के माध्यम से तब तक इनवोक कर सकता है, जब तक अनुमति समाप्त या डिसआर्म नहीं हो जाती;
हर कार्रवाई के लिए अलग से एडमिन जाँच नहीं होती। `computer.act` घोषित करने वाले Node को स्वीकृति देना
केवल उस सतह को दर्ज करता है, ताकि उसे बाद में आर्म किया जा सके, और यह
स्वयं इनवोकेशन सक्षम नहीं करता।

## सुरक्षा

- प्राधिकरण से पहले, प्रत्येक परत (टूल नीति, Gateway कमांड नीति, Node ऐप सेटिंग और प्लेटफ़ॉर्म अनुमतियाँ) का सहमत होना आवश्यक है। वर्तमान macOS फुलफ़िलर के लिए, इसमें **Allow Computer Control**, Accessibility और Screen Recording शामिल हैं। आर्म होने के बाद, अवधि समाप्त होने या `/phone disarm` तक कार्रवाइयाँ हर कार्रवाई की पुष्टि के बिना निष्पादित होती हैं।
- macOS फुलफ़िलर एक बार में एक ग्रैफीम के अनुसार टेक्स्ट पोस्ट करता है, इसलिए रद्द करना, डिस्कनेक्ट होना, रोकना, अक्षम करना या एंडपॉइंट बदलना इसे अगले ग्रैफीम से पहले रोक देता है। प्रयोगात्मक cua-driver फुलफ़िलर टाइपिंग के बीच में `type_text` कॉल को रद्द नहीं कर सकता।
- स्क्रीनशॉट केवल मॉडल के लिए होते हैं और कभी भी चैट में स्वतः नहीं भेजे जाते (समस्या [#44759](https://github.com/openclaw/openclaw/issues/44759))।
- स्क्रीन सामग्री को अविश्वसनीय मानें; उसमें प्रॉम्प्ट इंजेक्शन हो सकता है।

## अन्य डेस्कटॉप-नियंत्रण पथों से संबंध

यह एजेंट-संचालित पथ है। PeekabooBridge होस्ट, Codex Computer Use और प्रत्यक्ष `cua-driver` MCP से इसके संबंध के लिए [Peekaboo ब्रिज](/hi/platforms/mac/peekaboo) देखें।
