---
read_when:
    - السماح لوكيل Gateway برؤية سطح مكتب Mac والتحكم فيه
    - التفعيل أو الأذونات أو السلامة عند استخدام الحاسوب
    - توسيع أمر العقدة `computer.act` أو الجهات المنفذة له
summary: التحكم في سطح المكتب بواسطة الوكيل على Node مقترنة تعمل بنظام macOS عبر أداة الحاسوب وأمر Node ‏`computer.act`
title: استخدام الحاسوب
x-i18n:
    generated_at: "2026-07-12T06:11:19Z"
    model: gpt-5.6
    postprocess_version: locale-links-v1
    provider: openai
    source_hash: 2457d15a59857ffd9c7b160ea4ebed85c8372754abfc7bf75faafc963ecb6547
    source_path: nodes/computer-use.md
    workflow: 16
---

يتيح استخدام الكمبيوتر لوكيل 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).
- تفعيل إعداد تطبيق macOS **Allow Computer Control** (الافتراضي: معطّل).
- منح OpenClaw إذن **Accessibility** في macOS (لإدخال المؤشر ولوحة المفاتيح) وإذن **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 ‏`computer.act`

`computer.act` هو أمر Node الوحيد الذي تمرّر الأداة الإدخال من خلاله (`node.invoke` مع `command: "computer.act"`). وهو:

- **خطير افتراضيًا**: مُدرج ضمن أوامر Node الخطيرة المضمنة ومستبعد من قائمة السماح في وقت التشغيل إلى أن يُسلّح صراحةً. ومع ذلك، قد تعلن عنه Node تعمل على macOS عند الاقتران، بحيث تتم الموافقة على السطح مرة واحدة.
- **خاص بـ macOS** حاليًا: لا تعلن عنه إلا Node تعمل على macOS ومفعّل فيها **Allow Computer Control**.

تعيد عمليات القراءة استخدام `screen.snapshot`؛ ولا يوجد مسار التقاط ثانٍ. راجع [عُقد الكاميرا والشاشة](/ar/nodes/camera) للاطلاع على أمر الالتقاط المشترك.

## التمكين والتسليح

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](https://github.com/openclaw/openclaw/issues/44759)).
- تعامل مع محتوى الشاشة على أنه غير موثوق؛ فقد يتضمن حقنًا للموجّهات.

## العلاقة بمسارات التحكم الأخرى في سطح المكتب

هذا هو المسار الذي يقوده الوكيل. راجع [جسر Peekaboo](/ar/platforms/mac/peekaboo) لمعرفة علاقته بمضيف PeekabooBridge، واستخدام الكمبيوتر في Codex، وMCP المباشر `cua-driver`.
