إرسال واحد.
JSON مُتحقَّق منه، جاهز للإدماج.
ينفّذ OneShotAiPanel مهمةً في جولة واحدة: يتصل بـ LLM تهيّئه (opencode أو shadcn أو fallback أو محوّل مخصص لك)، ويبثّ JSON ويتحقّق منه وفق المخططات، ثم يدمج المحتويات في بيئتك.
تقديم
كيف يعمل
مكوّن React يتصل بـ LLM الذي تختاره ويحوّل الطلب إلى مخرجات مُتحقَّق منها، دون نسخ ولصق يدوي.
1. صِف المهمة
prompt للمستخدم، وprompt للنظام، وملفات سياق. يجمع المكوّن الـ prompt النهائي.
2. هيّئ الاتصال بالنموذج
يتصل المكوّن بالموفر الذي تهيّئه عبر المحوّل (opencode أو shadcn أو fallback) أو عبر onSend الخاص بك. دون هذا الاتصال، لا يعمل شيء.
3. إرسال واحد
يستجيب النموذج بتدفّق JSON. ينتظر كل ticket بنيةً محددة يضبطها المخطط.
4. تحقّق تلقائي
يُتحقَّق من صحة الاستجابة وفق المخططات. عند أي انحراف، يُعاد إرسال ملاحظات موجّهة لجولة ثانية.
5. Diff والمراجعة
إذا وُجد محتوى سابق، يعرض لك diff سطرًا بسطر ما الذي سيتغيّر قبل الإدماج.
6. الإدماج
استرجع المحتوى المحدد عبر onPlug واربطه في الكود أو المحوّل أو الـ SDK الخاص بك.
Wireframe
استكشف المكوّن
المكوّن الفعلي في وضع القراءة فقط. مرّر المؤشر وانقر على النقاط المرقّمة لفهم كل منطقة.
يجب أن يشير كل ملف إلى مسار مطلق أو عنوان URL (ملف محلي، CDN، خادم، درايف...) يمكن للوكيل الاطلاع عليه.
تصف التذاكر المهام الملموسة التي على الوكيل إنجازها. يمكن أن تحتوي كل تذكرة على وصف وتفسير ومخطط استجابة متوقع. التذكرة المُعلَّمة «منجزة» تُستبعد من الموجه.
البريد الإلكتروني + كلمة المرور، وإدارة الأخطاء.
إنشاء حساب مع التحقّق.
Middleware للمسارات الخاصة.
انقر على نقطة مرقّمة لاستكشاف كل منطقة. مرّر المؤشر للحصول على معاينة.
الترويسة
يحمل شريط الترويسة عنوان المهمة وزر مساعدة (نقاط الإدماج والاعتمادات) وزر الإعدادات. كل شيء قابل للضبط عبر الـ props (title, showInfoButton, showSettingsButton...).
الإعدادات
كل الخيارات، عبر الـ props
يتم الإعداد على مستوى طبقة الإدماج. إليك الخيارات الرئيسية.
المحتوى
titlestringالعنوان المعروض في ترويسة المكوّن.
systemPromptstringالدور والقواعد المعطاة للنموذج.
initialUserPromptstringالطلب الأولي المعبأ مسبقًا في حقل المستخدم.
السياق
filesAiPanelContextFile[]ملفات المشروع المقدمة كسياق للنموذج.
ticketsAiPanelTicket[]تقسيم المهمة، مع مخطط JSON لكل ticket.
العقد
parserAiPanelResponseParserتخصيص تحليل الاستجابة (parsing) والتحقّق منها.
invalidMode'warn' | 'block'التحذير أو المنع عندما لا تتطابق الاستجابة مع المخططات.
Adapter
adapterAiAdapterConfigProvider (opencode, shadcn, fallback)، والنموذج ومفتاح API.
onSendAiPanelSendHandlerاستبدال الإرسال بمنطقك الخاص (SDK، proxy...).
الأحداث
onPlugfn(response, keys)يُستدعى عند إدماج المستخدم للمحتوى المحدد.
i18n
language'fr' | 'en'لغة الواجهة.
labelsPartial<AiPanelLabels>تعديل دقيق لأي تسمية.
UI
actionLabelstringتسمية زر التشغيل الرئيسي.
showInfoButtonbooleanيعرض زر المساعدة/الإدماج/الاعتمادات.
showSettingsButtonbooleanيعرض زر الإعدادات.
showInfoIntegrationbooleanيعرض نقطة الإدماج في لوحة المساعدة.
showInfoCreditsbooleanيعرض الاعتمادات في لوحة المساعدة.
Diff
شاهد قبل الإدماج
عندما يملك ticket محتوىً سابقًا، يقارن المكوّن ويترك لك الخيار.
هل لديك ticket بمحتوى سابق؟
يحسب المكوّن diff سطرًا بسطر بين المحتوى السابق واقتراح النموذج. يمكنك الإبقاء أو الاستبدال أو الدمج قبل الإدماج.
Playground
جرّبه هنا
يعمل المكوّن فعليًا على هذه الصفحة. اضبط الـ props، واختر العرض، ثم شغّل.
أنواع JSON المسموح بها في صيغة استجابة الـ tickets:
تصف صيغة الاستجابة القيمة المتوقعة لكل ticket. مثال:{ "type": "object", "properties": { "email": { "type": "string" } }, "required": ["email"] }
جاهز للتشغيل
التوليد محاكى بالكامل (streaming + تحقّق)، دون خادم.
العدّادات
الموقع بالأرقام
عدّادات عامة تتحدّث في الوقت الفعلي. نقرة واحدة، رقم واحد.
عدّ تقريبي · زيارة واحدة لكل جلسة.