تخطَّ إلى المحتوى الرئيسي
تصفّح التوثيق

توليد عُدّة التكامل

يكتب syncanix generate مجلّد ‎syncanix/‎ في مشروعك — مثبِّت الودجت، وأنواعك، وملفات التسجيل، ومتطلَّب CSP — ولا يعدّل أبدًا ملفًا كتبته أنت.

يكتب syncanix generate كل ما يحتاجه Syncanix بوصفه شيفرة في مجلّد واحد من مشروعك. وهو ينشئ ملفات جديدة وملفات جديدة فقط: لا شيء مما يفعله يمكن أن يغيّر شيئًا كتبته أنت، فلا فرق في ملفاتك تحتاج إلى مراجعته ولا شيء للتراجع عنه.

npx syncanix generate --key pk_live_…

ما تحصل عليه

مجلّد واحد، وملف واحد لكل شأن، وكله شيفرة مقروءة تملكها أنت:

syncanix/
  index.ts         the one file you import — installs the widget, applies everything below
  widget.ts        installs the widget from code (idempotent, with a teardown)
  types.d.ts       types for window.syncanix, so your editor knows the API
  actions.ts       functions the agent may run on the page
  components.ts    UI the agent may render in the chat
  data-sources.ts  live data the agent may read
  page-actions.ts  the routes and controls from your last scan
  csp.ts           the CSP sources the widget needs, as a value to spread
  identity.ts      your token provider (written only with --idp)

الملف الجامع هو الفكرة كلها: فهو يثبّت طابور الأوامر، ثم الودجت، ثم يطبّق كل تسجيل في المجلّد، بالترتيب الذي يجعلها تعمل. فيستورد تطبيقك مسارًا واحدًا لا غير.

import './syncanix';

هذه الملفات لك أن تحرّرها

يسجّل المولّد تجزئة لما كتبه. وإعادة التشغيل تحدّث الملفات التي لم تمسّها وتترك تلك التي مسستها، فتُبلّغ عنها بدل الكتابة فوقها — وبذلك لا تضعك إضافةُ إجراءاتك الخاصة إلى ‎actions.ts‎ في الجانب الخطأ من الترقية التالية.

إخبار Syncanix بهوية الزائر

سمِّ مزوّد الهوية لديك فيكتب المولّد ‎identity.ts‎ من أجله. وهو يأخذ دالة جلب الرمز لديك وسيطًا بدلًا من أن يمتدّ إلى متغيّر عام، لأن عميل المصادقة لديك شيء لا تصل إليه سوى شيفرتك أنت — ولذلك لا يستدعيه الملف الجامع عمدًا، وتوصّله أنت من حيث يوجد ذلك العميل.

npx syncanix generate --key pk_live_… --idp auth0
import { connectSyncanixIdentity } from './syncanix/identity';

connectSyncanixIdentity(() => auth0.getAccessTokenSilently());

المسارات وعناصر التحكم تأتي من فحصك

يخبر ‎page-actions.ts‎ الوكيل بالصفحات التي يمكنه الوصول إليها وعناصر التحكم التي يجوز له تشغيلها. شغّل فحصًا أولًا فيملؤه المولّد نيابةً عنك؛ وبدونه يكتب مثالًا معلَّقًا لتملأه بيدك.

npx syncanix init
npx syncanix generate

أو دع الأداة تفعل ذلك عنك

هناك طريقتان لتثبيت الودجت، وأيّهما تريد أمرٌ يخصّ مستودعك لا توصيةٌ يمكننا تقديمها لك.

syncanix integrate
يجد إطار عملك ويُجري التعديلات: التضمين في HTML لديك، وسياسة Content-Security-Policy، والمتغيّرات في ‎.env‎. توافق أنت على كل ملف من الفرق الخاص به، ويُنسَخ احتياطيًا كلُّ ما يُكتَب فوقه، وتُطبَّق المجموعة كاملةً أو لا يُطبَّق منها شيء، ويعيد ‎--uninstall‎ الحال إلى ما كان.
syncanix generate
يكتب العُدّة لا غير. الجأ إليه حين لا تريد أن توافق على أداة تعدّل مستودعك.
syncanix integrate --kit
كلاهما: الاكتشاف والموافقة وتعديلات CSP و‎.env‎ وإلغاء التثبيت — لكن الشيفرة تحطّ في العُدّة، ويُترك HTML لديك دون مساس لأن العُدّة تثبّت الودجت من الشيفرة. وتضيف أنت الاستيراد الواحد.
npx syncanix integrate --kit

الخطوات التالية