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).
  • تفعيل إعداد تطبيق 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؛ ولا يوجد مسار التقاط ثانٍ. راجع عُقد الكاميرا والشاشة للاطلاع على أمر الالتقاط المشترك.

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

  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).
  • تعامل مع محتوى الشاشة على أنه غير موثوق؛ فقد يتضمن حقنًا للموجّهات.

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

هذا هو المسار الذي يقوده الوكيل. راجع جسر Peekaboo لمعرفة علاقته بمضيف PeekabooBridge، واستخدام الكمبيوتر في Codex، وMCP المباشر cua-driver.

Was this useful?
On this page

On this page