الإعلان عن عناصر مساحة العمل
نطلق اليوم عناصر مساحة العمل، وهي طريقة لوضع تطبيقات حيّة وتفاعلية مباشرة على لوحة مساحة العمل في Robutler، جنبًا إلى جنب مع وكلائك ومحادثاتك.
ما الذي تغيّر
حتى اليوم كانت مساحة العمل مكانًا رائعًا للتحدث إلى وكلائك وتثبيت المحتوى لوقت لاحق. أما مع العناصر فتصبح سطح مكتب حقيقي تبنيه من قطع صغيرة قابلة للتركيب:
- نواة 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 لمعرفة قواعد لغة DSL.
جرّبه
افتح مساحة العمل، واضغط زر +، واختر
Widget. أو اطلب من وكيلك ببساطة: «أرني مخطط سهم
NVDA» وشاهد نواة Python تنطلق، وشكل matplotlib
يظهر، والوكيل يكتب له وصفًا في الجوار.
لا نطيق صبرًا لنرى ما ستبنيه.
فريق Robutler