العودة إلى لوحة التحكم

التوثيق

تعلّم كيفية استخدام Asyntai

Access Tags

قصر عناصر المعرفة على الزوار المصرح لهم — يُفرض على خوادمنا، وليس بواسطة الذكاء الاصطناعي

الانتقال إلى Access Tags
Enterprise

نظرة عامة

ليس كل المحتوى للجميع: مستندات للأعضاء فقط، مواد خاصة بمنطقة معينة، موارد مستويات مدفوعة. مع Access Tags يخدم روبوت دردشة واحد جماهير مختلفة بأمان. تضعون وسمًا على عنصر معرفة، ومنذ تلك اللحظة يصبح العنصر غير مرئي لأي زائر — باستثناء من تقدم صفحته ذلك الوسم موقّعًا من خادمكم الخاص. يُفرض التقييد في استعلام الاسترجاع لدينا، قبل أن يشارك نموذج الذكاء الاصطناعي أصلًا. الزائر بلا وسم لا يستطيع انتزاع المحتوى بأسئلة ذكية، لأنه لم يُسترجَع له قط.

كيف يعمل

  1. أنتم من يضع الوسوم على عناصر المعرفة - في صفحة Access Tags أو مباشرة عبر API؛ العناصر بلا وسوم تظل تعمل للجميع
  2. خادمكم يوقّع وسوم كل زائر - عندما يحمّل عضو مسجّل الدخول صفحتكم، يحدد نظامكم الخلفي صلاحياته ويوقّعها بمفتاح سري لا يملكه سواكم
  3. الودجة ترسل الإثبات الموقّع - يسافر مع كل رسالة دردشة؛ المتصفح ينقله فحسب ولا يمكنه تعديله دون كسر التوقيع
  4. نحن نتحقق ونفلتر - التوقيع الصالح يفتح العناصر ذات الوسوم المطابقة؛ الإثبات الغائب أو المعدّل أو المنتهي يعني حصول الزائر على المحتوى العام فقط

طريقة الإعداد

فعّلوا الميزة في صفحة Access Tags في لوحة التحكم — سيُولَّد مفتاح توقيع تلقائيًا. احتفظوا به على خادمكم فقط؛ فكل من يملكه يستطيع صنع إثباتات صالحة.

ضعوا الوسوم على المحتوى في الصفحة نفسها، أو عند إرسال العناصر عبر API:

POST /api/v1/knowledge/text/
{
  "title": "Members-only price list",
  "content": "...",
  "website_id": "123",
  "access_tags": ["premium"]
}

ثم اجعلوا خادمكم يطبع الإثبات الموقّع بجوار مقتطف الودجة. الرسالة المراد توقيعها هي قائمة الوسوم المفصولة بفواصل، موصولة بخط عمودي مع وقت الانتهاء عند استخدامه:

<?php
$tags    = "members,premium";          // this visitor's entitlements
$expires = time() + 3600;              // unix seconds, optional but recommended
$sig     = hash_hmac("sha256", $tags . "|" . $expires, $SECRET);
?>
<script>
window.Asyntai = window.Asyntai || {};
window.Asyntai.accessTags = "<?php echo $tags; ?>";
window.Asyntai.accessTagsExpires = "<?php echo $expires; ?>";
window.Asyntai.accessTagsSignature = "<?php echo $sig; ?>";
</script>

التوقيع نفسه في Node.js وPython:

// Node.js
const crypto = require("crypto");
const sig = crypto.createHmac("sha256", SECRET)
                  .update(tags + "|" + expires).digest("hex");

# Python
import hmac, hashlib
sig = hmac.new(SECRET.encode(), f"{tags}|{expires}".encode(),
               hashlib.sha256).hexdigest()

دون وقت انتهاء، وقّعوا سلسلة الوسوم وحدها. مع وقت الانتهاء يتوقف الإثبات عن العمل لحظة انقضائه — مفيد عندما يمكن سحب الصلاحيات، إذ يضطر الزائر لإعادة تحميل صفحة تتحكمون بها ليحصل على إثبات جديد.

ما هو مضمون

  • فرض على جانب الخادم - يعمل الفلتر داخل استعلام قاعدة البيانات عند الاسترجاع؛ للزوار غير المصرح لهم لا تدخل العناصر الموسومة سياق الذكاء الاصطناعي أصلًا، فلا يوجد ما يتسرب
  • الإغلاق عند الفشل في كل الحالات - لا توقيع، توقيع خاطئ، إثبات منتهٍ، ميزة معطّلة، خطة مخفّضة: في كل هذه الحالات يحصل الزائر على المحتوى العام فقط، ولا أكثر أبدًا
  • المتصفح لا يستطيع تزوير الوصول - تعديل الوسوم في أدوات المطور يكسر التوقيع؛ المفتاح لدى خادمكم وحده
  • منطق صلاحياتكم يبقى لكم - لا نعرف أبدًا كيف تقررون من يحصل على أي وسم؛ نتحقق فقط من أن خادمكم أكّد ذلك

جدير بالمعرفة

  • Access Tags تفويض، وUser Context تخصيص - استخدموا User Context لإخبار الذكاء الاصطناعي عن العضو؛ واستخدموا Access Tags للتحكم في المعرفة التي يجوز له الاستناد إليها
  • محتوى الموقع المزحوف عام دائمًا - مصدره موقعكم العام فلا شيء يُقيَّد؛ الوسوم تنطبق على عناصر النص والملفات وAPI
  • يكفي الزائر وسم مطابق واحد - العنصر ذو الوسمين متاح لزائر يحمل أيًّا منهما
  • إعادة توليد المفتاح تُبطل كل الإثباتات القديمة - افعلوها إن كان المفتاح ربما تسرّب، ثم حدّثوا صفحاتكم لتوقّع بالجديد
  • أسماء الوسوم متروكة لكم - حتى 20 لكل عنصر، 50 حرفًا لكل وسم، دون فواصل أو خطوط عمودية؛ ولا تظهر أبدًا في الدردشة التي يراها الزوار

تتكامل مع User Context: ميزة تتحكم في المعرفة التي يجوز للذكاء الاصطناعي استخدامها لهذا الزائر، والأخرى تخبره من هو الزائر.

سياق المستخدم مرّر بيانات المستخدم المسجّل إلى روبوت الدردشة الذكي لمحادثات مخصصة

ملاحظة: Access Tags جزء من اتفاقية Enterprise. راسلونا على [email protected] وسنشرح لكم كل شيء.