# الإعلان عن عناصر مساحة العمل (/docs/ar/posts/announcing-workspace-widgets)



# الإعلان عن عناصر مساحة العمل [#الإعلان-عن-عناصر-مساحة-العمل]

نطلق اليوم **عناصر مساحة العمل**، وهي طريقة لوضع تطبيقات حيّة
وتفاعلية مباشرة على لوحة مساحة العمل في Robutler، جنبًا
إلى جنب مع وكلائك ومحادثاتك.

<!-- more -->

## ما الذي تغيّر [#ما-الذي-تغيّر]

حتى اليوم كانت مساحة العمل مكانًا رائعًا للتحدث إلى
وكلائك وتثبيت المحتوى لوقت لاحق. أما مع العناصر فتصبح سطح
مكتب حقيقي تبنيه من قطع صغيرة قابلة للتركيب:

* **نواة Python** تعمل في تبويبك، مع numpy وmatplotlib
  مثبّتين مسبقًا. ارسم مخططًا فيظهر كعنصر مجاور على
  اللوحة، لا مدفونًا في لوحة طرفية.
* **طرفية محلية** موصولة بخدمة تعمل على جهازك.
* **عنصر SSH** للأجهزة الإنتاجية التي تعود إليها
  دائمًا. إدارة المفاتيح والمضيفين نفسها كما في الطرفية القديمة،
  لكن أنظف.
* **تضمين متصفح** للوحات المعلومات التي تعيش فيها.
* محرر **CodeMirror** لتحريرات سريعة للنصوص والكود.
* **ملاحظات لاصقة** و**أشكال** و**روابط** لرسم
  الخطط على اللوحة (مثل Figjam، لكن بجانب وكيلك تمامًا).
* وحزمة من الألعاب الترفيهية (Snake وTetris وSpace
  Invaders) لأن مساحات العمل ينبغي أن تكون ممتعة.

شغّل واحدًا من زر `+` ثم **Widget** ثم ابحث في
الكتالوج.

## الجديد لبنّائي الوكلاء [#الجديد-لبنّائي-الوكلاء]

العناصر ليست للبشر فقط. يستطيع الوكلاء:

* **إنشاء عناصر على اللوحة** عبر عائلة الأدوات
  `present.*`. فـ `present.image` و`present.code` و`present.url`
  و`present.chart` و`present.note` والمساعد العام `present.widget`
  تتيح للوكلاء نشر مخرجات بصرية بجانب
  المحادثة.
* **قيادة نوى Python** عبر `workspace_widgets_invoke(id, 'eval' | 'run', ...)`.
  اشترك في أحداث `stdout` و`stderr` و`display`
  فتتدفق أشكال matplotlib مباشرة إلى اللوحة
  في الوقت الحقيقي.
* **تشغيل أوامر الطرفية** على عناصر الخدمة المحلية وSSH عبر الأداة
  نفسها `workspace_widgets_invoke(id, 'run', ...)`. كل أمر
  يكتب إخطارًا مدققًا `widget.agent_command` لتعرف
  بالضبط ما الذي
  نُفّذ.

مصنع الوكلاء مدرك للسطح الجديد: فهو يستطيع بناء
عناصر من بضع إشارات في المطالبة، وربط `host.kv` لحفظ الحالة،
وإخراج إسقاطات DSL لتطبيقات Robutler الأصلية على iOS وAndroid.

## الثقة افتراضيًا، والمخاطرة باختيارك [#الثقة-افتراضيًا-والمخاطرة-باختيارك]

السماح لوكيل بتشغيل أوامر الطرفية خطر إذا كان المفتاح
مفعّلًا دائمًا. لذلك نطلق الإعداد الافتراضي المعاكس: كل عنصر خدمة محلية
أو SSH يبدأ بخيار **Allow agents to run commands** معطّلًا. فعّله
لكل عنصر عندما تكون مستعدًا، وعطّله عندما تنتهي.

نوى Python مفعّلة افتراضيًا لأنها معزولة داخل
تبويبك: فحتى الوكيل الجامح لا يستطيع الخروج من Pyodide.
والمفتاح موجود مع ذلك إن أردت إغلاق النواة في جلسة
مشتركة.

كل أمر وكيل مقبول أو مرفوض يكتب سجل تدقيق.
افتح تدفق الإخطارات وابحث عن `widget.agent_command`
لترى سجلك الأسبوعي.

## عناصر متعددة المنصات [#عناصر-متعددة-المنصات]

يمكن للعناصر أن تشمل اختياريًا **إسقاطًا**، وهو شجرة
تعريفية صغيرة مترجمة من دالة JS. والإسقاطات تشغّل ثلاثة أمور:

. معاينة خفيفة تُعرض على اللوحة دون
  تحميل الإطار الكامل (مكسب أداء كبير مع تثبيت عشرات
  العناصر).
. عرض أصلي للعنصر في تطبيقي Robutler على iOS وAndroid
  القادمين أواخر هذا العام. يستعلم التطبيق عن الإسقاط
  دوريًا ويعرضه كبطاقة عنصر أصلية على iOS أو Android.
. إسقاط لشريط الإرساء: ثبّت عنصرًا في الشريط فيتولى
  الإسقاط العرض، لتقرأ الحالة بنظرة واحدة دون
  تحميل الإطار الكامل في الذاكرة.

إذا كنت تكتب عنصرًا اليوم، فإرجاع إسقاط
اختياري لكنه مستحسن. راجع
[دليل host SDK](/guides/widgets/host-sdk/) لمعرفة
قواعد لغة DSL.

## جرّبه [#جرّبه]

افتح [مساحة العمل](/workspace)، واضغط زر `+`، واختر
**Widget**. أو اطلب من وكيلك ببساطة: «أرني مخطط سهم
NVDA» وشاهد نواة Python تنطلق، وشكل matplotlib
يظهر، والوكيل يكتب له وصفًا في الجوار.

لا نطيق صبرًا لنرى ما ستبنيه.

فريق Robutler
