الانتقال إلى محتوى الصفحة
الوثائق
وثائق Make Agent Fast

SvelteKit

حمّل الوكيل القابل للتضمين وأزل تحميله ضمن دورة حياة المتصفح في تخطيط SvelteKit.

نظرة سريعة

حمّل الوكيل القابل للتضمين وأزل تحميله ضمن دورة حياة المتصفح في تخطيط SvelteKit.

مسار تثبيت التضمينيتواصل المحمّل على موقعك مع بيئة تشغيل الوكيل المستضافة
موقعك الإلكترونيHTML / appسكربت التحميلembed.jsواجهة الودجتمحادثة / صوتالوكيل

تجهيز المصدر#

فعّل خيار اعرضه على موقعي للوكيل (صفحة الوكيل ← ابدأ النشر ← أداة الموقع)، ثم أضف كل مصدر (origin) دقيق لبيئات التطوير والمعاينة والإنتاج في SvelteKit ضمن عناوين المواقع المسموح بها. استخدم تخطيطًا جذريًا (root layout) للحصول على أيقونة تشغيل تظهر في الموقع كله، أو استخدم تخطيطًا فرعيًا أو مكوّن صفحة لمسارات محددة.

إنشاء المكوّن#

لا يعمل onMount إلا في المتصفح. أعد دالة تنظيف عندما يكون من الممكن إلغاء تركيب التخطيط أو المكوّن المالك.

<script lang="ts">
  import { onMount } from "svelte";

  const slug = "YOUR_SITE_SLUG";

  onMount(() => {
    if (document.getElementById(`maf-embed-root-${slug}`)) return;

    const script = document.createElement("script");
    script.id = "maf-agent";
    script.src = "https://makeagent.fast/embed.js?v=20261022-open";
    script.dataset.agent = slug;
    script.dataset.position = "right";
    script.async = true;
    document.body.appendChild(script);

    return () => {
      script.remove();
      document.getElementById(`maf-embed-root-${slug}`)?.remove();
    };
  });
</script>

ركّب المكوّن مرة واحدة من src/routes/+layout.svelte ليشمل التطبيق بأكمله. أما لمجموعة مسارات (route group)، فضعه في ملف +layout.svelte الخاص بتلك المجموعة؛ إذ تزيل دالة التنظيف أيقونة التشغيل عندما يغادر الزائر المجموعة.

استخدام الإعدادات بأمان#

يمكن أن يكون معرّف الموقع العام (slug) قيمة بيئة عامة في SvelteKit لأنه ليس بيانات اعتماد. لا تستخدم $env/static/public أو كود المتصفح لمفاتيح MAF API أو مفاتيح مزوّدي الذكاء الاصطناعي أو أسرار الموصّلات. احتفظ بها في وحدات أو مسارات تعمل على الخادم فقط.

الحفاظ على حالة المحادثة أو إعادة ضبطها#

يحافظ إبقاء المكوّن في التخطيط الجذري على الـ iframe نفسه عبر التنقل من جهة العميل. أما التنظيف المرتبط بمسار معيّن فيتخلص عمدًا من ذلك الـ iframe ومن حالته الحالية داخل الصفحة. اختر سلوكًا واحدًا بدلًا من إعادة التركيب في كل صفحة.

التحقق من نسخة الإنتاج#

  1. شغّل محوّل (adapter) الإنتاج أو عملية البناء في SvelteKit.
  2. حمّل المسار العام مباشرة وتأكد من وجود أيقونة تشغيل واحدة وعنصر جذري واحد.
  3. تنقّل إلى التخطيط المالك ثم اخرج منه.
  4. افحص Network/CSP والمصدر الأب (parent origin) الدقيق.
  5. جرّب رسالة حقيقية وعرضًا ضيقًا، واختبر الميكروفون عند تفعيله.

استكشاف الأخطاء وإصلاحها#

العَرَضالحل
خطأ document أثناء SSRأبقِ كل كود التحميل داخل onMount
تبقى أيقونة التشغيل بعد مغادرة التخطيطأعد دالة تنظيف وأزل العنصر الجذري الذي تم إنشاؤه
تُعاد ضبط المحادثة في كل صفحةركّب المكوّن في +layout.svelte أب دائم
يمنع حارس التكرار التركيب الجديدتأكد من أن التنظيف السابق أزال العنصر الجذري القديم قبل إضافة سكربت جديد
يفشل في الإنتاج فقطأضف مصدر HTTPS النهائي إلى قائمة السماح وافحص ترويسات CSP الخاصة بالمحوّل

لا يتوفر حاليًا محوّل SvelteKit منشور عبر npm؛ والسكربت المستضاف هو واجهة التكامل المدعومة.