Tools
إظهار الأداة المصغّرة
تعرض الأداة show_widget جزء SVG أو HTML مكتفيًا ذاتيًا ضمنيًا في نص محادثة واجهة التحكم. يمتلك Plugin Canvas المضمّن الأداة ويستضيف كل نتيجة بوصفها مستند Canvas من المصدر نفسه.
لا تتوفر الأداة إلا عندما يعلن عميل Gateway الذي بدأ الطلب عن إمكانية inline-widgets. تعلن واجهة التحكم عن هذه الإمكانية تلقائيًا. لا تتلقى عمليات التشغيل عبر القنوات مثل Telegram وWhatsApp الأداة show_widget.
يشمل نقل الإمكانات الواجهات الخلفية للنماذج المضمّنة، وخادم تطبيق Codex، والواجهات الخلفية المستندة إلى CLI. تظل استدعاءات MCP المصادق عليها بالمنح والاستدعاءات المباشرة لأداة عبر HTTP مغلقة افتراضيًا لأنها لا تعلن عن إمكانات العميل.
استخدام الأداة
يوفر الوكيل سلسلتين نصيتين مطلوبتين:
titlestringrequiredعنوان قصير يظهر مع المعاينة المضمّنة وفي عنوان المستند المستضاف.
widget_codestringrequiredجزء SVG أو HTML مكتفٍ ذاتيًا. يُعرض الإدخال الذي يبدأ بـ <svg بعد إزالة المسافات الزائدة في وضع SVG؛ وتُعامل جميع الإدخالات الأخرى بوصفها أجزاء HTML. الحد الأقصى للطول: 262,144 حرفًا.
تتضمن نتيجة الأداة مُعرّف معاينة Canvas، لذا تعرض محادثة الويب الأداة المصغّرة مباشرةً من استدعاء الأداة وتستعيدها بعد إعادة تحميل السجل. وتظل النصوص التي لا تعرض المعاينات تُظهر مسار Canvas المستضاف.
الأمان والتخزين
تستخدم مستندات الأدوات المصغّرة سياسة أمان محتوى مقيّدة: يُسمح بالأنماط والبرامج النصية المضمّنة، ويمكن للصور استخدام عناوين URL من نوع data:، بينما تُحظر عمليات الجلب الخارجية وتحميل الموارد. احتفظ بجميع الترميزات والأنماط والبرامج النصية وبيانات الصور داخل widget_code.
يحذف إطار iframe دائمًا allow-same-origin، حتى عندما يكون وضع التضمين العام لواجهة التحكم هو trusted، ولذلك لا يمكن لبرامج الأداة المصغّرة النصية قراءة مصدر التطبيق الأب. كما يقدّم مضيف Canvas مستندات الأدوات المصغّرة مع ترويسة الاستجابة Content-Security-Policy: sandbox allow-scripts، لذا يظل فتح عنوان URL المستضاف مباشرةً يشغّل الأداة المصغّرة في مصدر مبهم بدلًا من مصدر واجهة التحكم. لا يمنع وضع الحماية في المتصفح البرنامج النصي من التنقل داخل إطار iframe الخاص به؛ لا تعرض إلا رمز الأداة المصغّرة الذي تقبل بتنفيذه داخل ذلك الإطار المعزول.
يتبع إطار iframe أيضًا الإعداد gateway.controlUi.embedSandbox. تدعم الفئة الافتراضية scripts الأدوات المصغّرة التفاعلية مع الحفاظ على عزل المصدر.
يحتفظ Canvas بما لا يزيد على 32 أداة مصغّرة لكل جلسة (أو لكل وكيل عند عدم توفر جلسة). تؤدي إضافة أداة مصغّرة أخرى إلى إزالة أقدم مستند ضمن ذلك النطاق.