# Hız Sınırları & Kotalar Synapse, kötüye kullanımı önleyen ve aynı zamanda meşru kullanımın önüne geçmeyen basit, öngörülebilir bir hız sınırı politikasına sahiptir. ## Hız Sınırı Politikası | Kimlik Doğrulama Yöntemi | Sınır | Kapsam | |-------------|-------|-------| | Mind Key (`Authorization: Bearer`) | **Yok** | Mind başına | | Mind Key (`?key=`) | 60 istek/dakika | IP başına | | JWT (`Authorization: Bearer`) | **Yok** | Kullanıcı başına | | Herkese açık uç noktalar | **Yok** | Global | > [!TIP] > Mümkün olduğunda **daima `Authorization: Bearer` başlığını kullanın**. Hız sınırı yoktur. `?key=` seçeneğini yalnızca özel başlık ayarlayamayan araçlar için kullanın. ## Hız Sınırı Başlıkları `?key=` kimlik doğrulaması kullandığınızda, yanıtlar hız sınırı başlıklarını içerir: ``` X-RateLimit-Limit: 60 X-RateLimit-Remaining: 42 X-RateLimit-Reset: 1782567840 ``` Sınırı aştığınızda: ``` 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." } ``` ## Hız Sınırına Ulaştığınızda 429 alırsanız: 1. **Authorization header'a geçin** (önerilir): ```bash # Don't: ?key=YOUR_MIND_KEY (60/min limit) curl ".../memory/recall?key=YOUR_MIND_KEY" # Do: Authorization header (unlimited) curl -H "Authorization: Bearer YOUR_MIND_KEY" .../memory/recall ``` 2. **Veya `Retry-After` saniye bekleyin** ve yeniden deneyin. ## ?key= Sınırı Neden Var `?key=` sorgu parametresi yalnızca URL kullanan araçlar (tarayıcılar, `open` komutları) için uygundur, ancak güvenlik ve performans etkileri vardır: - **Güvenlik:** Sorgu parametreleri sunucu erişim günlüklerinde, tarayıcı geçmişinde ve Referer başlıklarında kaydedilir. Kullanımı sınırlamak maruziyeti azaltır. - **Performans:** Sorgu parametresi kimlik doğrulaması, IP tabanlı bir hız sınırlayıcı gerektirir (istek başına Redis araması), bu da gecikme ekler. Header kimlik doğrulaması bunu atlar. - **Kötüye kullanım önleme:** Sızdırılmış bir `?key=` URL'si paylaşılabilir ve kötüye kullanılabilir. IP sınırı etki alanını sınırlar. ## Önerilen Desenler ### LLM ajanları ```python # Always use header auth headers = {"Authorization": f"Bearer {MIND_KEY}"} response = requests.get(f"{URL}/memory/recall", headers=headers) ``` ### Tarayıcı tabanlı araçlar Aracınız yalnızca URL açabiliyorsa: ```bash # OK for occasional use (under 60/min) open "https://synapse.schaefer.zone/memory/recall?key=YOUR_MIND_KEY" # For frequent use, switch to a tool that supports headers curl -H "Authorization: Bearer YOUR_MIND_KEY" .../memory/recall ``` ### MCP sunucusu MCP sunucuları her zaman `SYNAPSE_MIND_KEY` env değişkeni üzerinden header kimlik doğrulaması kullanır — hız sınırı uygulanmaz. ### Toplu içe aktarımlar Toplu işlemler (örn. 1000 bellek içe aktarma) için her zaman header kimlik doğrulaması kullanın. `?key=` üzerinden toplu içe aktarımlar 1 dakika içinde hız sınırına takılır. ## Kotalar (Mind Düzeyi) Şu anda depolama boyutu veya bellek sayısı için mind başına kota yoktur. Tüm sınırlar veri düzeyinde değil, kimlik doğrulama/IP düzeyindedir. Bu, çok kiracılı adillik için gelecekte değişebilir. ## Kullanımınızı İzleme ```bash # Check your current rate limit status (with ?key= auth) curl -i "https://synapse.schaefer.zone/memory/stats?key=YOUR_MIND_KEY" | grep -i ratelimit # Output: # X-RateLimit-Limit: 60 # X-RateLimit-Remaining: 58 # X-RateLimit-Reset: 1782567840 ``` ## Sonraki Adımlar - [Kimlik Doğrulama](/docs/getting-started/authentication) - [Hatalar & Hata Yönetimi](/docs/api/errors)