Skip to main content

حدود المعدل والحصص

سياسة حدود المعدل لواجهة Synapse API — ترويسة Bearer (غير محدودة)، ?key= (60/دقيقة)، نقاط النهاية العامة.


حدود المعدل والحصص

يملك Synapse سياسة حدود معدل بسيطة وقابلة للتنبؤ مصممة لمنع إساءة الاستخدام دون أن تعيق الاستخدام المشروع.

سياسة حد المعدل

طريقة المصادقة الحد النطاق
Mind Key (Authorization: Bearer) لا يوجد لكل عقل
Mind Key (?key=) 60 طلبًا/دقيقة لكل IP
JWT (Authorization: Bearer) لا يوجد لكل مستخدم
نقاط النهاية العامة لا يوجد عام
**استخدم دائمًا ترويسة `Authorization: Bearer`** عندما يكون ذلك ممكنًا. ليس لها حد معدل. استخدم `?key=` فقط للأدوات التي لا تستطيع تعيين ترويسات مخصصة.

ترويسات حد المعدل

عند استخدام مصادقة ?key=، تتضمن الاستجابات ترويسات حد المعدل:

X-RateLimit-Limit: 60
X-RateLimit-Remaining: 42
X-RateLimit-Reset: 1782567840

عند تجاوز الحد:

HTTP/1.1 429 Too Many Requests
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 0
Retry-After: 42
Content-Type: application/json

{
  "statusCode": 429,
  "error": "Too Many Requests",
  "message": "Rate limit exceeded. Use Authorization header for unlimited access."
}

عند بلوغ حد المعدل

إذا حصلت على 429:

  1. بدّل إلى ترويسة Authorization (موصى به):

    # لا تفعل: ?key=YOUR_MIND_KEY (حد 60/دقيقة)
    curl ".../memory/recall?key=YOUR_MIND_KEY"
    
    # افعل: ترويسة Authorization (غير محدودة)
    curl -H "Authorization: Bearer YOUR_MIND_KEY" .../memory/recall
  2. أو انتظر Retry-After ثانية وأعد المحاولة.

لماذا يوجد حد ?key=

معامل الاستعلام ?key= مريح للأدوات التي تفتح عناوين URL فقط (المتصفحات، أوامر open)، لكن له آثارًا أمنية وأدائية:

  • الأمان: تُسجّل معاملات الاستعلام في سجلات الوصول للخادم، وبيانات المتصفح، وترويسات Referer. تحديد الاستخدام يقلل من التعرض.
  • الأداء: تتطلب مصادقة معامل الاستعلام مُحدّد معدل قائم على IP (بحث Redis لكل طلب)، مما يضيف زمن استجابة. مصادقة الترويسة تتجاوز هذا.
  • منع الإساءة: يمكن مشاركة عنوان URL ?key= المُسرّب وقصفه بالطلبات. يُحجم حد IP دائرة الضرر.

الأنماط الموصى بها

وكلاء LLM

# استخدم دائمًا مصادقة الترويسة
headers = {"Authorization": f"Bearer {MIND_KEY}"}
response = requests.get(f"{URL}/memory/recall", headers=headers)

أدوات المتصفح

إذا كانت أداتك تفتح عناوين URL فقط:

# مقبول للاستخدام المتقطع (أقل من 60/دقيقة)
open "https://synapse.schaefer.zone/memory/recall?key=YOUR_MIND_KEY"

# للاستخدام المتكرر، بدّل إلى أداة تدعم الترويسات
curl -H "Authorization: Bearer YOUR_MIND_KEY" .../memory/recall

خادم MCP

خوادم MCP تستخدم دائمًا مصادقة الترويسة عبر متغير البيئة SYNAPSE_MIND_KEY — لا ينطبق حد معدل.

الاستيراد الكمي

للعمليات الكمية (مثل استيراد 1000 ذاكرة)، استخدم دائمًا مصادقة الترويسة. الاستيراد الكمي عبر ?key= سيبلغ حد المعدل خلال دقيقة واحدة.

الحصص (على مستوى العقل)

لا توجد حاليًا حصص على مستوى العقل لحجم التخزين أو عدد الذكريات. جميع الحدود على مستوى المصادقة/IP، وليس على مستوى البيانات. قد يتغير ذلك مستقبلًا لضمان العدالة في البيئات متعددة المستأجرين.

مراقبة الاستخدام

# تحقق من حالة حد المعدل الحالية (مع مصادقة ?key=)
curl -i "https://synapse.schaefer.zone/memory/stats?key=YOUR_MIND_KEY" | grep -i ratelimit

# المخرجات:
# X-RateLimit-Limit: 60
# X-RateLimit-Remaining: 58
# X-RateLimit-Reset: 1782567840

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