# SYNAPSE BELGELERİ — Tam Referans # Oluşturulma: 2026-07-18T06:14:29.988Z # Toplam makale: 47 Bu belge, Synapse API'sinin tam belgelerini içerir. Base URL: https://synapse.schaefer.zone Language: tr ======================================================================== ## KATEGORİ: BAŞLARKEN Synapse'i kullanmaya başlamak için ihtiyacınız olan her şey. ──────────────────────────────────────────────────────────── # Kimlik Doğrulama & Mind Key'ler SUMMARY: Synapse kimlik doğrulaması nasıl çalışır: ajanlar için Mind Key, insanlar için JWT, yalnızca URL kullanan araçlar için ?key=. KEY CONTEXT: Two auth methods: Mind Key (token-scoped, never expires) and JWT (user-scoped, 7-day expiry). Mind Key: Authorization: Bearer mk_xxx OR ?key=mk_xxx (60 req/min limit on query) JWT: Authorization: Bearer eyJ... (no rate limit, used for /register, /login, /minds, /sharing) Mind Key is shown only once at creation. Store it permanently. Each mind has exactly one Mind Key. Multiple minds = multiple keys. Kimlik Doğrulama & Mind Key'ler Synapse, her biri farklı bir kullanım senaryosu için optimize edilmiş iki kimlik doğrulama yöntemi kullanır. Güvenilir entegrasyonlar oluşturmak için farkı anlamak esastır. İki Kimlik Doğrulama Yöntemi | Yöntem | Kullanım Senaryosu | Hız Sınırı | Son Kullanma | |--------|----------|------------|--------| | Mind Key | LLM ajanları, otomatik araçlar | Yok (header) / 60 dk (sorgu) | Asla | | JWT | İnsana yönelik arayüz, hesap işlemleri | Yok | 7 gün | Mind Key (Ajanlar için) Mind Key, kiracı kapsamlı bir API token'ıdır. Tek bir mind'in verilerini (bellekler, görevler, sohbet, betikler vb.) doğrular. Şunlar için kullanın: - API çağrısı yapan LLM ajanları - Arka plan otomasyon betikleri - MCP sunucu yapılandırması - Herhangi bir uzun ömürlü entegrasyon Header kimlik doğrulaması (önerilir) [CODE BLOCK] Sorgu parametresi (yalnızca URL kullanan araçlar için) [CODE BLOCK] > [!WARNING] > sorgu parametresi dakikada 60 istek ile sınırlıdır. Bearer header'ın hız sınırı yoktur. İstemciniz özel başlıkları desteklediğinde header'ı kullanın. Mind Key Oluşturma [CODE BLOCK] Yanıt içerir — hemen kaydedin, yalnızca bir kez gösterilir. Mind'lerinizi listeleme [CODE BLOCK] Bir mind'i silme (geri alınamaz!) [CODE BLOCK] JWT (İnsanlar için) JWT'ler belirli bir mind'i değil, kullanıcı hesabını doğrular. Şunlar için kullanın: - Hesap kaydı ve giriş - Mind oluşturma / listeleme / silme - Mind'leri diğer kullanıcılarla paylaşma - Web Push abonelik yönetimi Kaydol [CODE BLOCK] Döndürür: Giriş [CODE BLOCK] Döndürür: JWT son kullanma JWT'ler 7 gün sonra sona erer. Bir JWT sona erdiğinde, yenisini almak için çağırın. Mind Key asla sona ermez, bu yüzden mevcut ajan entegrasyonları çalışmaya devam eder. Güvenlik En İyi Uygulamaları > [!CRITICAL] > - Mind Key'leri asla git'e commit etmeyin. Ortam değişkenleri kullanın. > - Mind Key'leri asla loglamayın. Loglarda maskeleyin (). > - Bir sızıntıdan şüphelenirseniz anahtarları döndürün (mind'i silin, yeni oluşturun). > - Bir anahtar sızarsa etki alanını sınırlamak için proje başına bir mind kullanın. Ortam değişkeni deseni [CODE BLOCK] [CODE BLOCK] MCP sunucu yapılandırması [CODE BLOCK] Çoklu Mind Deseni Her kullanıcı birden çok mind'e sahip olabilir. Yaygın desenler: | Mind Adı | Amaç | |-----------|---------| | | İşle ilgili bellekler | | | Kişisel tercihler, aile | | | Belirli proje bağlamı | | | Öğrenme ilerlemesi | | | Genel amaçlı yedek | Bağlamları izole tutmak için farklı LLM oturumlarında farklı Mind Key'ler kullanın. Hız Sınırları | Kimlik Doğrulama Yöntemi | Sınır | Kapsam | |-------------|-------|-------| | Mind Key (header) | Yok | Mind başına | | Mind Key (?key=) | 60/dakika | IP başına | | JWT (header) | Yok | Kullanıcı başına | | Herkese açık uç noktalar | Yok | Global | Hız sınırı başlıkları (, , ) uygun olduğunda yanıtlara dahil edilir. Sonraki Adımlar - Mind Key ve JWT — hangisi ne zaman kullanılır - Memory API — bir Mind Key ile neler yapabilirsiniz - User API — JWT'lerle hesap yönetimi ──────────────────────────────────────────────────────────── # Mind Key ve JWT — Hangisi Ne Zaman? SUMMARY: Karar rehberi: ajan veri erişimi için Mind Key, hesap yönetimi için JWT. KEY CONTEXT: Mind Key: tenant-scoped, never expires, for memory/chat/tasks/scripts/computers/webhooks. JWT: user-scoped, 7-day expiry, for /register, /login, /minds (CRUD), /sharing, /push. Simple rule: if it touches a single mind's data → Mind Key. If it manages the account → JWT. Exception: /computers/me/* uses Computer Token (not Mind Key or JWT). Mind Key ve JWT — Hangisi Ne Zaman? Synapse'te iki kimlik doğrulama token'ı vardır. Yanlış olanı seçmek 401 hatalarına yol açar. Bu rehber size net bir karar çerçevesi verir. Hızlı Karar Tablosu | Yapmak istediğiniz... | Kullan | |----------------|-----| | Bellekleri sakla / geri çağır | Mind Key | | Sohbet mesajları gönder / poll | Mind Key | | Görevleri yönet | Mind Key | | Betikleri sakla | Mind Key | | Webhook'ları kaydet | Mind Key | | Bilgisayarları kontrol et | Mind Key (kullanıcı tarafı) / Computer Token (ajan tarafı) | | Kullanıcı hesabı kaydet | Yok (herkese açık) | | Giriş | Yok (herkese açık) | | Mind oluştur / listele / sil | JWT | | Bir mind'i başka bir kullanıcıyla paylaş | JWT | | Web push bildirimlerine abone ol | JWT | | Denetim günlüğünü görüntüle | Mind Key | Basit Kural > [!TIP] > Tek bir mind'in verisine dokunuyorsa → Mind Key. > Hesabı veya mind meta verilerini yönetiyorsa → JWT. Mind Key — Veri Erişim Token'ı Bir Mind Key, tek bir mind'in verisine erişim sağlar. Asla sona ermeyen (mind silinene kadar) uzun ömürlü bir token'dır. Şunlar için mükemmeldir: - Oturumlar arasında bellek saklayan LLM ajanları - Arka plan cron işleri - MCP sunucu yapılandırması - Webhook entegrasyonları - Bellek okuyan mobil uygulamalar Mind Key ne yapabilir - — bu mind'deki tüm bellekleri oku - — bellekleri sakla/güncelle - — sohbet mesajlarını oku - — sohbet mesajları gönder - — görevleri listele - — görev oluştur - — betikler sakla - — webhook'lar kaydet - — bilgisayar komutları kuyruğa al Mind Key ne YAPAMAZ - Mind oluşturma / listeleme / silme (JWT gerekir) - Mind'i başka kullanıcıyla paylaşma (JWT gerekir) - Kullanıcı hesap bilgilerini görüntüleme (JWT gerekir) - Web push'a abone olma (JWT gerekir) JWT — Hesap Yönetimi Token'ı Bir JWT, kullanıcı hesabını doğrular. 7 gün sonra sona erer ve birden çok mind'i kapsayan veya diğer kullanıcıları içeren hesap düzeyindeki işlemler için kullanılır. JWT ne yapabilir - — yeni bir mind oluştur (yeni bir Mind Key döndürür) - — bu kullanıcı için tüm mind'leri listele - — bir mind'i sil - — bir mind'i başka bir kullanıcıyla paylaş - — web push bildirimlerine abone ol - — mind paylaşımlarını listele JWT ne YAPAMAZ - Bellekleri okuma / yazma (Mind Key gerekir) - Sohbet mesajları gönderme (Mind Key gerekir) - Görevleri yönetme (Mind Key gerekir) - Webhook'lar kaydetme (Mind Key gerekir) Özel Durum: Computer Token uç noktaları (ajan tarafı, screen-remote-agent için) üçüncü bir token tipi kullanır: Computer Token. Bu token, bir install code kullanıldığında tarafından döndürülür ve tek bir kayıtlı bilgisayara özeldir. | Uç Nokta | Kimlik Doğrulama | |----------|------| | | Computer Token | | | Computer Token | | | Mind Key veya JWT | | | Mind Key veya JWT | Yaygın Desenler Desen 1: Tek LLM Ajanı 1. Bir kez kaydol → JWT al 2. Tek bir mind oluştur → Mind Key al 3. LLM her şey için Mind Key kullanır Desen 2: Çok Projeli Ajan 1. Bir kez kaydol → JWT al 2. Birden çok mind oluştur (work, personal, project-x) → birden çok Mind Key al 3. LLM bağlama göre farklı Mind Key yükler Desen 3: Ekip Paylaşımı 1. Kullanıcı A bir mind oluşturur → Mind Key A alır 2. Kullanıcı A, JWT ile Kullanıcı B'ye paylaşır () 3. Kullanıcı B artık kendi JWT'si ile erişebilir 4. LLM erişimi için Kullanıcı B'nin kendi Mind Key'ini oluşturması (veya A'nınkini kullanması) gerekir Desen 4: MCP Sunucusu MCP sunucuları her zaman Mind Key kullanır ( env değişkeni ile ayarlanır). Bir MCP sunucu örneği = bir mind. Çoklu mind erişimi için birden çok MCP örneği çalıştırın veya istemci tarafı mind değiştirme uygulayın. Token Biçimi Hile Sayfası | Token | Biçim | Örnek | |-------|--------|---------| | Mind Key | + 36 karakter | | | JWT | + base64 | | | Computer Token | + 36 karakter | | Sonraki Adımlar - Kimlik Doğrulama — tam kimlik doğrulama rehberi - User & Minds API — JWT korumalı uç noktalar - Memory API — Mind Key korumalı uç noktalar ──────────────────────────────────────────────────────────── # LLM Ajanları için Hızlı Başlangıç SUMMARY: 3 API çağrısında: tüm bellekleri geri çağır, yeni bir tane sakla, ara. Temel LLM iş akışı. KEY CONTEXT: Base URL: https://synapse.schaefer.zone Auth: Authorization: Bearer YOUR_MIND_KEY (header) OR ?key=YOUR_MIND_KEY (query) ALWAYS call /memory/recall at the start of every session. Wichtigste Befehle: GET /memory/recall, POST /memory, GET /memory/search?q=... Categories: identity, preference, fact, project, skill, mistake, context, note, credentials Priorities: low, normal, high, critical FTS5 search: multiple words = AND, "phrases" in quotes, prefix* for prefix search LLM Ajanları için Hızlı Başlangıç Oturumlar arasında tüm belleği kaybedersiniz. Synapse sizin harici beyninizdir. Bu rehber, her LLM ajanının bilmesi gereken üç temel API çağrısını gösterir. > [!CRITICAL] > Her oturumun BAŞINDA çağırın. > Bu çağrı olmadan, kullanıcının kim olduğu, ne söz verdiğiniz veya en son ne üzerinde çalıştığınız hakkında hiçbir belleğiniz yok. Adım 1: Tüm Bellekleri Geri Çağır (HER ZAMAN ÖNCE) [CODE BLOCK] Saklanan tüm belleklerin yapılandırılmış düz metin özetini döndürür. Kullanıcı, projeleri ve geçmiş etkileşimler hakkındaki zihinsel modelinizi yeniden oluşturmak için bunu ayrıştırın. Örnek yanıt: [CODE BLOCK] Adım 2: Yeni Bir Bellek Sakla Hatırlamaya değer bir şey öğrendiğinizde: [CODE BLOCK] Kategoriler: , , , , , , , , Öncelikler: , , , > [!TIP] > Her zaman bir alanı ekleyin — bellek için kısa bir tanımlayıcı. Bu, daha sonra aynı anahtarla yeniden POST yaparak aynı belleği güncellemenizi sağlar. Adım 3: Belirli Bir Belleği Ara [CODE BLOCK] > [!TIP] > FTS5 sözdizimi: birden çok kelime = AND arama. Tırnak içinde deyimler: . > Ön ek arama: . Boolean: . Açık Araçlar (Kimlik Doğrulama Başlığı Yok) Aracınız yalnızca URL açabiliyorsa (özel başlık yok), parametresini kullanın: [CODE BLOCK] > [!WARNING] > dakikada 60 istek ile sınırlıdır. Bearer header'ın hız sınırı yoktur. > Mümkün olduğunda Bearer header kullanın. Tam Oturum İş Akışı 1. Oturum başlangıcı: — tüm bellekleri yükle 2. Çalışma sırasında: — belirli bilgileri bul 3. Yeni bilgide: — sakla (kategori, anahtar, etiketler, öncelik ile) 4. Periyodik olarak: — insan mesajlarını kontrol et 5. Oturum sonu: ile son öğrenmeleri sakla Yaygın Desenler Mevcut bir belleği güncelle Aynı ve ile — mevcut bellek güncellenir, çoğaltılmaz. Proje durumu sakla [CODE BLOCK] Bir hatayı kaydet (tekrarlamamak için) [CODE BLOCK] İnsan mesajlarını kontrol et [CODE BLOCK] İnsandan okunmamış mesajları döndürür. Şununla yanıtla: [CODE BLOCK] Sonraki Adımlar - Kimlik Doğrulama — Mind Key ve JWT - Memory API referansı — tüm 22 bellek uç noktası - Chat API — insanlarla asenkron iletişim - LLM Cookbook — pratik desenler ──────────────────────────────────────────────────────────── # Hızlı Başlangıç (İnsan) SUMMARY: Bir hesap kaydedin, ilk mind'inizi oluşturun, bir bellek saklayın — hepsi 5 dakikada. Hızlı Başlangıç (İnsan) Bu rehber, bir Synapse hesabı, ilk Mind Key'iniz ve ilk belleğinizi saklamanız için size yol gösterir. Toplam süre: 5 dakika. Adım 1: Hesap Kaydetme Synapse API'sini açın ve bir hesap oluşturun: [CODE BLOCK] Yanıt: [CODE BLOCK] > [!TIP] > JWT'yi güvenli bir yere kaydedin — mind oluşturmak için gerekecek. JWT 7 gün sonra sona erer; yenilemek için aynı uç nokta ile tekrar giriş yapın. Adım 2: İlk Mind'inizi Oluşturun "Mind" izole bir bellek kapsamıdır. Çoğu kullanıcı tek bir mind ile başlar, ancak birden fazla olabilir (örn. "work", "personal", "project-x"). Her mind'in kendine özgü benzersiz Mind Key'i vardır. [CODE BLOCK] Yanıt: [CODE BLOCK] > [!CRITICAL] > 'i hemen kaydedin. Yalnızca bir kez gösterilir ve daha sonra geri alınamaz. Kaybederseniz yeni bir mind oluşturmanız gerekir. Adım 3: İlk Belleğinizi Saklayın Şimdi bir bellek saklamak için Mind Key'i kullanın: [CODE BLOCK] Yanıt: [CODE BLOCK] Adım 4: Tüm Bellekleri Geri Çağırın Sakladığınız her şeyi almak için: [CODE BLOCK] Yanıt (düz metin, LLM tüketimi için optimize edilmiş): [CODE BLOCK] Adım 5: Bellekleri Arama Anahtar kelimeye göre belirli bellekleri bulun: [CODE BLOCK] Adım 6: LLM'inizi Bağlayın LLM'inize Synapse erişimi sağlamanın en kolay yolu MCP üzerinden: - Claude Desktop kurulumu — 2 dakikalık yapılandırma - Claude Code kurulumu — terminal entegrasyonu - Cursor kurulumu — IDE entegrasyonu Kurulumdan sonra LLM'iniz her oturumun başında otomatik olarak çağırır ve yeni bilgileri ile saklar. Bellek Kategorileri Synapse 8 kategori destekler — en spesifik olanı seçin: | Kategori | Kullanım Senaryosu | |----------|----------| | | Kullanıcı adı, rol, iletişim bilgisi | | | Beğeniler, beğenmemeler, çalışma tarzı | | | Doğrulanabilir bilgiler (proje detayları, tarihler) | | | Proje durumu, kilometre taşları, yapılacaklar | | | Kullanıcının iyi olduğu şeyler | | | Geçmiş hatalar — tekrarlamaktan kaçının | | | Oturumla ilgili bağlam | | | Çeşitli notlar | Öncelik Düzeyleri - — bilmek güzel - — varsayılan - — önemli - — asla unutulmamalı (kullanıcı kimliği, yasal bilgiler) Sonraki Adımlar - Kimlik doğrulama derinlemesine - Mind Key ve JWT - Memory API referansı - MCP entegrasyonu ──────────────────────────────────────────────────────────── # Synapse Nedir? SUMMARY: Synapse, LLM ajanları için kalıcı bir bellek API'sidir — yapay zekanız oturumlar arasında hiçbir şey unutmaz. KEY CONTEXT: Synapse is an HTTP API that gives LLM agents persistent memory across sessions. Base URL: https://synapse.schaefer.zone Auth: Authorization: Bearer YOUR_MIND_KEY (header) OR ?key=YOUR_MIND_KEY (query, rate-limited 60/min) Most important endpoints: GET /memory/recall (start of every session), POST /memory (store new facts), GET /memory/search?q=... Mind Key = tenant-scoped API key. Each user can have multiple minds (projects/contexts). MCP server available: npx -y synapse-mcp-api (79 tools for Claude Desktop, Cursor, etc.) Synapse Nedir? Synapse, LLM ajanları için kalıcı bir bellek API'sidir. Sohbet tabanlı her LLM'in temel sorununu çözer: oturumlar arasında ajan her şeyi unutur. Synapse, AI'ınıza konuşmalar arasında, günler arasında ve farklı LLM sağlayıcıları arasında hayatta kalan kalıcı, sorgulanabilir bir beyin verir. > [!CRITICAL] > Bir LLM ajanı olarak bunu okuyorsanız: her oturumun başında çağırın. Bu çağrı olmadan, geçmiş etkileşimler hakkında hiçbir belleğiniz, kullanıcının kim olduğu hakkında hiçbir bilginiz ve devam eden projeler hakkında hiçbir bağlamınız yoktur. Synapse'ın Çözdüğü Sorun Her modern LLM (Claude, GPT, Gemini, Llama) aynı mimari sınırlamaya sahiptir: sohbet bağlam penceresi sınırlıdır ve oturum sona erdiğinde tüm durum kaybolur. Bu, AI asistanınızın şunları yapması anlamına gelir: - Sohbetler arasında adınızı, tercihlerinizi ve devam eden projelerinizi unutur - Oturumlar arasında geçmiş hatalardan öğrenemez - Uzun süreli çalışmalar için sürekliliği yoktur - Her seferinde aynı açıklayıcı soruları tekrar sorar Synapse bunu, LLM'in yapılandırılmış bellekleri saklayabileceği ve alabileceği basit bir HTTP API'si sağlayarak çözer. Bellekler sunucuda kalıcıdır, indekslenir ve aranabilir, böylece gelecekteki herhangi bir oturum bunları geri çağırabilir. Temel Özellikler - Kalıcı bellek depolama — bilgiler, tercihler, projeler, hatalar, beceriler - Tam metin arama (FTS5) — herhangi bir belleği milisaniyeler içinde anahtar kelimeyle bulun - Anlamsal arama — kavramsal sorgular için gömme tabanlı benzerlik arama - Çok kiracılı — her kullanıcının izole "mind'leri" vardır (bir kullanıcı, birçok proje) - Asenkron sohbet — insanlar ajan çalışırken ona mesaj bırakabilir - Görevler ve zamanlama — yerleşik görev yöneticisi ve cron zamanlayıcı - MCP entegrasyonu — Claude, Cursor, Continue için Model Context Protocol olarak sunulan 79 araç - Tarayıcı ve bilgisayar kontrolü — uzak otomasyon araçları - Webhook'lar — bellek/sohbet/görev değişikliklerinde HTTP geri aramaları alın Nasıl Çalışır [CODE BLOCK] 1. LLM oturum başlangıcında çağırır 2. Synapse, saklanan tüm belleklerin yapılandırılmış metin özetini döndürür 3. LLM çalışır, periyodik olarak yeni bilgileri saklamak için çağırır 4. Kullanıcı bir soru sorduğunda LLM çağırabilir 5. Oturum sonunda, önemli yeni bağlam sonraki oturum için saklanır Kimin İçin? - Kalıcı durum gerektiren LLM ajan geliştiricileri - Özel ajanlarla yerel LLM'ler (Ollama, LM Studio) çalıştıran güçlü kullanıcılar - Paylaşımlı bellek gerektiren AI asistanları inşa eden ekipler - LLM çağrılarını oturumlar arasında zincirleyen otomasyon mühendisleri Hızlı Karşılaştırma | Özellik | ChatGPT Memory | Synapse | |---------|---------------|---------| | Depolama konumu | OpenAI sunucuları | Sizin sunucunuz | | API erişimi | Hayır (kapalı) | Evet (REST + MCP) | | Çok kiracılı | Hayır | Evet (minds) | | Özel kategoriler | Hayır | Evet (8 kategori) | | Arama | Sınırlı | FTS5 + anlamsal | | Self-hostable | Hayır | Evet (Docker) | Sonraki Adımlar - İnsanlar için hızlı başlangıç — 5 dakikada bir Mind Key alın - LLM'ler için hızlı başlangıç — ilk API çağrıları - Kimlik Doğrulama — Mind Key'ler ve JWT'ler - Mimari genel bakış — Synapse nasıl inşa edilmiştir ## KATEGORİ: API REFERANSI Her API uç noktası için tam referans. ──────────────────────────────────────────────────────────── # Tarayıcı Proxy'si SUMMARY: Tarayıcı otomasyon hizmeti — headless tarayıcı kontrolü için 13000 portunda ayrı Docker konteyneri. KEY CONTEXT: Browser Proxy is a SEPARATE Docker service (port 13000), NOT a Synapse endpoint. Synapse endpoints do NOT include /browser/* paths. For browser automation, use the MCP browser_new tool OR connect to the browser-proxy service directly. Synapse MCP exposes browser tools (browser_new, browser_navigate, browser_click, etc.) Tarayıcı Proxy'si Browser Proxy, Playwright üzerinden headless tarayıcı otomasyonu sağlayan ayrı bir Docker hizmetidir. Doğrudan Synapse API'sinin bir parçası değildir — Synapse uç noktaları yollarını içermez. Mimari [CODE BLOCK] Erişim Yöntemleri Yöntem 1: Synapse MCP Sunucusu Üzerinden (önerilir) Synapse MCP sunucusu, tarayıcı araçlarını MCP araçları olarak sunar. LLM odaklı tarayıcı otomasyonu için bunu kullanın: [CODE BLOCK] Kullanılabilir MCP tarayıcı araçları: - — yeni bir tarayıcı sekmesi aç - — bir URL'ye git - — bir öğeye tıkla - — bir alana metin yaz - — ekran görüntüsü al - — sekmeyi kapat - (ve daha fazlası — bkz. MCP entegrasyonu) Yöntem 2: Doğrudan Browser Proxy Erişimi MCP dışı entegrasyonlar için doğrudan browser-proxy hizmetine bağlanın: [CODE BLOCK] Yaygın Kullanım Senaryoları Web scraping [CODE BLOCK] Form otomasyonu [CODE BLOCK] Ekran görüntüsü yakalama [CODE BLOCK] İlgili Hizmetler | Hizmet | Port | Amaç | |---------|------|---------| | Synapse API | 12800 | Bellek, sohbet, görevler | | Synapse MCP | 13100 | MCP sunucusu (79 araç) | | Browser Proxy | 13000 | Headless tarayıcı otomasyonu | | SSH Proxy | 12900 | Uzak makinelere SSH erişimi | Sonraki Adımlar - MCP Entegrasyonu — MCP üzerinden tarayıcı araçları nasıl kullanılır - Bilgisayar Kontrol API'si — kayıtlı makinelere GUI otomasyonu için ──────────────────────────────────────────────────────────── # Chat API SUMMARY: İnsanlar ve LLM ajanları arasında asenkron sohbet — poll, yanıt, geçmiş, okunmamış sayısı, dosya yüklemeleri. KEY CONTEXT: Auth: Mind Key (agent side, ?role=agent) or JWT (human side, ?role=human) Poll: GET /chat/poll (returns unread messages, marks them as read) Reply: POST /chat/reply { content } History: GET /chat/history?limit=50 Unread count: GET /chat/unread?role=agent (or ?role=human) Upload: POST /chat/upload (multipart, file attachment) Pattern: poll between tool calls, reply when human asks questions Chat API Chat API, insanlar ve LLM ajanları arasında asenkron mesajlaşmayı sağlar. Senkron sohbetten (ChatGPT tarzı) farklı olarak, insan ajan çalışırken mesaj bırakabilir — ajan araç çağrıları arasında poll yapar. Nasıl Çalışır [CODE BLOCK] 1. İnsan web arayüzü üzerinden bir mesaj gönderir (JWT kullanır) 2. Mesaj saklanır, okunmamış olarak işaretlenir 3. Ajan, araç çağrıları arasında ile poll yapar 4. Poll, tüm okunmamış mesajları döndürür ve okundu olarak işaretler 5. Ajan mesajı işler, isteğe bağlı olarak ile yanıt verir Uç Noktalar GET /chat/poll İnsandan yeni mesajlar için poll yapın. Okunmamış mesajları döndürür ve okundu olarak işaretler. Bunu araç çağrıları arasında kullanın. [CODE BLOCK] Yanıt: [CODE BLOCK] POST /chat/reply Ajan olarak bir mesaj gönderin. [CODE BLOCK] POST /chat/send İnsan olarak bir mesaj gönderin (Mind Key değil, JWT gerektirir). [CODE BLOCK] GET /chat/history Son sohbet geçmişini alın (her iki rol). [CODE BLOCK] GET /chat/unread Okunmamış mesaj sayısını alın. [CODE BLOCK] GET /chat/status Sohbet oturum durumunu alın (son mesaj zaman damgaları, okunmamış sayıları). [CODE BLOCK] POST /chat/upload Belirli bir mesaj için dosya eki yükleyin (multipart form). [CODE BLOCK] GET /chat/files/:messageid Bir mesajın dosya eklerini listele. [CODE BLOCK] GET /chat/file/:fileid Bir dosya ekini indirin. [CODE BLOCK] Polling Deseni > [!TIP] > Araç çağrıları arasında her 30-60 saniyede bir poll yapın. Daha sık poll yapmayın — bu, API kotasını boşa harcar ve hiçbir fayda sağlamaz. [CODE BLOCK] Sonraki Adımlar - Tasks API - Chat Polling Deseni ──────────────────────────────────────────────────────────── # Bilgisayar Kontrol API'si SUMMARY: Kayıtlı bilgisayarların uzaktan kontrolü — komut kuyruğa alma, ekran görüntüsü alma, uzak makinelerde betik çalıştırma. KEY CONTEXT: Two sides: user-facing (Mind Key/JWT) and agent-facing (Computer Token) Register agent: POST /computers/register { install_code } → returns computer_token List: GET /computers/list (Mind Key or JWT) Queue command: POST /computers/:id/commands { type, payload } Command types: screenshot, click, move, type, key, scroll, drag Agent poll: GET /computers/me/poll?wait=5 (Computer Token) Agent result: POST /computers/me/commands/:cid/result (Computer Token) One-shot screenshot: GET /computers/:id/screenshot (waits 30s for result) Pattern: register agent on remote machine → user queues commands → agent polls and executes Bilgisayar Kontrol API'si Computer Control API, kayıtlı bilgisayarları uzaktan kontrol etmenizi sağlar. Hedef makinede küçük bir ajan () çalışır, komutlar için poll yapar, bunları yürütür ve sonuçları geri gönderir. Bu, LLM odaklı GUI otomasyonunu mümkün kılar. Mimari [CODE BLOCK] Kullanıcıya Yönelik Uç Noktalar (Mind Key veya JWT) GET /computers/list Tüm kayıtlı bilgisayarları listele. [CODE BLOCK] GET /computers/:id Tek bir bilgisayarın detaylarını alın. [CODE BLOCK] POST /computers/install-code Yeni bir bilgisayar kaydetmek için bir install code oluşturun. [CODE BLOCK] Yanıt: POST /computers/:id/commands Uzak ajanın yürütmesi için bir komut kuyruğa al. [CODE BLOCK] Yanıt: GET /computers/:id/command (via query) GET ile komut kuyruğa al (basit durumlar için). [CODE BLOCK] GET /computers/:id/commands Bir bilgisayar için son komutları listele. [CODE BLOCK] GET /computers/:id/commands/:cid Belirli bir komutun durumu + sonucunu alın. [CODE BLOCK] GET /computers/:id/screenshot Tek seferlik: bir screenshot komutu kuyruğa al ve sonuç için en fazla 30s bekle. [CODE BLOCK] POST /computers/:id/disable Bir bilgisayarı devre dışı bırak (token'ını iptal eder, denetim için kaydı tutar). [CODE BLOCK] DELETE /computers/:id Bir bilgisayarı kalıcı olarak sil. [CODE BLOCK] Ajana Yönelik Uç Noktalar (Computer Token) Bu uç noktalar hedef makinede çalışan tarafından kullanılır. Bir Mind Key değil, bir Computer Token ( tarafından döndürülür) kullanırlar. POST /computers/register Bir install code'u kullan ve bir Computer Token al. [CODE BLOCK] Yanıt: > [!CRITICAL] > 'ı kaydedin — yalnızca bir kez gösterilir ve tüm ajan tarafı uç noktalar için gereklidir. GET /computers/me/poll Yeni komutlar için long-poll. Ajan bunu bir döngüde çağırır. [CODE BLOCK] Bekleyen komutlar varsa hemen döner, yoksa saniye sonra döner. POST /computers/me/commands/:cid/result Bir komutun yürütülmesinin sonucunu gönder. [CODE BLOCK] Komut Tipleri | Tip | Payload | Açıklama | |------|---------|-------------| | | | Ekranı PNG olarak yakala (base64) | | | | Koordinatlarda tıkla | | | | Fareyi koordinatlara taşı | | | | İmleç konumunda metin yaz | | | | Tuş kombinasyonuna bas | | | | Tekerleği kaydır | | | | Sürükle ve bırak | Yaygın Desen: LLM Odaklı GUI Otomasyonu [CODE BLOCK] Sonraki Adımlar - Browser Proxy — tarayıcı otomasyonu için ayrı hizmet - Self-Hosted Agents Rehberi ──────────────────────────────────────────────────────────── # Cron & Zamanlayıcı SUMMARY: Tekrarlayan API çağrılarını zamanlayın — bir zamanlamaya göre çalışan cron işleri, periyodik senkronizasyon ve hatırlatmalar için ideal. KEY CONTEXT: Auth: Mind Key Create: POST /cron { schedule, endpoint, method?, body?, headers?, enabled? } List: GET /cron Delete: DELETE /cron/:id Toggle: PUT /cron/:id/toggle Schedule: 5-field cron (minute hour day month day-of-week) OR integer interval (seconds) Endpoint: must be http(s) URL, same Synapse instance OR public HTTPS (no private IPs) Pattern: schedule /memory/recall every hour, /chat/poll every 5 min, etc. Cron & Zamanlayıcı Cron API, Synapse uç noktalarına (veya harici HTTPS uç noktalarına) tekrarlayan HTTP çağrıları zamanlamanızı sağlar. Periyodik senkronizasyon, hatırlatmalar ve bakım görevleri için idealdir. Uç Noktalar POST /cron Zamanlanmış bir görev oluştur. [CODE BLOCK] Yanıt: [CODE BLOCK] GET /cron Tüm zamanlanmış görevleri listele. [CODE BLOCK] DELETE /cron/:id Zamanlanmış bir görevi sil. [CODE BLOCK] PUT /cron/:id/toggle Bir görevi silmeden etkinleştir veya devre dışı bırak. [CODE BLOCK] Zamanlama Sözdizimi Standart cron (5 alan) [CODE BLOCK] Örnekler: | Zamanlama | Anlamı | |----------|---------| | | Her saat | | | Her 15 dakikada bir | | | Hafta içi sabah 9'da | | | Her Pazar gece yarısı | | | Her ayın birinde gece yarısı | Tamsayı aralığı (saniye) Basit aralıklar için bir tamsayı geçirin: [CODE BLOCK] Uç Nokta Kısıtlamaları > [!WARNING] > Uç noktalar, aşağıdakilere işaret eden veya URL'leri olmalıdır: > - Aynı Synapse örneği (örn. ) > - Herkese açık HTTPS URL'leri (özel IP yok, localhost yok, metadata IP'leri yok) Bu, ele geçirilmiş bir mind'in dahili servislere istek zamanlayabileceği SSRF saldırılarını önler. Yaygın Desenler Saatlik bellek geri çağırma (LLM ajanlar için) [CODE BLOCK] Günlük yedekleme [CODE BLOCK] Periyodik sohbet poll'u (her 5 dakikada bir) [CODE BLOCK] Haftalık rapor tetikleyicisi [CODE BLOCK] Sonraki Adımlar - Variables API - Webhooks API ──────────────────────────────────────────────────────────── # Hatalar & Hata Yönetimi SUMMARY: HTTP durum kodları, hata yanıtı biçimi ve yaygın hatalardan nasıl kurtulunacağı. KEY CONTEXT: Error format: { statusCode, error, message, docs? } Common errors: 401 (auth), 404 (wrong path), 429 (rate limit), 500 (server) 401 → check Mind Key/JWT, see /docs/getting-started/authentication 404 → wrong path, GET /endpoints for valid list, do NOT guess paths 429 → rate limited (?key= is 60/min), use Bearer header instead 500 → server error, retry with backoff, check /health docs field in error response links to relevant documentation. Hatalar & Hata Yönetimi Synapse, tutarlı bir hata yanıtı biçimiyle standart HTTP durum kodları kullanır. Bu sayfa hataları nasıl yorumlayacağınızı ve onlardan nasıl kurtulacağınızı açıklar. Hata Yanıtı Biçimi Tüm hatalar bu yapıyla JSON döndürür: [CODE BLOCK] | Alan | Açıklama | |-------|-------------| | | HTTP durum kodu | | | HTTP durum adı | | | İnsan tarafından okunabilir hata açıklaması | | | İlgili dokümantasyona URL (uygun olduğunda) | HTTP Durum Kodları 200 OK Başarılı. İstek doğru şekilde işlendi. 201 Created Başarılı. Yeni bir kaynak oluşturuldu (örn. ). 204 No Content Başarılı. Gövde döndürülmedi (örn. ). 400 Bad Request İstek hatalı biçimlendirilmiş. Yaygın nedenler: - Gerekli JSON alanları eksik - Geçersiz JSON sözdizimi - Geçersiz enum değeri (örn. yanlış kategori) [CODE BLOCK] Çözüm: İstek gövdesini API dokümanlarına göre kontrol edin. Tüm gerekli alanların mevcut olduğundan ve geçerli değerlere sahip olduğundan emin olun. 401 Unauthorized Kimlik doğrulama başarısız. Yaygın nedenler: - başlığı eksik - Geçersiz Mind Key veya JWT - Mind Key gerekendiye JWT kullanma (veya tersi) [CODE BLOCK] Çözüm: Token'ınızı doğrulayın. Bkz. Kimlik Doğrulama. 403 Forbidden Kimliği doğrulandı ancak bu eylemi gerçekleştirmeye izniniz yok. Yaygın nedenler: - Başka bir kullanıcının mind'ini silmeye çalışmak - Bir belleği Mind Key ile doğrulamaya çalışmak (JWT gerektirir) - Mind devre dışı Çözüm: Bu uç nokta için doğru token tipini kullanıp kullanmadığınızı kontrol edin. 404 Not Found İstenen yol veya kaynak mevcut değil. > [!CRITICAL] > Uç nokta yollarını TAHMİN ETMEYİN. Yalnızca içinde listelenen yollar mevcuttur. 404 alırsanız, yanlış bir yol kullandınız. [CODE BLOCK] Çözüm: Geçerli uç noktaların listesini görmek için çağırın. URL'nizi listeyle karakter karakter karşılaştırın. 409 Conflict İstek mevcut durumla çakışıyor. Yaygın nedenler: - Halihazırda var olan bir e-posta ile kaydolmaya çalışmak - Yinelenen webhook URL'si Çözüm: Farklı bir değer kullanın veya mevcut kaynağı güncellemek için kullanın. 429 Too Many Requests Hız sınırına çıktınız. Yalnızca sorgu parametresi kimlik doğrulaması için geçerlidir (60/dak). [CODE BLOCK] Yanıt başlıkları: [CODE BLOCK] Çözüm: başlığına geçin (hız sınırı yoktur) veya saniye kadar bekleyin. 500 Internal Server Error Sunucu hatası. Bu olmamalı — olursa, bu bir hatadır. Çözüm: 1. Üstel geri çekilme ile yeniden deneyin (1s, 2s, 4s, 8s) 2. Sunucunun çalışır durumda olup olmadığını görmek için kontrol edin 3. Sürekli olursa, hatayı bildirin 503 Service Unavailable Sunucu geçici olarak devre dışı (örn. dağıtım sırasında, veritabanı taşıma). Çözüm: Bekleyin ve yeniden deneyin. kontrol edin. Kurtarma Desenleri Üstel geri çekilme ile yeniden deneme [CODE BLOCK] Kimlik doğrulama hata yönetimi [CODE BLOCK] Yaygın Hata Senaryoları "Mind Key fehlt oder ungültig" - başlığını unuttunuz - kullandınız ama anahtar yanlış - Mind Key gerekendiye JWT kullanıyorsunuz "Route not found" - Var olmayan bir yolu tahmin ettiniz - Bir fiili yanlış kullandınız (örn. ve ) - Geçerli yollar için kontrol edin "Rate limit exceeded" - kullanıyorsunuz ve 60 istek/dakika sınırını aştınız - başlığına geçin Sonraki Adımlar - Kimlik Doğrulama - API Genel Bakış - Hız Sınırları ──────────────────────────────────────────────────────────── # Memory API SUMMARY: 22 bellek uç noktası için tam referans: saklama, geri çağırma, arama, anlamsal arama, senkronizasyon, denetim ve daha fazlası. KEY CONTEXT: Auth: Mind Key (Authorization: Bearer mk_xxx OR ?key=mk_xxx) ALWAYS call GET /memory/recall at session start. POST /memory with same category+key updates the existing memory. Categories: identity, preference, fact, project, skill, mistake, context, note, credentials Priorities: low, normal, high, critical Search: GET /memory/search?q=... (FTS5 syntax: AND, OR, "phrases", prefix*) Semantic: GET /memory/semantic-search?q=... (slower, conceptual) Sync: GET /memory/diff?since=TIMESTAMP (incremental sync) Export: GET /memory/mind-export (full JSON dump) Memory API Memory API, Synapse'un kalbidir. Yapılandırılmış bellekleri saklamak, almak, aramak ve yönetmek için 22 uç nokta sağlar. Tüm uç noktalar kimlik doğrulama için bir Mind Key gerektirir. > [!CRITICAL] > Her oturumun başında çağrısını daima yapın. Bu, önceki oturumlardan bağlamı yeniden oluşturmanın tek yoludur. Kategoriler Bellekler 8 kategoriye ayrılmıştır: | Kategori | Kullanım Senaryosu | |----------|----------| | | Kullanıcı adı, rol, iletişim bilgisi, kendi hakkındaki tercihler | | | Beğeniler, beğenmemeler, çalışma tarzı, iletişim tercihleri | | | Doğrulanabilir bilgiler (proje detayları, tarihler, URL'ler) | | | Proje durumu, kilometre taşları, mimari | | | Kullanıcının iyi olduğu şeyler | | | Geçmiş hatalar — tekrarlamaktan kaçının | | | Oturumla ilgili bağlam | | | Çeşitli notlar | Öncelikler - — bilmek güzel - — varsayılan - — önemli - — asla unutulmamalı (kullanıcı kimliği, yasal bilgiler) Çekirdek Uç Noktalar GET /memory/recall Tüm bellekleri LLM için optimize edilmiş düz metin olarak döndürür. Her oturum başlangıcında çağırın. [CODE BLOCK] Yanıt (text/plain): [CODE BLOCK] POST /memory Yeni bir bellek sakla veya mevcut olanı güncelle (aynı kategori + anahtar = güncelleme). [CODE BLOCK] Yanıt: GET /memory İsteğe bağlı filtrelerle bellekleri listele. [CODE BLOCK] PUT /memory/:id ID'ye göre belirli bir belleği güncelle. [CODE BLOCK] DELETE /memory/:id Tek bir belleği sil. [CODE BLOCK] Arama Uç Noktaları GET /memory/search FTS5 kullanarak tam metin arama. [CODE BLOCK] FTS5 sözdizimi: - Birden çok kelime = AND: - Deyim: - Ön ek: - Boolean: - Hariç tutma: GET /memory/semantic-search Gömme (embedding) kullanarak kavramsal arama (FTS5'ten daha yavaştır ama anlamı anlar). [CODE BLOCK] Hiçbir anahtar kelime eşleşmese bile sorguya anlamsal olarak benzer bellekleri döndürür. X'in farklı şekilde tanımlandığı "X hakkındaki bellekleri bul" için yararlıdır. GET /memory/by-tag Etikete göre bellek listele. [CODE BLOCK] GET /memory/related/:id Belirli bir bellekle ilgili bellekleri bul (paylaşılan etiketler aracılığıyla). [CODE BLOCK] Senkronizasyon & Diff GET /memory/diff Artımlı senkronizasyon — bir zaman damgasından sonraki değişen bellekleri döndürür. [CODE BLOCK] Yanıt: POST /memory/sync Başka bir örnekten bir diff uygula (self-hosted senkronizasyon için). [CODE BLOCK] Toplu İşlemler POST /memory/bulk-delete ID'ye göre birden çok belleği sil. [CODE BLOCK] POST /memory/embed-batch Henüz gömmeye sahip olmayan bellekler için gömme oluştur (anlamsal arama için). [CODE BLOCK] GET /memory/embed-batch-status Gömme oluşturma ilerlemesini kontrol et. [CODE BLOCK] Doğrulama Belleklerin bir bayrağı vardır. Ajan tarafından saklanan bellekler varsayılan olarak doğrulanmamıştır (); insan tarafından saklanan bellekler doğrulanmıştır (). POST /memory/verify Bir belleği doğrulanmış olarak işaretle (Mind Key değil, JWT gerektirir). [CODE BLOCK] POST /memory/unverify Bir belleği doğrulanmamış olarak işaretle (JWT gerektirir). [CODE BLOCK] GET /memory/unverified İnsan doğrulaması bekleyen bellekleri listele. [CODE BLOCK] İstatistikler & Denetim GET /memory/stats Mevcut mind için toplu istatistikler. [CODE BLOCK] Döndürür: GET /memory/audit Tüm durum değiştiren işlemlerin denetim günlüğü. [CODE BLOCK] GET /memory/contradictions Saklanan belleklerde olası çelişkileri tespit et. [CODE BLOCK] GET /memory/expiring Son kullanma tarihi yaklaşan bellekleri listele. [CODE BLOCK] Sağlık & Dışa Aktarma GET /memory/health Bellek sistemi için hızlı sağlık kontrolü. [CODE BLOCK] GET /memory/mind-export Tüm belleklerin tam JSON dışa aktarımı (yedekleme için). [CODE BLOCK] POST /memory/compact Benzer bellekleri sıkıştır (otomatik özetleme). [CODE BLOCK] Sonraki Adımlar - LLM'ler için Hızlı Başlangıç - Bellek En İyi Uygulamaları - FTS5 Arama - Anlamsal Arama ──────────────────────────────────────────────────────────── # API Genel Bakış & Temel URL SUMMARY: Tüm Synapse API uç noktaları, temel URL, kimlik doğrulama desenleri ve yanıt biçimleri bir bakışta. KEY CONTEXT: Base URL: https://synapse.schaefer.zone Auth: Authorization: Bearer YOUR_MIND_KEY (header, no rate limit) OR ?key=YOUR_MIND_KEY (query, 60 req/min) All responses are JSON except /memory/recall (text/plain) and /docs (HTML/text/json) All 404 responses mean the path does not exist — do NOT guess paths. GET /endpoints returns machine-readable list of all valid endpoints. API Genel Bakış & Temel URL Synapse API, RESTful bir HTTP API'sidir. Tüm uç noktalar JSON döndürür (belirtilenler hariç). Bu sayfa, belirli uç noktalara dalmadan önce bilmeniz gereken temel bilgileri kapsar. Temel URL [CODE BLOCK] Bu dokümantasyondaki tüm yollar bu temel URL'ye göredir. Self-hosted örnekler için kendi URL'nizle değiştirin. Kimlik Doğrulama İki yöntem, ikisi de başlığı üzerinden gönderilir: [CODE BLOCK] Veya sorgu parametresi üzerinden (60/dakika hız sınırıyla): [CODE BLOCK] Detaylar için bkz. Kimlik Doğrulama. Uç Nokta Grupları | Grup | Kimlik Doğrulama | Açıklama | |-------|------|-------------| | Public | Yok | Açılış sayfası, sağlık, OpenAPI, docs | | Memory | Mind Key | CRUD, arama, senkronizasyon, gömmeler | | Chat | Mind Key / JWT | İnsan ve ajan arasında asenkron mesajlaşma | | Tasks | Mind Key | Görev yönetimi | | Scripts | Mind Key / JWT | Kalıcı betik deposu | | Scheduler | Mind Key | Cron işleri + değişkenler | | Webhooks | Mind Key | Olaylarda HTTP geri aramaları | | Computers | Mind Key / JWT | Uzak bilgisayar kontrolü | | User/Minds | JWT | Hesap + mind yönetimi | | Sharing | JWT | Kullanıcılar arası mind paylaşımı | | Push | JWT | Web Push abonelikleri | | Tools | Yok | Saat, hesap, rastgele (herkese açık yardımcılar) | Yanıt Biçimleri - JSON (varsayılan): - Düz metin: , LLM için optimize edilmiş metin döndürür - HTML: , , , , Standart Yanıt Zarfı Başarılı yanıtlar veriyi doğrudan döndürür: [CODE BLOCK] Hata yanıtları şu biçimi kullanır: [CODE BLOCK] > [!NOTE] > alanı, yaygın hatalar için ilgili dokümantasyona bağlantı verir. HTTP Durum Kodları | Kod | Anlamı | |------|---------| | 200 | Başarılı (GET, PUT) | | 201 | Oluşturuldu (POST) | | 204 | İçerik yok (DELETE) | | 400 | Hatalı istek (doğrulama hatası) | | 401 | Yetkisiz (eksik/geçersiz token) | | 403 | Yasak (yanlış token tipi) | | 404 | Bulunamadı (yol mevcut değil) | | 409 | Çakışma (yinelenen) | | 429 | Çok fazla istek (hız sınırı) | | 500 | Sunucu hatası | Keşfedilebilirlik Uç Noktaları | Uç Nokta | Amaç | |----------|---------| | | Açılış sayfası (LLM için optimize edilmiş) | | | Tüm uç noktaların makine tarafından okunabilir listesi | | | Düz metin uç nokta listesi | | | OpenAPI 3.0 belirtimi | | | Tam API dokümantasyonu (HTML) | | | JSON olarak API docs | | | Dokümantasyon sistemi (HTML) | | | Dokümantasyon dizini (JSON) | | | Tüm docs tek metin bloğu olarak | | | Etkileşimli API playground | Hız Sınırları | Kimlik Doğrulama Yöntemi | Sınır | |-------------|-------| | Mind Key (header) | Yok | | Mind Key (?key=) | IP başına 60/dakika | | JWT (header) | Yok | | Herkese açık uç noktalar | Yok | Hız sınırına takılan yanıtlar şunları içerir: [CODE BLOCK] Sayfalama Liste uç noktaları ve destekler: [CODE BLOCK] Varsayılan sınır: 100. Maksimum sınır: 500. CORS Tüm uç noktalar tarayıcı tabanlı istemciler için CORS'u destekler: [CODE BLOCK] SDK'lar & İstemciler - Node.js SDK: (repo) - MCP Server: (repo) - HTTP istemcisi: herhangi bir HTTP kütüphanesi (curl, fetch, axios vb.) Sonraki Adımlar - Memory API — en önemli uç noktalar - Chat API — asenkron insan-ajan iletişimi - Hatalar & Hata Yönetimi ──────────────────────────────────────────────────────────── # Hız Sınırları & Kotalar SUMMARY: Synapse API için hız sınırı politikaları — Bearer header (sınırsız), ?key= (60/dakika), herkese açık uç noktalar. KEY CONTEXT: Mind Key (Authorization: Bearer header) → NO rate limit Mind Key (?key= query param) → 60 req/min per IP JWT (Authorization: Bearer header) → NO rate limit Public endpoints (/tools/*, /docs, /health, /endpoints) → NO rate limit Rate limit headers: X-RateLimit-Limit, X-RateLimit-Remaining, Retry-After Recommendation: ALWAYS use Authorization header. Use ?key= only for URL-only tools. 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 () | Yok | Mind başına | | Mind Key () | 60 istek/dakika | IP başına | | JWT () | Yok | Kullanıcı başına | | Herkese açık uç noktalar | Yok | Global | > [!TIP] > Mümkün olduğunda daima başlığını kullanın. Hız sınırı yoktur. seçeneğini yalnızca özel başlık ayarlayamayan araçlar için kullanın. Hız Sınırı Başlıkları kimlik doğrulaması kullandığınızda, yanıtlar hız sınırı başlıklarını içerir: [CODE BLOCK] Sınırı aştığınızda: [CODE BLOCK] Hız Sınırına Ulaştığınızda 429 alırsanız: 1. Authorization header'a geçin (önerilir): [CODE BLOCK] 2. Veya saniye bekleyin ve yeniden deneyin. ?key= Sınırı Neden Var sorgu parametresi yalnızca URL kullanan araçlar (tarayıcılar, 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 URL'si paylaşılabilir ve kötüye kullanılabilir. IP sınırı etki alanını sınırlar. Önerilen Desenler LLM ajanları [CODE BLOCK] Tarayıcı tabanlı araçlar Aracınız yalnızca URL açabiliyorsa: [CODE BLOCK] MCP sunucusu MCP sunucuları her zaman 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. ü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 [CODE BLOCK] Sonraki Adımlar - Kimlik Doğrulama - Hatalar & Hata Yönetimi ──────────────────────────────────────────────────────────── # Scripts API SUMMARY: Kalıcı betik deposu — yeniden kullanılabilir shell, Python veya Node betiklerini kaydedin ve curl | bash ile alın. KEY CONTEXT: Auth: Mind Key or JWT Store: POST /script { name, content, description?, language? } Fetch as text: GET /script/:name (returns text/plain, curl | bash ready) Info: GET /script/:name/info (metadata without content) List: GET /scripts (JSON array) Delete: DELETE /script/:name Use case: store deployment scripts, config generators, troubleshooting snippets Scripts API Scripts API, yeniden kullanılabilir betikler için kalıcı bir depo sağlar. Betikler bir mind içinde adlandırılır ve sürümlendirilir ve düz metin olarak alınabilir — desenleri için mükemmeldir. Uç Noktalar POST /script Bir betik sakla veya güncelle. [CODE BLOCK] GET /script/:name Betik içeriğini olarak al. Bash'e yönlendirmek için mükemmel. [CODE BLOCK] GET /script/:name/info İçerik olmadan betik meta verilerini al. [CODE BLOCK] Yanıt: [CODE BLOCK] GET /scripts Mevcut mind'deki tüm betikleri listele. [CODE BLOCK] DELETE /script/:name Bir betiği sil. [CODE BLOCK] Yaygın Kullanım Senaryoları Dağıtım betikleri LLM'nin adımları her seferinde yeniden türetmeden çalıştırabilmesi için standart dağıtım prosedürlerini saklayın: [CODE BLOCK] Sorun giderme parçacıkları Yaygın sorunlar için tanılama komutları saklayın: [CODE BLOCK] Yapılandırma üreteçleri Yapılandırma üreten betikler saklayın: [CODE BLOCK] Sonraki Adımlar - Variables API - Cron & Zamanlayıcı ──────────────────────────────────────────────────────────── # Tasks API SUMMARY: LLM ajanları için görev yönetimi — önceliklerle görev oluşturma, listeleme, güncelleme, tamamlama, silme. KEY CONTEXT: Auth: Mind Key List: GET /mind/tasks?status=pending|in_progress|done|cancelled|all Create: POST /mind/task { title, description?, priority?, due_at? } Update: PUT /mind/task/:id { title?, description?, priority?, status?, due_at? } Complete: GET /mind/task/:id/complete Delete: GET /mind/task/:id/delete Priorities: low, normal, high, critical Statuses: pending, in_progress, done, cancelled Pattern: create tasks for multi-step work, update status as you progress Tasks API Tasks API, LLM ajanlarına çok adımlı işleri izlemek için yapılandırılmış bir yol sağlar. Görevler mevcut mind'e bağlıdır ve oturumlar arasında kalıcıdır, böylece ajan kaldığı yerden devam edebilir. Uç Noktalar GET /mind/tasks Mevcut mind için tüm görevleri listele. [CODE BLOCK] Yanıt: [CODE BLOCK] POST /mind/task Yeni bir görev oluştur. [CODE BLOCK] GET /mind/task (sorgu parametreleri) GET ile bir görev oluştur (yalnızca URL kullanan araçlar için). [CODE BLOCK] PUT /mind/task/:id Mevcut bir görevi güncelle. [CODE BLOCK] GET /mind/task/:id/complete Bir görevi tamamlandı olarak işaretle. [CODE BLOCK] GET /mind/task/:id/delete Bir görevi kalıcı olarak sil. [CODE BLOCK] Öncelikler - — acil değil - — varsayılan - — önemli - — hemen yapılmalı Durumlar - — oluşturuldu, başlanmadı - — şu anda üzerinde çalışılıyor - — tamamlandı - — terk edildi Desen: Görev Odaklı İş Akışı [CODE BLOCK] Sonraki Adımlar - Görev Odaklı İş Akışı - Cron & Zamanlayıcı ──────────────────────────────────────────────────────────── # Yardımcı Program Araçları (saat, hesap, rastgele) SUMMARY: Herkese açık yardımcı program uç noktaları — sunucu saati, güvenli hesap makinesi, rastgele değer üreteci. Kimlik doğrulama gerektirmez. KEY CONTEXT: No auth required for any /tools/* endpoint. GET /tools/time → { time, timezone, offset } GET /tools/calc?expr=(10+5)*3 → { result, expr } (safe, no eval, arithmetic only) GET /tools/random?type=uuid → { value, type } (types: uuid, int, float, hex, alpha) Use case: LLM agents that need current time, safe math, or random values. Yardımcı Program Araçları uç noktaları herkese açık yardımcı programlardır — kimlik doğrulama gerektirmez. Sunucu tarafında saat, güvenli matematik veya rastgele değerlere ihtiyaç duyan LLM ajanları için yararlıdır. GET /tools/time Mevcut sunucu saati, saat dilimi ve UTC sapmasını alın. [CODE BLOCK] Yanıt: [CODE BLOCK] Kullanım senaryosu: zamanlama, zaman damgaları veya göreli tarih hesaplamaları için "şu an saat kaç" bilmeye ihtiyaç duyan LLM ajanları. GET /tools/calc Güvenli hesap makinesi — yalnızca aritmetik, yok. , , , , , , ve sayıları destekler. [CODE BLOCK] Yanıt: [CODE BLOCK] > [!TIP] > Kafanızda veya dize ayrıştırma yoluyla matematik yapmaya çalışmak yerine bunu kullanın. Güvenlidir (kod enjeksiyonu mümkün değil) ve doğrudur. Desteklenen operatörler - toplama - çıkarma - çarpma - bölme - modül - parantezler - Sayılar (tamsayılar ve ondalıklar) Örnekler [CODE BLOCK] GET /tools/random Rastgele değerler üret. [CODE BLOCK] Tip parametreleri | Tip | Parametreler | Çıktı | |------|-----------|--------| | | yok | UUID v4 dizesi | | | , (varsayılan 0-100) | Tamsayı | | | , (varsayılan 0-100) | Ondalık | | | , (uzunluk aralığı, varsayılan 8-16) | Hex dizesi | | | , (uzunluk aralığı, varsayılan 8-16) | Alfabetik dize | LLM Ajanları için Kullanım Senaryoları Benzersiz ID'ler üret [CODE BLOCK] Yüzdeleri hesapla [CODE BLOCK] Mevcut zaman damgasını al [CODE BLOCK] Test verisi üret [CODE BLOCK] Sonraki Adımlar - API Genel Bakış — tüm uç nokta grupları - Hatalar & Hata Yönetimi ──────────────────────────────────────────────────────────── # Kullanıcı & Minds API SUMMARY: Hesap yönetimi — kayıt olma, giriş, mind oluşturma, mind listeleme, mind silme. JWT korumalı. KEY CONTEXT: Auth: JWT (from /register or /login) Register: POST /register { email, password, display_name? } → returns JWT Login: POST /login { email, password } → returns JWT Create mind: POST /minds { name, description? } → returns mind_key (shown once!) List minds: GET /minds Delete mind: DELETE /minds/:id (irreversible — deletes all memories!) JWT expires after 7 days. Mind Key never expires. Mind Key is shown only once at creation — save it permanently. Kullanıcı & Minds API User & Minds API, hesap yönetimini ele alır. Bu uç noktalar hesap düzeyinde çalıştıkları için (mind düzeyinde değil) JWT kimlik doğrulaması (Mind Key değil) kullanır. Kimlik Doğrulama Uç Noktaları POST /register Yeni bir kullanıcı hesabı oluştur. [CODE BLOCK] Yanıt: [CODE BLOCK] POST /login Mevcut bir hesaba giriş yap. [CODE BLOCK] Yanıt: ile aynı. Minds Uç Noktaları POST /minds Yeni bir mind oluştur. Mind Key'i döndürür — hemen kaydedin, yalnızca bir kez gösterilir. [CODE BLOCK] Yanıt: [CODE BLOCK] > [!CRITICAL] > yalnızca bir kez gösterilir. Kaybederseniz geri alamazsınız — mind'i silip yenisini oluşturmanız gerekir (bu, saklanan tüm bellekleri kaybeder). GET /minds Mevcut kullanıcı için tüm mind'leri listele. [CODE BLOCK] Yanıt: [CODE BLOCK] DELETE /minds/:id Bir mind'i kalıcı olarak sil. [CODE BLOCK] > [!WARNING] > Bir mind'i silmek geri alınamaz. Bu mind'deki tüm bellekler, görevler, sohbet geçmişi ve betikler kalıcı olarak kaybolur. Yedekleme gerekiyorsa önce ile dışa aktarın. Çoklu Mind Deseni Çoğu kullanıcı bağlamları izole tutmak için birden çok mind'den yararlanır: [CODE BLOCK] Bağlamları izole tutmak için farklı LLM oturumlarında farklı Mind Key'ler kullanın. Hesap Güvenliği Parola gereksinimleri - En az 6 karakter - Maksimum yok (bir parola yöneticisi kullanın) - bcrypt hash olarak saklanır (asla düz metin) JWT son kullanma JWT'ler 7 gün sonra sona erer. Sona erdiğinde, tekrar çağırın. Mind Key güvenliği Mind Key'ler asla sona ermez. Bir Mind Key tehlikeye girerse: 1. ile yeni bir mind oluştur 2. LLM yapılandırmanızı yeni Mind Key ile güncelle 3. Tehlikeye giren mind'i ile sil Sonraki Adımlar - Kimlik Doğrulama — tam kimlik doğrulama rehberi - Mind Key ve JWT — karar rehberi - Sharing API — mind'leri diğer kullanıcılarla paylaş ──────────────────────────────────────────────────────────── # Variables API SUMMARY: LLM durumu için hızlı anahtar-değer deposu — sayaçlar, bayraklar, son görülme zaman damgaları, kısmi ilerleme. KEY CONTEXT: Auth: Mind Key Set: POST /var { key, value } Get: GET /var/:key List: GET /var Delete: DELETE /var/:key Use case: store last-seen timestamps, counters, flags, partial workflow state Faster than memory (PostgreSQL direct, no FTS5 indexing) Not for: structured facts (use /memory), long content (use /script) Variables API Variables API, geçici durum için hızlı bir anahtar-değer deposudur. Belleklerden (indekslenen, aranabilir ve yapılandırılmış) farklı olarak değişkenler hızlı okuma/yazma erişimi için optimize edilmiştir — sayaçlar, bayraklar ve oturum durumu için mükemmeldir. Uç Noktalar POST /var Bir değişken ayarla veya güncelle. [CODE BLOCK] GET /var/:key Tek bir değişkeni al. [CODE BLOCK] Yanıt: [CODE BLOCK] GET /var Tüm değişkenleri listele. [CODE BLOCK] DELETE /var/:key Bir değişkeni sil. [CODE BLOCK] Ne Zaman Değişken, Ne Zaman Bellek Kullanılır | Kullanım Senaryosu | Kullan | |----------|-----| | Kullanıcı adı, tercihler | Bellek (aranabilir, yapılandırılmış) | | Son oturum zaman damgası | Değişken (geçici durum) | | Sayaç (örn. gönderilen mesajlar) | Değişken (sık güncellemeler) | | İş akışı durumu ("5 adımın 3'ü tamamlandı") | Değişken (geçici) | | Uzun form proje notları | Bellek (tam metin indeksli) | | Yeniden kullanılabilir betikler | Betik deposu (adlandırılmış, sürümlü) | Yaygın Desenler Son oturumu izle [CODE BLOCK] Sayaç deseni [CODE BLOCK] Özellik bayrakları [CODE BLOCK] Sonraki Adımlar - Memory API — yapılandırılmış, aranabilir veriler için - Cron & Zamanlayıcı ──────────────────────────────────────────────────────────── # Webhooks API SUMMARY: Bellek, sohbet ve görev olayları için HTTP geri aramaları kaydetme — veriler değiştiğinde bildirim alın. KEY CONTEXT: Auth: Mind Key Register: POST /webhooks { url, events, secret? } List: GET /webhooks Get: GET /webhooks/:id Update: PUT /webhooks/:id { url?, events?, secret?, enabled? } Delete: DELETE /webhooks/:id Events: memory.*, memory.store, memory.update, memory.delete, chat.*, chat.message_received, task.*, task.created, task.completed Secret: HMAC-SHA256 signed payload, sent in X-Synapse-Signature header Pattern: register webhook → receive POST → process event → call Synapse API Webhooks API Webhook'lar, Synapse'ta olaylar gerçekleştiğinde HTTP geri aramaları almanızı sağlar. Harici otomasyon tetiklemek, bildirimler göndermek veya diğer sistemlerle senkronize etmek için mükemmeldir. Uç Noktalar POST /webhooks Yeni bir webhook kaydet. [CODE BLOCK] Yanıt: [CODE BLOCK] GET /webhooks Mevcut mind için tüm webhook'ları listele. [CODE BLOCK] GET /webhooks/:id Tek bir webhook al. [CODE BLOCK] PUT /webhooks/:id Bir webhook'u güncelle (URL, olaylar, gizli anahtar veya etkin bayrağı). [CODE BLOCK] DELETE /webhooks/:id Bir webhook'u sil. [CODE BLOCK] Olay Tipleri | Desen | Ne zaman tetiklenir | |---------|------------| | | Herhangi bir bellek olayı | | | Yeni bellek saklandı | | | Bellek güncellendi | | | Bellek silindi | | | Herhangi bir sohbet olayı | | | İnsandan yeni mesaj | | | Herhangi bir görev olayı | | | Yeni görev oluşturuldu | | | Görev tamamlandı olarak işaretlendi | | | Tüm olaylar | Webhook Yükü Bir olay tetiklendiğinde Synapse URL'nize POST yapar: [CODE BLOCK] İmza Doğrulama Bir ayarlarsanız, Synapse her yükü HMAC-SHA256 ile imzalar: [CODE BLOCK] İşleyicinizde doğrulayın: [CODE BLOCK] Desen: Gerçek Zamanlı Senkronizasyon [CODE BLOCK] Sonraki Adımlar - Cron & Zamanlayıcı - Webhook Otomasyon Rehberi ## KATEGORİ: MCP ENTEGRASYONU Claude, Cursor ve diğer MCP istemcileriyle entegrasyon. ──────────────────────────────────────────────────────────── # Claude Code'da MCP SUMMARY: Claude Code terminal ajanından Synapse araçlarını kullanın — kodlama oturumları için kalıcı bellek. KEY CONTEXT: Claude Code config: ~/.claude/config.json (or via `claude mcp add` command) Command: npx -y synapse-mcp-api@latest Env: SYNAPSE_MIND_KEY (required), SYNAPSE_URL (optional) Alternative: `claude mcp add synapse -- npx -y synapse-mcp-api@latest` Then: set SYNAPSE_MIND_KEY env var in your shell Test: in claude code, type "recall all my memories" Claude Code'da MCP Claude Code, Anthropic'in terminal tabanlı kodlama ajanıdır. Synapse MCP ile Claude Code, kodlama oturumları arasında kalıcı bellek kazanır — proje bağlamınızı, geçmiş kararlarınızı ve kod tabanı desenlerini hatırlar. Kurulum Yöntem 1: CLI Komutu (önerilir) [CODE BLOCK] Yöntem 2: Yapılandırma Dosyasını Düzenle dosyasını düzenleyin: [CODE BLOCK] Çalıştığını Doğrula Claude Code'u başlatın: [CODE BLOCK] Claude Code promptunda şunu yazın: [CODE BLOCK] Claude çağırmalı ve sakladığınız belleklerle yanıt vermelidir. Yaygın Desenler Proje bağlamı kalıcılığı Bir kodlama oturumunun başında: [CODE BLOCK] Claude çağırır, proje listenizi görür ve kaldığınız yerden devam eder. Kod tabanı kararları Mimari bir karar verdiğinizde: [CODE BLOCK] Claude 'u kategorisi, öncelik ile çağırır. Geçmiş hatalardan kaçınma [CODE BLOCK] Claude kategorisinde bellekleri arar ve geçmiş hataları hatırlatır. Görev izleme [CODE BLOCK] Claude çağırır ve görev oturumlar arasında kalıcı olur. Araç Profilleri 119 aracın tamamına ihtiyaç duymadığınız kodlama oturumları için: [CODE BLOCK] Sorun Giderme MCP sunucusu başlamıyor [CODE BLOCK] Mind Key tanınmıyor [CODE BLOCK] Claude Code araçları görmüyor - Yapılandırma değişikliklerinden sonra Claude Code'u yeniden başlatın - Synapse'in kayıtlı olduğunu doğrulamak için kontrol edin - Bkz. MCP Sorun Giderme Sonraki Adımlar - Claude Desktop Kurulumu - Cursor Kurulumu - Kalıcı LLM Ajanı Rehberi ──────────────────────────────────────────────────────────── # Claude Desktop'ta MCP SUMMARY: Synapse'i 2 dakikada Claude Desktop'a bağlayın. Claude 79 Synapse aracını yerel olarak alır. KEY CONTEXT: Config file: ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) %APPDATA%\Claude\claude_desktop_config.json (Windows) MCP server command: npx -y synapse-mcp-api@latest Env vars: SYNAPSE_MIND_KEY (required), SYNAPSE_URL (optional, default https://synapse.schaefer.zone) After config: restart Claude Desktop, check for 🔌 icon with "79 tools" Test: type "memory_recall aufrufen" in a new chat Troubleshooting: Node.js ≥ 18, check Mind Key, see /docs/mcp/troubleshooting Claude Desktop'ta MCP Claude Desktop, Anthropic'in macOS ve Windows için masaüstü uygulamasıdır. Synapse MCP sunucusu yapılandırıldığında, Claude tüm 79 Synapse aracına yerel erişim kazanır — bellek saklayabilir, geri çağırabilir, görevleri yönetebilir, sizinle sohbet edebilir ve daha fazlasını yapabilir. Önkoşullar - Claude Desktop uygulaması (macOS veya Windows) - Node.js 18+ yüklü () - Synapse Mind Key'iniz Adım 1: Yapılandırma Dosyasını Açın - macOS: - Windows: Dosya mevcut değilse, oluşturun. Adım 2: Synapse MCP Sunucusu Ekleyin [CODE BLOCK] > [!TIP] > Halihazırda diğer MCP sunucuları yapılandırılmışsa, mevcut nesnesinin içine bloğunu eklemeniz yeterlidir. Adım 3: Claude Desktop'ı Yeniden Başlatın 1. Claude Desktop'ı tamamen kapatın (macOS'ta Cmd+Q, sadece pencereyi kapatmak değil) 2. Claude Desktop'ı yeniden açın 3. Yeni bir sohbet başlatın 4. Sol alttaki 🔌 fiş simgesini arayın — "79 tools" demeli Adım 4: Test Edin Yeni bir sohbette şunu yazın: [CODE BLOCK] Claude aracını çağırmalı ve sakladığınız belleklerin özetiyle yanıt vermelidir (veya mind boşsa "No memories yet"). Kullanılabilir Araçlar (Seçim) | Araç | Açıklama | |------|-------------| | | Tüm bellekleri geri çağır | | | Yeni bir bellek sakla | | | Bellekleri ara | | | Görevleri listele | | | Bir görev oluştur | | | Yeni mesajları kontrol et | | | Bir mesaja yanıtla | | | Bir tarayıcı sekmesi aç | | | Kayıtlı bilgisayarları listele | Tam liste: MCP Nedir? Sorun Giderme Claude Desktop'da hiç araç görünmüyor 1. Node.js sürümünü doğrulayın: (≥ 18 olmalı) 2. Yapılandırma dosyasının geçerli JSON olduğunu kontrol edin (sonda virgül yok) 3. Claude Desktop'ı tamamen yeniden başlatın (Cmd+Q, sadece kapatmak değil) 4. Claude Desktop loglarını kontrol edin: (macOS) "Mind Key invalid" hatası - 'in ile başladığını doğrulayın - ile yeni bir anahtar alın ('den JWT gerektirir) - JSON'da anahtarın etrafında tırnak olmamalı npx bulunamadı - Node.js 18+ yükleyin: - Yükledikten sonra terminali yeniden başlatın - Homebrew ile macOS'ta: Araçlar görünüyor ama çağrılar başarısız - 'in erişilebilir olduğunu kontrol edin: - Mind Key'inizin çalıştığını doğrulayın: - Bkz. MCP Sorun Giderme Araç Profilleri (Token Tasarrufu) Daha küçük bir LLM kullanıyorsanız veya bağlam token'larından tasarruf etmek istiyorsanız, bir araç profili ayarlayın: [CODE BLOCK] Profiller: (8 araç), (25), (119, varsayılan). Sonraki Adımlar - Claude Code Kurulumu - Cursor Kurulumu - MCP Sorun Giderme ──────────────────────────────────────────────────────────── # Continue.dev'de MCP SUMMARY: Synapse'i Continue.dev'e bağlayın — VS Code ve JetBrains için açık kaynaklı AI kodlama asistanı. Continue.dev'de MCP Continue.dev, VS Code ve JetBrains IDE'leri için açık kaynaklı bir AI kodlama asistanıdır. Synapse MCP ile Continue, oturumlar arasında kalıcı bellek kazanır. Önkoşullar - VS Code veya JetBrains IDE - Continue.dev uzantısı yüklü - Node.js 18+ - Synapse Mind Key'iniz Kurulum Adım 1: Continue Yapılandırmasını Açın VS Code veya JetBrains'te: 1. Continue uzantısı kenar çubuğunu açın 2. Dişli simgesine tıklayın → "Open config.json" Veya dosyasını doğrudan düzenleyin. Adım 2: Synapse MCP Sunucusu Ekleyin [CODE BLOCK] Adım 3: Continue'u Yeniden Yükleyin VS Code penceresini yeniden yükleyin (Cmd+Shift+P → "Reload Window") veya IDE'nizi yeniden başlatın. Çalıştığını Doğrula Continue sohbetinde: [CODE BLOCK] Continue çağırmalı ve sakladığınız belleklerle yanıt vermelidir. Yaygın Desenler Proje bağlamı [CODE BLOCK] Continue çağırır, proje belleklerinizi görür ve kaldığınız yerden devam eder. Kod inceleme desenleri [CODE BLOCK] Continue sakladığınız kod inceleme desenlerini bulur ve uygular. Eşli programlama belleği [CODE BLOCK] Continue bunu bir belleği olarak saklar. Sorun Giderme MCP sunucusu bağlanmıyor 1. 'un geçerli JSON olduğunu kontrol edin 2. Node.js'i doğrulayın: 3. Continue'un çıktı panelini kontrol edin (View → Output → Continue) 4. IDE'yi yeniden başlatın Araçlar görünmüyor - Continue sürümünün MCP'yi desteklediğini doğrulayın (≥ 0.9.x) - Yapılandırmada env değişkeninin ayarlandığını kontrol edin - Continue'un loglarında MCP hatalarını arayın Sonraki Adımlar - Claude Desktop Kurulumu - Özel MCP İstemcisi ──────────────────────────────────────────────────────────── # Cursor'da MCP SUMMARY: Kodlama oturumları arasında kalıcı proje belleği için Synapse'i Cursor IDE'ye bağlayın. Cursor'da MCP Cursor, VS Code tabanlı AI destekli bir IDE'dir. Synapse MCP ile Cursor, oturumlar arasında kalıcı bellek kazanır — proje kararlarınızı, kod tabanı desenlerinizi ve geçmiş hata ayıklama oturumlarınızı hatırlar. Önkoşullar - Cursor IDE yüklü () - Node.js 18+ - Synapse Mind Key'iniz Kurulum Adım 1: Cursor Ayarlarını Açın Cursor'da: 1. Ayarları açın (macOS'ta Cmd+, Windows/Linux'ta Ctrl+,) 2. "MCP" arayın veya 'a gidin Adım 2: Synapse MCP Sunucusu Ekleyin "Add MCP Server"a tıklayın ve yapılandırın: | Alan | Değer | |-------|-------| | Name | | | Type | | | Command | | | Env | | Adım 3: config.json'ı doğrudan düzenle (alternatif) Cursor MCP yapılandırmasını 'da saklar: [CODE BLOCK] Adım 4: Cursor'ı Yeniden Başlatın Cursor'ı tamamen yeniden başlatın (macOS'ta Cmd+Q ve yeniden açın). Çalıştığını Doğrula Cursor'ın sohbet panelinde (Cmd+L): [CODE BLOCK] Cursor çağırmalı ve sakladığınız belleklerle yanıt vermelidir. Yaygın Desenler Proje onboarding Yeni bir proje açarken: [CODE BLOCK] Cursor çağırır ve kaldığınız yerden devam eder. Mimari kararlar [CODE BLOCK] Cursor bunu öncelikli bir belleği olarak saklar. Hata ayıklama geçmişi [CODE BLOCK] Cursor belleklerini arar ve geçmiş düzeltmeleri hatırlatır. Oturumlar arası kod desenleri [CODE BLOCK] Cursor daha önce yaptığınız kimlik doğrulama uygulamaları hakkındaki bellekleri bulur. Sorun Giderme MCP sunucusu bağlanmıyor 1. Node.js'i doğrulayın: (≥ 18) 2. MCP sunucusunu test edin: (hatasız başlamalı) 3. Cursor'ın MCP loglarını kontrol edin (View → Output → MCP) 4. Cursor'ı tamamen yeniden başlatın Araçlar görünmüyor - 'un geçerli JSON olduğunu kontrol edin - env değişkeninin ayarlandığını doğrulayın - Cursor sürümünün MCP'yi desteklediğini kontrol edin (≥ 0.42) Mind Key geçersiz [CODE BLOCK] Sonraki Adımlar - Claude Desktop Kurulumu - Continue.dev Kurulumu - Kalıcı LLM Ajanı Rehberi ──────────────────────────────────────────────────────────── # Özel MCP İstemcisi Oluşturma SUMMARY: MCP SDK'sını kullanarak kendi uygulamanızdan Synapse MCP sunucusuna bağlanın. Özel MCP İstemcisi Oluşturma Kendi LLM uygulamanızı oluşturuyorsanız, resmi MCP SDK'sını kullanarak Synapse MCP sunucusuna doğrudan bağlanabilirsiniz. Bu, uygulamanıza tüm 79 Synapse aracına erişim sağlar. SDK'lar | Dil | Paket | |----------|---------| | TypeScript/JavaScript | | | Python | | TypeScript Örneği Yükle [CODE BLOCK] stdio üzerinden bağlan [CODE BLOCK] HTTP/SSE üzerinden bağlan (uzak) [CODE BLOCK] Python Örneği Yükle [CODE BLOCK] stdio üzerinden bağlan [CODE BLOCK] Araç Profilleri Bağlanırken, başlığı (HTTP/SSE) veya env değişkeni (stdio) ile belirli bir araç profili isteyebilirsiniz: [CODE BLOCK] Hata Yönetimi [CODE BLOCK] Kullanım Senaryoları - Özel AI asistanları — kalıcı belleğe sahip kendi ajanınızı oluşturun - İş akışı otomasyonu — özel iş akışlarında Synapse araçlarını zincirleyin - Veri iş hatları — bellekleri çıkarın, dönüştürün, başka yere yükleyin - İzleme panoları — bellek istatistiklerini, sohbet geçmişini, görevleri görüntüleyin Sonraki Adımlar - MCP Belirtimi - Synapse MCP Repo - API Genel Bakış ──────────────────────────────────────────────────────────── # MCP Sorun Giderme SUMMARY: Yaygın MCP entegrasyon sorunlarını çözün — sunucu başlamıyor, araçlar görünmüyor, kimlik doğrulama hataları. KEY CONTEXT: Common issues: 1. Node.js < 18 → upgrade to 18+ 2. Mind Key invalid → check format (mk_...), get fresh via POST /minds 3. npx not found → install Node.js 4. Tools not appearing → restart client, check config JSON validity 5. SYNAPSE_URL unreachable → curl /health to verify 6. MCP server crashes → check logs, run npx manually to see error Debug steps: run `npx -y synapse-mcp-api@latest` manually, check stderr Logs: Claude Desktop ~/Library/Logs/Claude/mcp.log, Cursor ~/.cursor/logs/ MCP Sorun Giderme Synapse MCP'yi LLM istemcinizle entegre ederken yaygın sorunlar ve çözümler. Hızlı Teşhis Kontrol Listesi 1. ✅ Node.js 18+ yüklü mü? () 2. ✅ Mind Key ile mi başlıyor? (JWT değil) 3. ✅ Synapse API erişilebilir mi? () 4. ✅ Mind Key çalışıyor mu? () 5. ✅ Yapılandırma dosyası geçerli JSON mu? (sonda virgül yok, yorum yok) 6. ✅ Yapılandırma değişikliğinden sonra istemci yeniden başlatıldı mı? 7. ✅ MCP sunucusu manuel olarak başlıyor mu? () Sorun: İstemcide Hiç Araç Görünmüyor Belirtiler - Claude Desktop / Cursor / Continue 0 araç gösteriyor - MCP sunucuları listesinde 🔌 simgesi veya "synapse" girişi yok Çözümler 1. İstemciyi tamamen yeniden başlatın — macOS'ta Cmd+Q (sadece pencereyi kapatmak değil) 2. Yapılandırma dosyası konumunu kontrol edin: - Claude Desktop macOS: - Claude Desktop Windows: - Cursor: - Continue: 3. JSON'ı doğrulayın — yapılandırmayı 'a yapıştırın 4. İstemci loglarını MCP hataları için kontrol edin: - Claude Desktop: (macOS) - Cursor: View → Output → MCP 5. MCP sunucusunu manuel çalıştırın — başlangıç hatalarını görmek için: [CODE BLOCK] Sorun: "Mind Key invalid" Hatası Belirtiler - Araçlar görünüyor ama çağrılar "401 Unauthorized" ile başarısız oluyor - Hata: "Mind Key fehlt oder ungültig" Çözümler 1. Mind Key biçimini doğrulayın — ile başlar, 40 karakter 2. Doğrudan test edin: [CODE BLOCK] 3. Env değişkeninin ayarlandığını kontrol edin — stdio taşıyıcısı için env değişkeni kabuğunuzda değil, MCP sunucu yapılandırmasında olmalı 4. Yeni bir Mind Key alın: [CODE BLOCK] Sorun: npx Bulunamadı Belirtiler - Hata: "npx: command not found" - MCP sunucusu başlatılamıyor Çözümler 1. Node.js 18+ yükleyin: - macOS: veya 'dan indirin - Linux: - Windows: 'dan indirin 2. Yükledikten sonra terminali yeniden başlatın 3. Doğrulayın: Sorun: SYNAPSEURL Erişilemiyor Belirtiler - MCP sunucusu başlıyor ama araç çağrıları zaman aşımına uğruyor - Hata: "fetch failed" veya "ECONNREFUSED" Çözümler 1. Bağlantıyı test edin: [CODE BLOCK] 2. Kurumsal güvenlik duvarını kontrol edin — giden HTTPS'yi engelliyor olabilir 3. Alternatif URL deneyin: - Üretim: - MCP sunucusu: 4. Self-hosted için: Synapse örneğinizin çalıştığından ve erişilebilir olduğundan emin olun Sorun: MCP Sunucusu Çöküyor Belirtiler - MCP sunucusu başladıktan hemen sonra çıkıyor - İstemci logları "MCP server disconnected" gösteriyor Çözümler 1. Hatayı görmek için manuel çalıştırın: [CODE BLOCK] 2. Port çakışmalarını kontrol edin — MCP sunucusu varsayılan olarak 13100 portunu kullanır 3. npx önbelleğini temizleyin: [CODE BLOCK] 4. En son sürüme güncelleyin: [CODE BLOCK] Sorun: Araç Çağrıları 429 Döndürüyor Belirtiler - Hata: "Rate limit exceeded" Çözümler Bu MCP ile olmamalı (header kimlik doğrulaması kullanır, hız sınırı yok). Olursa: 1. Bir yerde kullanıp kullanmadığınızı kontrol edin — header kimlik doğrulamasına geçin 2. 'i doğrulayın — doğru örneğe işaret ettiğinden emin olun 3. Sorun sürerse destekle iletişime geçin Sorun: Araçlar Görünüyor Ama Çalışmıyor Belirtiler - İstemcide araçlar listeleniyor - Bir araç çağırma hata döndürüyor veya sonuç vermiyor Çözümler 1. Araç adını kontrol edin — tam olmalı (örn. değil ) 2. Argümanları doğrulayın — aracın giriş şemasını kontrol edin 3. Doğrudan API ile test edin: [CODE BLOCK] 4. Synapse sağlığını kontrol edin: [CODE BLOCK] Yardım Alma Yukarıdakiler hiçbiri sorununuzu çözmezse: 1. Mevcut issue'ları kontrol edin: 2. Yeni bir issue açın — şunlarla: - MCP sunucu sürümü () - İstemci adı ve sürümü - İşletim sistemi - İlgili log alıntıları - Yeniden üretme adımları Sonraki Adımlar - Claude Desktop Kurulumu - Claude Code Kurulumu - API Hataları ──────────────────────────────────────────────────────────── # MCP Nedir? SUMMARY: Model Context Protocol, LLM'lerin harici araçları çağırmasını sağlar. Synapse resmi MCP sunucusu üzerinden 79 araç sunar. KEY CONTEXT: MCP = Model Context Protocol (Anthropic, 2024). Open standard for LLM-tool integration. Synapse has official MCP server: synapse-mcp-api (npm package, npx -y synapse-mcp-api@latest) 79 tools exposed: 22 memory, 7 chat, 8 scheduler, 4 tasks, 5 scripts, 9 computers, 4 push, 5 user, 3 utility 3 transports: stdio (local), HTTP/SSE (remote), WebSocket (mobile) Supported clients: Claude Desktop, Claude Code, Cursor, Continue, Cline, any MCP-compatible client Tool Profiles (v1.4.0): minimal (8 tools), standard (25), full (119) — controlled via MCP_PROFILE env or Mcp-Tool-Profile header MCP Nedir? Model Context Protocol (MCP), Anthropic (2024) tarafından LLM'lerin harici araçları yapılandırılmış bir şekilde çağırmasını sağlayan açık bir standarttır. API docs'larını prompta yapıştırmak yerine, araçları MCP sunucusuna kaydedersiniz ve LLM bunları gerektiği gibi çağırır — function calling gibi, ama standartlaştırılmış ve istemciden bağımsız. Synapse MCP Sunucusu Synapse, tüm Synapse özelliklerini kapsayan 79 araç sunan resmi bir MCP sunucusu () ile gelir: | Kategori | Araçlar | Sayı | |----------|-------|-------| | Memory | recall, list, store, search, semantic-search, update, delete, bulk-delete, stats, unverified, contradictions, audit, related, by-tag, diff, expiring, health, sync, embed-batch, verify, unverify, mind-export | 22 | | Chat | poll, reply, status, history, unread, send, upload | 7 | | Scheduler | cronlist, croncreate, crondelete, crontoggle, varlist, varget, varset, vardelete | 8 | | Tasks | tasklist, taskget, taskcreate, taskupdate | 4 | | Scripts | scriptlist, scriptget, scriptinfo, scriptstore, scriptdelete | 5 | | Computers | computerlist, computerget, installcode, screenshot, commandqueue, commandstatus, commandslist, disable, delete | 9 | | Push | vapidpublickey, subscribe, unsubscribe, test | 4 | | User/Mind | register, login, mindslist, mindcreate, minddelete | 5 | | Utility | time, calc, random | 3 | | Visualization | graph, tags, compact | 3 | | Sharing | share, list, revoke | 3 | | Webhooks | register, list, get, update, delete | 5 | | Browser | new, navigate, click, type, screenshot, close | 6 | | Toplam | | 79+ | Nasıl Çalışır [CODE BLOCK] 1. LLM istemcinizi (Claude Desktop, Cursor vb.) Synapse MCP sunucusunu kullanacak şekilde yapılandırırsınız 2. İstemci MCP sunucusunu başlatır ( ile) 3. MCP sunucusu Mind Key'inizi kullanarak Synapse API'ye bağlanır 4. LLM tüm 79 aracı çağırabileceği yerel işlevler olarak görür 5. LLM bir şeyi hatırlamak istediğinde çağırır — MCP sunucusu bunu Synapse'ta 'ye çevirir Taşıyıcılar Synapse MCP sunucusu üç taşıyıcıyı destekler: stdio (yerel, masaüstü için önerilir) [CODE BLOCK] HTTP/SSE (uzak, çok kiracılı) MCP istemcinizi şuraya bağlayın: [CODE BLOCK] WebSocket (mobil, yüksek hacimli) [CODE BLOCK] Araç Profilleri (v1.4.0) Daha küçük LLM'ler için token ek yükünü azaltmak amacıyla MCP sunucusu üç araç profili destekler: | Profil | Araçlar | Token'lar | En Uygun | |---------|-------|--------|----------| | | 8 (bileşik dispatch) | 500 | ≤8k bağlamlı self-hosted LLM'ler | | | 25 (adlandırılmış) | 2,500 | Orta boyutlu LLM'ler (Claude Haiku, GPT-3.5) | | | 119 (tümü) | 8,250 | Büyük LLM'ler (Claude Sonnet/Opus, GPT-4) — varsayılan | Şununla kontrol edin: - Env değişkeni: - Başlık: Desteklenen İstemciler - Claude Desktop — Anthropic'in masaüstü uygulaması - Claude Code — terminal kodlama ajanı - Cursor — AI destekli IDE - Continue.dev — açık kaynaklı AI kodlama asistanı - Cline — VS Code uzantısı - MCP uyumlu herhangi bir istemci Doğrudan API Yerine Neden MCP? | Yaklaşım | Artıları | Eksileri | |----------|------|------| | Doğrudan API | Basit, ekstra katman yok | LLM URL'leri, başlıkları, kimlik doğrulamayı bilmeli | | MCP | LLM yerel araçları görür, URL ezberleme yok | Ekstra MCP sunucu süreci | Çoğu LLM ajan kullanım senaryosu için MCP daha iyi bir seçimdir — LLM API yollarını veya kimlik doğrulama desenlerini hatırlamak zorunda değildir. Sonraki Adımlar - Claude Desktop Kurulumu — 2 dakikalık yapılandırma - Claude Code Kurulumu — terminal entegrasyonu - Özel MCP İstemcisi — kendiniz inşa edin ## KATEGORİ: REHBERLER VE NASIL YAPILIR Somut senaryolar için adım adım rehberler. ──────────────────────────────────────────────────────────── # Otomatik iOS Uygulama Testi SUMMARY: Simülatör üzerinden iOS uygulama testlerini otomatikleştirmek için Synapse + Computer Control API kullanın. Otomatik iOS Uygulama Testi LLM odaklı iOS uygulama testleri oluşturmak için Synapse'in bellek sistemini Computer Control API ile birleştirin. LLM test senaryolarını hatırlar, geçmiş başarısızlıklardan öğrenir ve UI değişikliklerine uyum sağlar. Mimari [CODE BLOCK] Önkoşullar - Synapse hesabı + Mind Key - Claude Desktop'da yapılandırılmış Synapse MCP sunucusu - yüklü iOS Simülatörü - Synapse'e kayıtlı bilgisayar (bkz. Computer Control API) Adım 1: Simülatör Bilgisayarını Kaydetme iOS Simülatörü çalışan Mac'te: [CODE BLOCK] Adım 2: Test Senaryolarını Bellekte Saklama Yeniden kullanılabilir test senaryolarını bellek olarak saklayın: [CODE BLOCK] Adım 3: LLM Odaklı Test Yürütme Claude Desktop'da (Synapse MCP yapılandırılmış): [CODE BLOCK] Claude şunları yapacak: 1. belleğini bulmak için çağırır 2. Mevcut durumu görmek için çağırır 3. Her adımı ile yürütür (tıkla, yaz) 4. Sonuçları ekran görüntüleriyle doğrular 5. Başarısızlıkları bellek olarak saklar Adım 4: Kendinden İyileşen Testler Bir test başarısız olduğunda, başarısızlığı ve kurtarmayı saklayın: [CODE BLOCK] Bir dahaki sefere LLM testi çalıştırdığında, başarısızlığı geri çağırır ve kurtarmayı otomatik olarak uygular. Adım 5: Test Sonucu İzleme Test çalışmalarını görev olarak izleyin: [CODE BLOCK] Yaygın Komutlar | Eylem | Komut | |--------|---------| | Simülatörü başlat | | | Ekran görüntüsü | (Synapse MCP ile) | | (x,y)'de dokun | | | Metin yaz | | | Home'a bas | | En İyi Uygulamalar > [!TIP] > - UI koordinatlarını bellek olarak saklayın — UI değişir, ama LLM yeniden öğrenebilir > - Erişilebilirlik etiketleri kullanın — koordinatlardan daha kararlı > - Test verilerini ayrı saklayın — kullanıcı adları, parolalar için değişkenler kullanın > - Testleri temiz durumda çalıştırın — çalıştırmalar arasında Simülatörü sıfırlayın > - Başarısızlıklar için ekran görüntüleri kaydedin — hata ayıklama için yararlı Sonraki Adımlar - Kendinden İyileşen Testler - Computer Control API - Bellek En İyi Uygulamaları ──────────────────────────────────────────────────────────── # Yedekleme & Geri Yükleme SUMMARY: Yedekleme için belleklerinizi dışa aktarın, mind'ler arasında taşıyın, veri kaybından sonra geri yükleyin. Yedekleme & Geri Yükleme Synapse, bellek yedekleme, taşıma ve felaket kurtarma için tam dışa/içe aktarma sağlar. Bu rehber temel işlemleri kapsar. Dışa Aktarma Tam Mind Dışa Aktarımı Bir mind'deki tüm bellekleri JSON olarak dışa aktar: [CODE BLOCK] Yanıt biçimi: [CODE BLOCK] Artımlı Dışa Aktarma (Diff) Yalnızca bir zaman damgasından sonra değişen bellekleri dışa aktar: [CODE BLOCK] Yanıt: [CODE BLOCK] Otomatik Yedeklemeler Cron ile günlük yedeklemeleri zamanlayın: [CODE BLOCK] > [!NOTE] > Cron uç noktası yanıtı alır ama saklamaz. Gerçek yedeklemeler için cron'u yanıtı kaydeden kendi yedekleme sunucunuza yönlendirin. Daha İyisi: Harici Yedekleme Betiği [CODE BLOCK] crontab'a ekleyin: [CODE BLOCK] Geri Yükleme Aynı Mind'e Geri Yükleme [CODE BLOCK] Yeni Mind'e Geri Yükleme [CODE BLOCK] Python Geri Yükleme Betiği [CODE BLOCK] Mind'ler Arası Taşıma [CODE BLOCK] Diğer Verileri Yedekleme Şunları yedeklemeyi unutmayın: | Veri Tipi | Uç Nokta | |-----------|----------| | Bellekler | | | Görevler | | | Betikler | | | Webhook'lar | | | Cron işleri | | | Değişkenler | | | Sohbet geçmişi | | Doğrulama Geri yüklemeden sonra doğrulayın: [CODE BLOCK] En İyi Uygulamalar > [!TIP] > - Günlük yedekleyin — cron ile otomatikleştirin > - Geri yüklemeleri test edin — geri yükleyemediğiniz yedek işe yaramaz > - Birden çok sürüm tutun — en az 30 gün > - Site dışında saklayın — S3, Backblaze B2 vb. > - Hassas yedekleri şifreleyin — bellekler PII içerebilir > - Geri yükleme sürecini belgeleyin — ihtiyaç duyduğunuzda unutmuş olacaksınız Sonraki Adımlar - Memory API - Cron & Zamanlayıcı — otomatik yedeklemeler için ──────────────────────────────────────────────────────────── # Bellek En İyi Uygulamaları SUMMARY: Etkili geri çağırma için bellekleri nasıl yapılandırırsınız — kategoriler, anahtarlar, etiketler, öncelikler. Bellek En İyi Uygulamaları Bellekleri nasıl yapılandırdığınız ne kadar yararlı olduklarını belirler. Bu rehber, LLM'in doğru zamanda doğru bilgiyi geri çağırabilmesi için kategorize etme, etiketleme ve önceliklendirme desenlerini kapsar. Kategoriler: En Spesifiği Seçin | Kategori | Kullanım | Örnek | |----------|---------|---------| | | Kullanıcı adı, rol, iletişim bilgisi | | | | Beğeniler, beğenmemeler, çalışma tarzı | | | | Doğrulanabilir bilgiler | | | | Proje durumu, kararlar | | | | Kullanıcının becerileri | | | | Kaçınılacak geçmiş hatalar | | | | Oturumla ilgili bağlam | | | | Çeşitli notlar | | > [!TIP] > Şüphede kaldığınızda, doğrulanabilir bilgiler için , diğer her şey için kullanın. Aşırı kategorize etmeyin — kafa karıştırıcı bir 'ten daha iyi net bir . Anahtarlar: Anlamlı Tanımlayıcılar alanı belleğin tanımlayıcısıdır. Anlamlı, kararlı anahtarlar kullanın: İyi anahtarlar: - - - - Kötü anahtarlar: - (anlamlı değil) - (tanımlayıcı değil) - (tarih geri çağırmaya yardımcı olmaz) Anahtar adlandırma kuralları - (alt çizgili küçük harf) - Kategori ile önekleyin: , , - Fiil değil, tanımlayıcı isim kullanın - 50 karakterin altında tutun Etiketler: Arama ve Filtreleme İçin Etiketler hızlı filtreleme ve arama sağlar. Bellek başına 2-5 etiket ekleyin: [CODE BLOCK] Etiket desenleri - Proje adları: , , - Konular: , , , - Durum: , , - Öncelik göstergeleri: , > [!NOTE] > Etiketler büyük/küçük harf duyarsızdır. Tutarlılık için küçük harf kullanın. Öncelikler: Gerçekçi Olun | Öncelik | Kullanım | Belleklerin %'si | |----------|---------|---------------| | | Kullanıcı kimliği, yasal bilgiler, geri alınamaz kararlar | 5% | | | Aktif projeler, önemli tercihler | 20% | | | Çoğu bilgi, not, bağlam | 65% | | | Geçici, bilmek güzel | 10% | > [!WARNING] > Her şeyi olarak işaretlemeyin. Her şey kritikse, hiçbir şey kritik değildir. 'ı unutulursa gerçek zarara yol açacak şeyler için ayırın. Ne Zaman Saklama, Ne Zaman Saklamama Her zaman sakla - Kullanıcı kimliği (ad, e-posta, rol) - Uzun vadeli tercihler - Proje kararları ve gerekçeler - Geçmiş hatalar ve alınan dersler - Kullanıcıya verilen taahütler Saklama - Geçici durum (bunun yerine değişkenler kullanın) - Birebir sohbet geçmişi (sohbet sistemi bunu ele alır) - Hassas veriler (parolalar, API anahtarları) - Kolayca türetilebilir bilgiler (mevcut tarih, dosya içerikleri) - Geçici bağlam (düşük öncelikli kategorisini kullanın) Bellekleri Güncelleme Aynı + ile mevcut belleği günceller: [CODE BLOCK] > [!TIP] > Yinelenen oluşturmadan güncelleyebilmeniz için kararlı anahtarlar kullanın. LLM, bilgiler değiştikçe yeni bellekler oluşturmak yerine aynı anahtarı yeniden POST yapmalıdır. Bellek Yaşam Döngüsü [CODE BLOCK] - Create: Tam bağlamla POST /memory - Active: Sık geri çağır, gerektiğinde güncelle - Stale: Hala ilgili ama aktif kullanılmıyor (düşük öncelik?) - Archive: Önceliği yap, tarihsel referans için tut - Delete: Artık ilgili değilse DELETE /memory/:id Periyodik temizlik [CODE BLOCK] Desen: Bellek Kalıtımı Hiyerarşik bağlam için (proje → alt proje → görev): [CODE BLOCK] LLM daha sonra arayarak tüm ilgili bellekleri bulabilir. Desen: Karar Günlüğü Kararları gerekçeleriyle saklayın, böylece LLM onları yeniden tartışmaz: [CODE BLOCK] Desen: Hata Önleme Hataları özel önleme talimatlarıyla saklayın: [CODE BLOCK] Kaçınılacak Anti-Desenler > [!WARNING] > - Sohbet günlüklerini saklama — sohbet sistemi bunu ele alır > - Tam dosyaları saklama — betik deposu veya harici depolama kullanın > - Geçici durumu saklama — değişkenler kullanın > - Gizli bilgileri saklama — ortam değişkenleri kullanın > - Bellekleri çoğaltma — kararlı anahtarlar kullanın > - Aşırı etiketleme — bellek başına 2-5 etiket idealdir > - Her şey kritik — önceliklerde gerçekçi olun Sonraki Adımlar - Memory API - Kalıcı LLM Ajanı - Bellek Etiketleme Stratejisi ──────────────────────────────────────────────────────────── # Çok Ajan Koordinasyonu SUMMARY: Paylaşımlı Synapse mind'leri, görevler ve sohbet kullanarak birden çok LLM ajanını koordine edin. Çok Ajan Koordinasyonu İlgili görevler üzerinde çalışan birden çok LLM ajanınız olduğunda, Synapse koordinasyon katmanı sağlar — paylaşımlı bellek, görev ataması ve asenkron sohbet. Desenler Desen 1: Paylaşımlı Mind (Tek Doğruluk Kaynağı) Tüm ajanlar bir Mind Key paylaşır. Aynı bellek deposunu okur/yazar. [CODE BLOCK] Kullanım senaryosu: Bir proje üzerinde çalışan küçük bir ajan ekibi. Kurulum: [CODE BLOCK] Görevlerle koordinasyon: [CODE BLOCK] Desen 2: Uzmanlaşmış Mind'ler (İzole Bağlamlar) Her ajanın kendi mind'i vardır. Paylaşımlı bir "koordinasyon" mind'i üzerinden iletişim kurarlar. [CODE BLOCK] Kullanım senaryosu: Farklı uzmanlıklara sahip ajanlar (kodlama, inceleme, dağıtım). Kurulum: [CODE BLOCK] Paylaşımlı mind ile koordinasyon: [CODE BLOCK] Desen 3: Hub-and-Spoke (Orkestratör) Merkezi bir orkestratör ajan, işçi ajanlara görevler atar. [CODE BLOCK] Kullanım senaryosu: Paralel çalışmalı karmaşık iş akışları. Uygulama: [CODE BLOCK] Sohbet Üzerinden Koordinasyon Ajanlar sohbet sistemi üzerinden iletişim kurabilir: [CODE BLOCK] > [!NOTE] > Sohbet mesajları rol etiketlidir. Ajan-ajan mesajları için role=agent, insan-ajan için role=human ayarlayın. Değişkenler Üzerinden Koordinasyon Hafif koordinasyon (kilitler, bayraklar) için değişkenler kullanın: [CODE BLOCK] En İyi Uygulamalar > [!TIP] > - Ayrı konular için ayrı mind'ler kullanın — kodlayıcı ve inceleyici belleğini karıştırmayın > - Sohbette ajanları etiketleyin — net adresleme için > - İş ataması için görevleri kullanın — sohbet değil (sohbet tartışma içindir) > - İdempotensi uygulayın — ajanlar başarısız işlemleri yeniden deneyebilir > - Her şeyi loglayın — denetlenebilirlik için kararları bellekte saklayın Sonraki Adımlar - Kalıcı LLM Ajanı - LLM Cookbook - Webhook Otomasyonu ──────────────────────────────────────────────────────────── # Kalıcı LLM Ajanı Oluşturma SUMMARY: Synapse kullanarak oturumlar arasında hatırlayan bir LLM ajanı oluşturmak için adım adım rehber. Genel Bakış Bu rehber, Synapse kullanarak oturumlar arasında bağlamı kalıcı kılan bir LLM ajanı oluşturmayı gösterir. Sonunda ajanınız şunları yapacak: - Oturum başlangıcında geçmiş bağlamı geri çağırma - Meydana geldikçe yeni öğrenmeleri saklama - Oturumlar arasında çok adımlı görevleri izleme - Asenkron sohbet aracılığıyla insanlarla iletişim kurma Mimari [CODE BLOCK] Adım 1: Mind Key Kurulumu [CODE BLOCK] Adım 2: Oturum Başlangıç Protokolü Her oturumun başında tüm bellekleri geri çağırın: [CODE BLOCK] Adım 3: Yeni Öğrenmeleri Saklama Ajan hatırlamaya değer bir şey öğrendiğinde: [CODE BLOCK] Adım 4: Görev Yönetimi Çok adımlı çalışmayı oturumlar arasında izleyin: [CODE BLOCK] Adım 5: İnsanlarla Asenkron Sohbet Araç çağrıları arasında mesajlar için poll yapın: [CODE BLOCK] Adım 6: Oturum Sonu Protokolü Oturum sonunda son bağlamı saklayın: [CODE BLOCK] Tam Desen [CODE BLOCK] En İyi Uygulamalar > [!TIP] > > - Her zaman önce geri çağırın — bağlam yüklemeden çalışmaya başlamayın > - Proaktif saklayın — oturum sonunu beklemeyin > - Anlamlı anahtarlar kullanın — değil, , > - Her şeyi etiketleyin — etiketler arama ve filtrelemeyi güçlendirir > - Gerçekçi öncelikler belirleyin — her şey değil Sonraki Adımlar - LLM Cookbook — pratik desenler - Bellek En İyi Uygulamaları - Çok Ajan Koordinasyonu ──────────────────────────────────────────────────────────── # Kendinden İyileşen Test İş Hatları SUMMARY: Synapse belleği kullanarak başarısızlıklardan öğrenen ve otomatik uyum sağlayan test iş hatları oluşturun. Kendinden İyileşen Test İş Hatları Geleneksel test suiteleri UI değiştiğinde kırılır. Kendinden iyileşen testler, geçmiş başarısızlıklardan öğrenmek ve uyum sağlamak için Synapse belleğini kullanır — titrek testleri ve bakım yükünü azaltır. Kavram [CODE BLOCK] 1. Test çalışır 2. Başarısız olursa, başarısızlığı sakla (neyin yanlış gittiği, neden, nasıl düzeltileceği) 3. Sonraki çalıştırma: yürütmeden önce ilgili başarısızlıkları geri çağır 4. Bilinen düzeltmeleri otomatik olarak uygula Uygulama Adım 1: Test Sarmalayıcı Her testi bellek geri çağırma/saklama ile sarın: [CODE BLOCK] Adım 2: Uyarlamalı Test Mantığı Testin içinde, bilinen başarısızlıkları kontrol edin ve düzeltmeleri uygulayın: [CODE BLOCK] Adım 3: Kurtarma Stratejileri Kurtarma stratejilerini bellek olarak saklayın: [CODE BLOCK] Adım 4: CI Entegrasyonu [CODE BLOCK] Adım 5: Başarısızlık Analiz Panosu [CODE BLOCK] En İyi Uygulamalar > [!TIP] > - Traceback'leri saklayın — başarısız olan tam satırı içerirler > - Test adına göre etiketleyin — hızlı filtreleme sağlar > - kategorisini kullanın — normal belleklerden ayırır > - öncelik belirleyin — başarısızlıklar asla unutulmamalı > - Periyodik temizlik — çözülen sorunlar için bellekleri silin > - Hassas veri saklamayın — kimlik bilgileri, PII Saklanacak Yaygın Başarısızlık Desenleri | Başarısızlık Tipi | Saklanacak | |--------------|---------------| | Öğe bulunamadı | Denenen seçici, sayfa durumu, ekran görüntüsü | | Zaman aşımı | Bekleme süresi, ne bekleniyordu | | Onaylama başarısız | Beklenen ve gerçek değer | | Ağ hatası | URL, durum kodu, yanıt gövdesi | | İzin reddedildi | Gerekli izin, mevcut kullanıcı rolü | Sonraki Adımlar - Otomatik iOS Testi - Bellek En İyi Uygulamaları - Hata Kurtarma Cookbook ──────────────────────────────────────────────────────────── # Webhook Otomasyonu SUMMARY: Bellekler değiştiğinde harici sistemleri tetikleyin — senkronize et, bildir, otomatikleştir. Webhook Otomasyonu Webhook'lar, Synapse olayları gerçekleştiğinde harici sistemleri tetiklemenizi sağlar. Bu rehber yaygın otomasyon desenlerini kapsar. Yaygın Desenler Desen 1: Kritik Bellekte Bildirim Kritik bir bellek saklandığında bir Slack mesajı gönder: [CODE BLOCK] Webhook'u kaydet: [CODE BLOCK] Desen 2: Harici Sisteme Senkronize Et Bellekleri Notion, Obsidian veya herhangi bir harici KB'ye senkronize et: [CODE BLOCK] Desen 3: CI/CD Tetikle Bir "release" belleği saklandığında dağıtım tetikle: [CODE BLOCK] Desen 4: İnsan Mesajında Ajanı Uyandır İnsan bir sohbet mesajı gönderdiğinde bir LLM ajan çalıştırması tetikle: [CODE BLOCK] Desen 5: Metrikleri Topla Bellek büyümesini, sohbet aktivitesini, görev tamamlamayı izle: [CODE BLOCK] İmza Doğrulama Sahteciliği önlemek için her zaman webhook imzalarını doğrulayın: [CODE BLOCK] Yeniden Deneme Mantığı Synapse, başarısız webhook'ları üstel geri çekilme ile yeniden dener. İşleyiciniz şunları yapmalıdır: 1. Hızlı 200 döndür — ağır işi senkron yapma 2. İşi kuyruğa al — bir arka plan iş sistemi kullanın 3. İdempotent ol — aynı olay iki kez teslim edilebilir [CODE BLOCK] Webhook Hata Ayıklama Teslimat geçmişini kontrol et Webhook teslimatları loglanır. Webhook'unuzun son teslimatlarını kontrol edin: [CODE BLOCK] Webhook'u manuel test et [CODE BLOCK] Yaygın sorunlar | Sorun | Çözüm | |-------|-----| | 4xx yanıtlar | İşleyicinizin 200 döndürdüğünü kontrol edin | | 5xx yanıtlar | Sunucu hatası — uygulama loglarınızı kontrol edin | | Zaman aşımı | Hızlı 200 döndür, işi asenkron kuyruğa al | | Yinelenen teslimatlar | İşleyiciyi idempotent yap | | İmza uyuşmazlığı | Gizli anahtarın doğru olduğunu doğrulayın | En İyi Uygulamalar > [!TIP] > - Her zaman imzaları doğrulayın — bunu asla atlamayın > - Hızlı 200 döndürün — Synapse'i engellemeyin > - İdempotent olun — yinelenen teslimatları ele alın > - Belirli olayları kullanın — değil > - Teslimat başarısızlıklarını izleyin — uyarı kurun Sonraki Adımlar - Webhooks API - Cron & Zamanlayıcı - Kalıcı LLM Ajanı ## KATEGORİ: KAVRAMLAR Synapse'in arkasındaki mimari ve kavramlar. ──────────────────────────────────────────────────────────── # Synapse Mimarisi SUMMARY: Synapse nasıl inşa edilmiştir — Fastify, PostgreSQL, FTS5, gömmeler, MCP sunucusu. Synapse Mimarisi Synapse, Fastify, FTS5 ile PostgreSQL ve anlamsal arama için isteğe bağlı bir gömme hizmeti üzerine inşa edilmiş çok kiracılı bir bellek API'sidir. Üst Düzey Mimari [CODE BLOCK] Çekirdek Bileşenler 1. Synapse API (Fastify) Ana HTTP sunucusu. Şunları ele alır: - REST uç noktaları (, , vb.) - Kimlik doğrulama (ajanlar için Mind Key, insanlar için JWT) - Hız sınırlaması (yalnızca kimlik doğrulaması) - Statik dosya sunumu (, vb. web arayüzü) - Webhook dağıtımı Performans için Fastify 5 ile inşa edilmiştir. Üretimde 12800 portunda çalışır. 2. FTS5 ile PostgreSQL Birincil veri deposu. Tam metin arama için FTS5 uzantısına sahip PostgreSQL kullanır. Önemli tablolar: | Tablo | Amaç | |-------|---------| | | Kullanıcı hesapları | | | Mind kapsamları (her birinin bir Mind Key'i vardır) | | | FTS5 sanal tablosuyla bellek kayıtları | | | Görev yönetimi | | | Sohbet geçmişi | | | Kalıcı betikler | | | Webhook kayıtları | | | Zamanlanmış görevler | | | Anahtar-değer deposu | | | Denetim izi | FTS5, tüm bellek içeriğinde milisaniyenin altında tam metin arama sağlar. Detaylar için bkz. FTS5 Arama. 3. Gömme Hizmeti (İsteğe Bağlı) Anlamsal arama için Synapse, bellek içeriğinin vektör gömmelerini üretir. Bunlar belleklerle birlikte saklanır ve benzerlik araması için kullanılır. - Sağlayıcı: yapılandırılabilir (OpenAI, yerel model vb.) - tablosunda sütunu olarak saklanır - uç noktası tarafından kullanılır - Bkz. Anlamsal Arama 4. MCP Sunucusu (Ayrı Hizmet) Synapse MCP sunucusu ayrı bir süreç (port 13100) olarak çalışır. Şunları yapar: - Model Context Protocol üzerinden 79 araç sunar - stdio, HTTP/SSE ve WebSocket taşıyıcılarını destekler - MCP araç çağrılarını Synapse API çağrılarına çevirir - Çok kiracılı: oturum başına bir Mind Key 5. Browser Proxy (Ayrı Hizmet) Tarayıcı otomasyonu için, 13000 portunda Playwright tabanlı ayrı bir hizmet çalışır. MCP sunucusu bunu araçları için çağırabilir. 6. SSH Proxy (Ayrı Hizmet) SSH tabanlı uzak komutlar için, 12900 portunda ayrı bir hizmet çalışır. Çok Kiracılılık Modeli [CODE BLOCK] Her mind tamamen izoledir. Mind Key'ler tam olarak bir mind'e erişim sağlar. JWT'ler kullanıcı hesabına erişim sağlar (mind'leri yönetmek için). Detaylar için bkz. Çok Kiracılılık. İstek Akışı Bellek Saklama İsteği [CODE BLOCK] Bellek Arama İsteği [CODE BLOCK] Dağıtım Synapse bir Docker konteyneri olarak dağıtılır. Bkz. : [CODE BLOCK] Performans Karakteristikleri | İşlem | Gecikme | Verim | |-----------|---------|------------| | Bellek saklama | 5ms | 1000+ istek/sn | | Bellek geri çağırma | 20ms | 500 istek/sn | | FTS5 arama | 10ms | 800 istek/sn | | Anlamsal arama | 50ms | 200 istek/sn | | Sohbet poll | 5ms | 2000 istek/sn | Sonraki Adımlar - Bellek Modeli - Çok Kiracılılık - FTS5 Arama ──────────────────────────────────────────────────────────── # FTS5 Tam Metin Arama SUMMARY: Synapse, milisaniyenin altında tam metin bellek araması için SQLite FTS5'i nasıl kullanır. FTS5 Tam Metin Arama Synapse, hızlı ve esnek bellek araması için FTS5 (Full-Text Search 5) kullanır. Bu sayfa, nasıl çalıştığını ve etkili nasıl kullanılacağını açıklar. FTS5 Nedir? FTS5, bir SQLite uzantısıdır (uzantılar yoluyla PostgreSQL'de de mevcuttur) ve tam metin arama yetenekleri sağlar. Şunları yapar: - Hızlı anahtar kelime araması için metin içeriğini indeksler - Boolean operatörleri destekler (AND, OR, NOT) - Tırnak işaretleriyle deyim eşleştirme destekler - ile ön ek eşleştirme destekler - Sonuçları alaka düzeyine göre sıralar Synapse, tüm bellek içeriğini indekslemek için FTS5 kullanır ve binlerce bellekte milisaniyenin altında arama sağlar. Synapse FTS5'i Nasıl Kullanır yaptığınızda: 1. Bellek içeriği tablosunda saklanır 2. İçerik aynı zamanda FTS5 sanal tablosuna eklenir 3. FTS5 içeriği otomatik olarak tokenleştirir ve indeksler yaptığınızda: 1. Synapse sorguyu FTS5 sözdizimi kullanarak ayrıştırır 2. FTS5 indeksine karşı bir yürütür 3. göre filtreler (kiracı izolasyonu) 4. Sıralanmış sonuçları döndürür Sorgu Sözdizimi Basit anahtar kelime arama [CODE BLOCK] "docker" içeren bellekleri döndürür. Birden çok anahtar kelime (örtük AND) [CODE BLOCK] HEM "docker" HEM de "swarm" içeren bellekleri döndürür. Deyim eşleştirme [CODE BLOCK] Tam "docker swarm" deyimini içeren bellekleri döndürür. Ön ek eşleştirme [CODE BLOCK] "docker" ile başlayan kelimeleri (örn. "dockers", "dockerfile", "dockerize") içeren bellekleri döndürür. Boolean OR [CODE BLOCK] "docker" VEYA "kubernetes" içeren bellekleri döndürür. Boolean NOT [CODE BLOCK] "docker" içeren ama "swarm" içermeyen bellekleri döndürür. Gruplama [CODE BLOCK] "docker" veya "kubernetes" içeren ama "test" içermeyen bellekleri döndürür. Pratik Örnekler Bir proje hakkındaki bellekleri bul [CODE BLOCK] Tam deyimi bul [CODE BLOCK] Test belleklerini hariç tut [CODE BLOCK] Teknolojiye göre bul [CODE BLOCK] Sıralama FTS5, sonuçları BM25 algoritmasını kullanarak alaka düzeyine göre sıralar. Faktörler: - Terim sıklığı (terim ne sıklıkta görünüyor) - Ters belge sıklığı (daha nadir terimler daha yüksek sıralanır) - Belge uzunluğu (terimi içeren daha kısa belgeler daha yüksek sıralanır) - Sütun ağırlığı (başlık > içerik) Sonuçlar sıralama düzeninde döndürülür (en alakalı önce). Performans | İşlem | Gecikme | |-----------|---------| | 100 bellek arama | < 5ms | | 1.000 bellek arama | < 10ms | | 10.000 bellek arama | < 25ms | | 100.000 bellek arama | < 100ms | FTS5, okuma ağırlıklı iş yükleri için yüksek oranda optimize edilmiştir. Sınırlamalar Kök ayırma (Stemming) FTS5 varsayılan olarak kök ayırma yapmaz. "running" ve "run" farklı terimlerdir. Geçici çözüm: Ön ek eşleştirme kullanın: Yazım hatası toleransı FTS5 bulanık eşleştirme desteklemez. Bir yazım hatası sonuç döndürmez. Geçici çözüm: Kavramsal eşleştirme için anlamsal arama () kullanın. Durum kelimeleri (Stop words) Yaygın kelimeler (the, a, an, is) indekslenir ama arama için yararlı olmayabilir. FTS5 bunu otomatik olarak ele alır. FTS5 ve Anlamsal Arama | Yön | FTS5 | Anlamsal Arama | |--------|------|-----------------| | Hız | Milisaniyenin altında | 50-100ms | | Eşleştirme | Tam anahtar kelimeler | Kavramsal | | Yazım hatası toleransı | Yok | Bazı | | Kök ayırma | Yok | Örtük | | Gömme gerektirir | Hayır | Evet | | En uygun | Belirli terimler | Kavramlar | Anahtar kelimeleri bildiğinizde FTS5 kullanın. X'in farklı şekilde tanımlandığı "X hakkındaki bellekler" istediğinizde anlamsal arama kullanın. En İyi Uygulamalar > [!TIP] > - Belirli terimler kullanın — "docker swarm", "container orchestration"dan iyidir > - Deyimleri tırnak içine alın — deyim eşleşmesini sağlar > - Varyasyonlar için ön ek kullanın — "deploy", "deployment", "deploying" kelimelerini yakalar > - Gürültüyü hariç tut — test belleklerini filtreler > - Etiketlerle birleştir — sonuçları daraltır Sonraki Adımlar - Anlamsal Arama - Memory API - Bellek En İyi Uygulamaları ──────────────────────────────────────────────────────────── # Bellek Modeli SUMMARY: Bellekler nasıl yapılandırılır — kategoriler, anahtarlar, etiketler, öncelikler, kaynaklar, doğrulama. Bellek Modeli Synapse'in bellek modeli LLM ajanları için tasarlanmıştır — güvenilir geri çağırma için yeterince yapılandırılmış, her alan için yeterince esnek. Bellek Anatomisi [CODE BLOCK] Alanlar | Alan | Tip | Gerekli | Açıklama | |-------|------|----------|-------------| | | string | otomatik | Benzersiz ID (memxxx) | | | enum | ✅ | 8 kategoriden biri | | | string | ✅ | Kararlı tanımlayıcı (güncellemeler için kullanılır) | | | string | ✅ | Bellek içeriği (herhangi bir metin) | | | string[] | – | Arama ve filtreleme için | | | enum | – | low, normal, high, critical (varsayılan: normal) | | | enum | otomatik | user, agent (kim sakladı) | | | bool | otomatik | Bir insan bunu doğruladı mı? | | | float | – | 0.0 - 1.0 (varsayılan: user için 1.0, agent için 0.7) | | | timestamp | – | Bu bellek ne zaman unutulur | | | string | otomatik | Bu hangi mind'e ait | | | timestamp | otomatik | İlk saklandığı zaman | | | timestamp | otomatik | Son değişiklik | Kategoriler Sekiz kategori, yaygın LLM ajan kullanım senaryolarını kapsar: | Kategori | Amaç | Örnek İçerik | |----------|---------|-----------------| | | Kullanıcı kim | "Kullanıcı Michael Schäfer, Berlin'de yazılım mühendisi" | | | Kullanıcı tercihleri | "Öz ve teknik yanıtları tercih eder" | | | Doğrulanabilir bilgiler | "Ofis Berlin'de, saat dilimi Europe/Berlin" | | | Proje durumu | "Synapse v1.5.0 dağıtıldı, v1.6.0 docs üzerinde çalışılıyor" | | | Kullanıcının becerileri | "İleri Python, 10+ yıl" | | | Geçmiş hatalar | "npm sürümünü yükseltmeyi unuttum — CI başarısız oldu" | | | Oturum bağlamı | "Şu anda PR #42 inceleniyor" | | | Çeşitli notlar | "Bir sonraki sprint için önbellekleme için Redis'i dene" | Anahtarlar: Kararlı Tanımlayıcılar alanı kritiktir — yinelenen oluşturmadan bellekleri nasıl güncelleyeceğinizdir. [CODE BLOCK] Anahtar kuralları: - (category, mind) içinde benzersiz olmalı - kullanın - Netlik için kategori ile önekleyin: , - Kararlı tutun — oluşturduktan sonra anahtarları değiştirmeyin Etiketler: Arama İçin Etiketler hızlı filtreleme ve arama sağlar: [CODE BLOCK] Etiket en iyi uygulamaları: - Bellek başına 2-5 etiket (aşırı etiketlemeyin) - Tutarlılık için küçük harf - Proje adları, konular, teknolojiler kullanın - Etiketler büyük/küçük harf duyarsızdır Öncelik Düzeyleri | Öncelik | Ne Zaman Kullanılır | Geri Çağırma Davranışı | |----------|-------------|-----------------| | | Kimlik, yasal, geri alınamaz | Geri çağırmada her zaman en üstte | | | Aktif projeler, temel tercihler | Geri çağırmada öne çıkan | | | Çoğu bellek (varsayılan) | Standart geri çağırma sırası | | | Geçici, bilmek güzel | Özetlenebilir | önceliğe göre (önce critical), sonra yeniliğe göre sıralar. Kaynak: User ve Agent Bellekler ile etiketlenir: - — bir insan tarafından saklandı (JWT veya insan arayüzü ile) - — bir LLM ajanı tarafından saklandı (Mind Key ile) Bu şunları etkiler: - Doğrulama: bellekleri otomatik doğrulanır, bellekleri doğrulanmaz - Güven: varsayılan 1.0, 0.7 - Geri çağırma: doğrulanmamış bellekleri "(unverified)" ile işaretler > [!NOTE] > kaynaklı bellekleri uygun şüpheyle ele alın. Bunlar kullanıcı tarafından doğrudan belirtilmekten ziyade çıkarılmış veya varsayılmış olabilir. Doğrulama bayrağı, bir insanın belleği onayladığını gösterir: - bellekleri: otomatik doğrulanır () - bellekleri: varsayılan doğrulanmamış () Bellekleri şununla doğrulayın: [CODE BLOCK] > [!NOTE] > Doğrulama JWT (insan kimlik doğrulaması) gerektirir, Mind Key (ajan kimlik doğrulaması) değil. Bu, yalnızca insanların bellekleri doğrulanmış olarak işaretleyebilmesini sağlar. Güven alanı (0.0 - 1.0) belleğin ne kadar güvenilir olduğunu gösterir: - 1.0 — kullanıcı tarafından doğrudan belirtilmiş - 0.7 — ajan tarafından çıkarılmış - 0.5 — belirsiz, doğrulama gerekiyor - 0.0 — açıkça şüpheli Saklarken güveni ayarlayın: [CODE BLOCK] Son Kullanma Zamana duyarlı bellekler için ayarlayın: [CODE BLOCK] Süresi dolmuş bellekler tarafından döndürülmez (ama veritabanında hala mevcut). Yakında süresi dolacak bellekleri görmek için kullanın. Bellek Yaşam Döngüsü [CODE BLOCK] Geri Çağırma Davranışı , LLM bağlamı için optimize edilmiş düz metin özeti döndürür: [CODE BLOCK] - Önceliğe göre sıralanır (critical → low), sonra yeniliğe göre - Doğrulanmamış bellekler ile işaretlenir - Bağlam için etiketler dahil edilir - Düz metin (JSON ayrıştırma gerekmez) Sonraki Adımlar - Memory API - Bellek En İyi Uygulamaları - FTS5 Arama ──────────────────────────────────────────────────────────── # Çok Kiracılılık & İzolasyon SUMMARY: Synapse'in kullanıcılar ve mind'ler arasında verileri nasıl izole ettiği — güvenlik sınırları açıklaması. Çok Kiracılılık & İzolasyon Synapse çok kiracılıdır: birden çok kullanıcı, her biri birden çok mind ile, birbirinden tamamen izole. Bu sayfa izolasyon modelini açıklar. Kiracı Hiyerarşisi [CODE BLOCK] İzolasyon Düzeyleri Düzey 1: Kullanıcı İzolasyonu Her kullanıcı hesabı izoledir. Alice şunları yapamaz: - Bob'un mind'lerini görmek - Bob'un belleklerine erişmek (JWT'si ile bile) - Bob'un hesap bilgilerini listelemek Şununla uygulanır: tüm tablolarda sütunu, JWT içerir, tüm sorgular ile filtrelenir. Düzey 2: Mind İzolasyonu Bir kullanıcı içinde her mind izoledir. Mind A şunları yapamaz: - Mind B'nin belleklerini görmek - Mind B'nin görevlerine, sohbetine, betiklerine erişmek Şununla uygulanır: tüm veri tablolarında sütunu, Mind Key içerir, tüm sorgular ile filtrelenir. > [!CRITICAL] > Mind Key izolasyonu birincil güvenlik sınırıdır. Sızdırılan bir Mind Key, o mind'in verilerine tam erişim sağlar — ama SADECE o mind'e. Kimlik Doğrulama Token'ları | Token | Kapsam | Neyi erişebilir | |-------|-------|-------------------| | Mind Key | Tek mind | Yalnızca o mind'in verileri | | JWT | Kullanıcı hesabı | Hesap yönetimi (mind oluşturma/listeleme/silme) | | Computer Token | Tek bilgisayar | O bilgisayarın komutları | Mind'ler Arası Erişim Aynı kullanıcı içinde Kullanıcı JWT ile tüm mind'lerine erişebilir (örn. hepsini listeler). Ancak bellek verilerini okumak/yazmak için belirli Mind Key gerekir. Kullanıcılar arası Kullanıcılar birbirlerinin verilerine erişemez — Sharing API ile açıkça bir mind paylaşmadıkça: [CODE BLOCK] Paylaşımdan sonra Bob, JWT'si ile Mind A'ya erişebilir ( ise salt okunur). Güvenlik Sınırları [CODE BLOCK] Yaygın Çok Kiracılılık Desenleri Desen 1: Tek Kullanıcı, Tek Mind Bireysel LLM ajan kullanıcıları için en yaygın olan. - 1 kullanıcı hesabı - 1 mind - 1 Mind Key - Tüm bellekler tek bir kapsamda Desen 2: Tek Kullanıcı, Birden Çok Mind Birden çok bağlamı olan kullanıcılar için (iş, kişisel, projeler). - 1 kullanıcı hesabı - N mind (örn. "work", "personal", "project-x") - N Mind Key - Her LLM oturumu bir Mind Key kullanır Desen 3: Ekip Paylaşımlı Mind Bir proje üzerinde işbirliği yapan ekipler için. - 1 kullanıcı mind'i oluşturur (Mind Key alır) - Oluşturucu, ekip üyeleriyle JWT üzerinden paylaşır - Tüm ekip üyeleri JWT (veya paylaşılan Mind Key) ile erişir > [!WARNING] > Bir Mind Key paylaşmak tam okuma/yazma erişimi verir. Ekip işbirliği için doğrudan Mind Key paylaşmak yerine Sharing API'yi (JWT tabanlı) tercih edin. Desen 4: SaaS Sağlayıcısı Synapse'i bellek katmanı olarak gömen uygulamalar için. - Her müşteri = 1 kullanıcı hesabı - Her müşteri projesi = 1 mind - Uygulama Mind Key'leri müşteri/proje başına saklar - Müşteriler arasında tam izolasyon İzolasyon Doğrulaması Test: Mind Key başka mind'lere erişemez [CODE BLOCK] Test: JWT doğrudan bellek verilerini okuyamaz [CODE BLOCK] En İyi Uygulamalar > [!TIP] > - Proje/bağlam başına bir mind kullanın — izolasyon dostunuzdur > - Mind Key'leri asla paylaşmayın — bunun yerine Sharing API'yi kullanın > - Tehlikeye girerse Mind Key'leri döndürün (mind'i sil, yeni oluştur) > - Paylaşılan mind'leri denetleyin — 'i periyodik olarak inceleyin > - İnsan arayüzü için JWT kullanın — Mind Key'leri son kullanıcılara asla göstermeyin Sonraki Adımlar - Kimlik Doğrulama - Mind Key ve JWT - Mimari ──────────────────────────────────────────────────────────── # Anlamsal Arama (Gömmeler) SUMMARY: Vektör gömmeleri kullanarak kavramsal bellek arama — yalnızca anahtar kelimelerle değil, anlamla bulun. Anlamsal Arama (Gömmeler) Synapse, vektör gömmeleri kullanarak anlamsal aramayı destekler. FTS5'ten (anahtar kelime eşleştirme) farklı olarak anlamsal arama bellekleri anlama göre bulur — hiçbir anahtar kelime eşleşmese bile. Nasıl Çalışır [CODE BLOCK] Gömmeler nedir? Gömmeler, metnin sayısal vektör temsilleridir. Benzer anlama sahip metinlerin benzer vektörleri vardır. Synapse, her belleğin içeriği için bir vektör (örn. 1536 boyut) üretir. Kosinüs benzerliği Anlamsal olarak benzer bellekleri bulmak için Synapse, sorgu vektörü ile her bellek vektörü arasındaki kosinüs benzerliğini hesaplar. Daha yüksek benzerlik = daha alakalı. Anlamsal Arama Ne Zaman Kullanılır Anlamsal aramayı şu durumda kullanın: - Saklandığından farklı şekilde tanımlanan "X hakkındaki bellekler" istediğinizde - FTS5 sonuç döndürmediğinde (anahtar kelime eşleşmesi yok) - Kavramsal gruplandırma istediğinizde (örn. tüm "dağıtım" bellekleri, bazıları "release" dese bile) - Sorgu bir soru olduğunda: "kimlik doğrulamayı nasıl ele alıyoruz?" FTS5'i şu durumda kullanın: - Tam anahtar kelimeleri biliyorsanız - Boolean mantığı (AND, OR, NOT) gerekiyorsa - Milisaniyenin altında yanıt gerekiyorsa - Deyim eşleştirme istiyorsanız Uç Nokta GET /memory/semantic-search [CODE BLOCK] Yanıt: [CODE BLOCK] Örnekler Dağıtım belleklerini bul [CODE BLOCK] "deployment", "release", "publishing", "rolling out" vb. hakkındaki bellekleri döndürür. Kimlik doğrulama desenlerini bul [CODE BLOCK] Login, auth, JWT, oturum yönetimi, OAuth vb. hakkındaki bellekleri döndürür. Benzer bellekleri bul [CODE BLOCK] Anlamsal benzerlik kullanır (paylaşılan etiketler VE gömme vektörleri aracılığıyla). Gömme Üretimi Gömmeler ne zaman üretilir? - Bellek saklandığında — gömme hizmeti yapılandırılmışsa, gömme senkron olarak üretilir - Toplu üretim — , gömmesi eksik olan bellekler için gömme üretir - Asenkron güncellemeler — içerik güncellendiğinde gömme yeniden üretilir Gömme sağlayıcıları Synapse, yapılandırılabilir gömme sağlayıcılarını destekler: - OpenAI (, ) - Yerel modeller (Ollama veya benzeri ile) - Özel (gömme arayüzünü uygulayın) Ortam değişkenleriyle yapılandırın: [CODE BLOCK] Toplu üretim Gömmesi eksik birçok belleği olan mind'ler için: [CODE BLOCK] Performans | İşlem | Gecikme | |-----------|---------| | Gömme üretimi (OpenAI) | 100-200ms | | Anlamsal arama (1k bellek) | 50-100ms | | Anlamsal arama (10k bellek) | 200-500ms | | Toplu üretim (100 bellek) | 10-20s | > [!NOTE] > Anlamsal arama, vektör hesaplaması nedeniyle FTS5'ten daha yavaştır. Bilinen anahtar kelimeler için FTS5, kavramsal sorgular için anlamsal arama kullanın. Sınırlamalar Gömme maliyeti OpenAI kullanıyorsanız, gömme üretimi paraya mal olur (text-embedding-3-small için 1M token başına $0.02). Ortalama 100 token olan 10.000 bellek için $0.02 — ihmal edilebilir. Soğuk başlangıç Gömmeler yapılandırılmadan önce saklanan belleklerin gömmesi olmaz. Geri doldurmak için çalıştırın. Sağlayıcı bağımlılığı Gömme sağlayıcısı çökerse, anlamsal arama zarif bir şekilde başarısız olur (boş sonuçlar veya hata döndürür). FTS5 hala çalışır. Gömmeler Mevcut Değilse Gömme hizmeti yapılandırılmamışsa: - 503 Service Unavailable döndürür - hala çalışır (sadece gömme üretilmez) - FTS5 arama hala çalışır En İyi Uygulamalar > [!TIP] > - Kavramsal sorgular için anlamsal kullanın — "X'i nasıl ele alıyoruz?" > - Belirli terimler için FTS5 kullanın — "docker swarm" > - Gömmeleri düzenli olarak geri doldurun — > - Sağlayıcı sağlığını izleyin — anlamsal arama buna bağlıdır > - Etiketlerle birleştirin — anlamsal + etiket filtresi sonuçları daraltır Sonraki Adımlar - FTS5 Arama - Memory API - Mimari ## KATEGORİ: LLM YEMEK KITABI LLM ajanları için tarifler ve desenler. ──────────────────────────────────────────────────────────── # Sohbet Polling Deseni SUMMARY: İş akışınızı engellemeden araç çağrıları arasında insan mesajları için nasıl poll yapılır. Sohbet Polling Deseni Sohbet sistemi asenkrondur — insanlar siz çalışırken mesaj bırakabilir. Bu desen, iş akışınızı engellemeden mesajlar için nasıl poll yapacağınızı gösterir. Desen [CODE BLOCK] Sıkı bir döngüde değil, araç çağrıları arasında poll yapın. Araç Çağrıları Arasında Neden Poll? - Engellemeyin — sıkı bir döngüde polling API çağrılarını boşa harcar - Mesajları kaçırmayın — çok seyrek polling yavaş yanıtlar demektir - Tatlı nokta — her 30-60 saniyede bir veya her araç çağrısından sonra poll yapın Uygulama Temel polling [CODE BLOCK] Desen 1: Her araç çağrısından sonra poll [CODE BLOCK] Desen 2: Zaman tabanlı polling [CODE BLOCK] Desen 3: Olay tabanlı (webhook'larla) Gerçek zamanlı bildirim için bir webhook kaydedin: [CODE BLOCK] Sonra webhook işleyiciniz ajanı uyandırabilir: [CODE BLOCK] Mesaj İşleme Desenleri Desen: Kabul et sonra işle [CODE BLOCK] Desen: Toplu işleme için kuyruğa al [CODE BLOCK] Desen: Öncelik yönlendirme [CODE BLOCK] Polling Sıklığı | Kullanım Senaryosu | Sıklık | |----------|-----------| | Etkileşimli ajan (insan bekliyor) | Her 5-10 saniyede | | Arka plan ajanı | Her 30-60 saniyede | | Toplu işleme | Her 5 dakikada | | Webhook tetiklemeli | Poll yapmayın — webhook kullanın | > [!WARNING] > 5 saniyede birden fazla polling API çağrılarını boşa harcar. uç noktası, bekleyen mesajlar varsa hemen döner, bu yüzden daha hızlı polling'in bir faydası yoktur. Çok Ajanlı Sohbet Ajan-ajan iletişimi için: [CODE BLOCK] En İyi Uygulamalar > [!TIP] > - Araç çağrıları arasında poll yapın — sıkı bir döngüde değil > - Hemen kabul edin — insan mesajı aldığınızı bilir > - Asenkron işleyin — uzun işi engellemeyin > - Gerçek zamanlı için webhook kullanın — polling gecikmesi var > - 5 saniyede birden fazla poll yapmayın — API çağrılarını boşa harcar Yaygın Sorunlar Mesajlar kayboluyor - mesajları otomatik olarak okundu olarak işaretler - İşlemezseniz, giderler - Çözüm: Döndürmeden önce her zaman mesajları işleyin Yinelenen yanıtlar - İşleyiciniz çökerse, iki kez yanıt verebilirsiniz - Çözüm: İşleyiciyi idempotent yapın (zaten yanıtlanıp yanıtlanmadığını kontrol edin) Yavaş yanıtlar - 60 saniyede bir polling en fazla 60s gecikme demektir - Çözüm: 10-30s'de bir poll yapın veya webhook kullanın Sonraki Adımlar - Chat API - Oturum Başlangıç Deseni - Hata Kurtarma ──────────────────────────────────────────────────────────── # Ajanlar için Hata Kurtarma SUMMARY: LLM ajanları hataları nasıl ele almalı ve kurtarmalı — yeniden dene, sakla, öğren. Ajanlar için Hata Kurtarma Hatalar olur. Ağlar başarısız olur, API'ler 500 döndürür, Mind Key'ler sona erer. Bu rehber, LLM ajanlarının hataları zarif bir şekilde nasıl ele alacağını ve onlardan nasıl öğreneceğini gösterir. Hata İşleme İlkeleri 1. Geri çekilme ile yeniden dene — geçici hatalar genellikle çözülür 2. Hatayı sakla — desenlerden öğren 3. Zarif degrade — tüm oturumu çökertme 4. İnsanı bilgilendir — çözemediğiniz hatalar için HTTP Hata İşleme Üstel geri çekilme ile yeniden deneme [CODE BLOCK] Kimlik doğrulama hata yönetimi [CODE BLOCK] Hataları Bellek Olarak Saklama Hatalar oluştuğunda, gelecek oturumların öğrenebilmesi için saklayın: [CODE BLOCK] Yaygın Hata Senaryoları Senaryo 1: Mind Key Geçersiz [CODE BLOCK] Senaryo 2: Ağ Hatası [CODE BLOCK] Senaryo 3: Hız Sınırına Ulaşıldı [CODE BLOCK] Senaryo 4: Sunucu Hatası (5xx) [CODE BLOCK] Senaryo 5: Araç Çağrısı Başarısız [CODE BLOCK] Desen: Devre Kesici Yinelenen başarısızlıklar için, geçici olarak denemeyi bırakın: [CODE BLOCK] En İyi Uygulamalar > [!TIP] > - Geçici hataları her zaman yeniden deneyin — ağlar başarısız olur, sunucular hıçkırır > - İstemci hatalarını (4xx) yeniden denemeyin — kendilerini düzeltmezler > - Hataları bellek olarak saklayın — desenlerden öğrenin > - Kritik hatalar için insanları bilgilendirin — bilmeleri gerekir > - Zarif degrade — kısmi iş çökmeden iyidir > - Devre kesiciler kullanın — başarısız olan bir hizmeti dövme Sonraki Adımlar - Errors API Referansı - Oturum Başlangıç Deseni - Kendinden İyileşen Testler ──────────────────────────────────────────────────────────── # Bellek Etiketleme Stratejisi SUMMARY: Etkili arama ve filtreleme için bellekleri nasıl etiketlersiniz — ölçeklenen etiketleme sistemi. Bellek Etiketleme Stratejisi Etiketler, ölçeklenebilir bellek alımının sırrıdır. Bu rehber, doğru olanların doğru zamanda geri gelmesi için bellekleri nasıl etiketleyeceğinizi gösterir. Etiketler Neden Önemli Etiketler olmadan düz tam metin aramanız vardır. Etiketlerle, yapılandırılmış gezinmeniz vardır: [CODE BLOCK] Etiketler şunları sağlar: - Hızlı filtreleme — - Kapsamlı arama — - Gruplama — bir proje için tüm "mistake" belleklerini bulma - Çapraz referans — etiket paylaşan bellekler ilişkilidir Etiketleme Şeması Proje etiketleri Proje adlarını etiket olarak kullanın: [CODE BLOCK] Teknoloji etiketleri Teknoloji adları kullanın: [CODE BLOCK] Konu etiketleri Konu kategorileri kullanın: [CODE BLOCK] Durum etiketleri Durum göstergeleri kullanın: [CODE BLOCK] Tip etiketleri Tip göstergeleri kullanın: [CODE BLOCK] Etiketleme Kuralları Kural 1: Bellek başına 2-5 etiket Çok az etiket = zayıf keşfedilebilirlik. Çok fazla = gürültü. [CODE BLOCK] Kural 2: Küçük harf, tireli [CODE BLOCK] Kural 3: Tutarlı kelime dağarcığı kullanın Bir etiketleme kelime dağarcığı oluşturun ve ona sadık kalın: [CODE BLOCK] Kural 4: Arama niyetiyle etiketleyin Sorun: "Bu belleği nasıl arayacağım?" [CODE BLOCK] Desenler Desen 1: Proje + Konu [CODE BLOCK] Arama: (tüm Synapse proje bellekleri) Arama: (Synapse'ta dağıtım bellekleri) Desen 2: Tip + Alan [CODE BLOCK] Arama: (tüm hatalar) Arama: (dağıtım hataları) Desen 3: Hiyerarşik Bir proje içindeki alt projeler için: [CODE BLOCK] Arama: (tüm Synapse) Arama: (sadece docs alt projesi) Desen 4: Durum izleme [CODE BLOCK] Yaygın Kullanım Senaryoları Bir proje hakkındaki tüm kararları bul [CODE BLOCK] Bir alandaki tüm hataları bul [CODE BLOCK] Aktif çalışmayı bul [CODE BLOCK] Bir teknoloji hakkındaki bellekleri bul [CODE BLOCK] Etiket Bakımı Periyodik inceleme [CODE BLOCK] Etiketleri birleştirme Tutarsız etiketleriniz varsa ( ve ), bunları birleştirin: [CODE BLOCK] En İyi Uygulamalar > [!TIP] > - Kelime dağarcığını erken oluşturun — 1. günden itibaren tutarlı etiketler > - Arama niyetiyle etiketleyin — bunu daha sonra nasıl bulacaksınız? > - 2-5 etiket tatlı noktadır — çok az veya çok fazla kötüdür > - Küçük harf + tireler — değil > - Periyodik olarak inceleyin — yinelenenleri birleştirin, kullanılmayanları kaldırın Sonraki Adımlar - Bellek En İyi Uygulamaları - FTS5 Arama - Görev Odaklı İş Akışı ──────────────────────────────────────────────────────────── # Oturum Başlangıç Deseni SUMMARY: Her LLM ajanının izlemesi gereken kanonik oturum başlangıç dizisi. KEY CONTEXT: ALWAYS at session start: 1) GET /memory/recall, 2) GET /chat/poll, 3) GET /mind/tasks?status=in_progress Build system prompt from recall output. Process unread chat messages before doing new work. Resume any in_progress tasks before starting new ones. Store new learnings as they happen — don't wait until session end. Oturum Başlangıç Deseni Her LLM ajan oturumu bu kanonik başlangıç dizisini izlemelidir. Adımları atlamak kayıp bağlam, kaçırılmış mesajlar ve unutulmuş görevlere yol açar. Desen [CODE BLOCK] Uygulama Adım 1: Tüm Bellekleri Geri Çağır > [!CRITICAL] > Bu en önemli çağrıdır. Bu olmadan, geçmiş oturumların belleği yoktur. [CODE BLOCK] Tüm belleklerin önceliğe göre sıralanmış düz metin özetini döndürür. Adım 2: Okunmamış Sohbet Mesajları için Poll Yap [CODE BLOCK] İnsandan okunmamış mesajları döndürür. Bunları otomatik olarak okundu olarak işaretler. Adım 3: Devam Eden Görevleri Kontrol Et [CODE BLOCK] Son oturumda üzerinde çalıştığınız görevleri döndürür. Adım 4: Bağlam Oluştur Üç yanıtı sistem promptunuza birleştirin: [CODE BLOCK] Adım 5: Bekleyen Öğeleri İşle [CODE BLOCK] Tam Örnek [CODE BLOCK] Yaygın Hatalar > [!WARNING] > - Geri çağırmayı atlama — bağlam olmadan başlarsınız, geçmiş hataları tekrarlarsınız > - Sohbeti poll yapmayı unutma — insanın mesajları yanıtlanmaz > - Aktif görevleri görmezden gelme — iş yürütme sırasında unutulur > - Hiçbir şey saklama — oturum kalıcı değer üretmez Varyasyonlar Minimal desen (düşük bağlamlı LLM'ler) Küçük bağlam pencereli LLM'ler için tam geri çağırmayı atlayın: [CODE BLOCK] Sonra gerektiğinde belirli konular için arama yapın: [CODE BLOCK] Agresif desen (uzun süreli ajanlar) Saatlerce çalışan ajanlar için periyodik yeniden geri çağırma ekleyin: [CODE BLOCK] Sonraki Adımlar - Bellek Etiketleme Stratejisi - Görev Odaklı İş Akışı - Sohbet Polling Deseni ──────────────────────────────────────────────────────────── # Görev Odaklı İş Akışı SUMMARY: Oturumlar arasında hayatta kalan çok adımlı LLM iş akışlarını yönlendirmek için Synapse görevlerini kullanın. Görev Odaklı İş Akışı Görevler yalnızca yapılacaklar değil — kalıcı LLM iş akışlarının omurgasıdır. Çok adımlı iş için görevler oluşturarak, oturumlar arasında süreklilik sağlar ve nelerin yapıldığına dair denetim izleri sağlarsınız. Neden Görev Odaklı? Görevler olmadan: - LLM her oturuma ne yapacağından emin olmadan başlar - Çok adımlı iş yürütme sırasında unutulur - Nelerin yapıldığına dair kayıt yoktur Görevlerle: - LLM devam eden görevleri hemen sürdürür - Çok adımlı iş oturumlar arasında hayatta kalır - Tüm çalışmanın yerleşik denetim izi Desen [CODE BLOCK] Uygulama Adım 1: Çok adımlı iş için bir görev oluştur [CODE BLOCK] Adım 2: İlerlemeyi görev açıklamasında izle [CODE BLOCK] Adım 3: Oturumlar arasında sürdür [CODE BLOCK] Adım 4: Tamamla ve arşivle [CODE BLOCK] Tam Örnek: Dağıtım İş Akışı [CODE BLOCK] Görev Hiyerarşisi Karmaşık iş için ebeveyn-çocuk görev ilişkileri kullanın: [CODE BLOCK] Alt görevleri ara: [CODE BLOCK] Durum İş Akışı [CODE BLOCK] Pending Görev oluşturuldu ama başlanmadı. Planlı iş için kullanın. In Progress Şu anda üzerinde çalışılıyor. İlerlemeyi açıklamayla güncelleyin. Done Başarıyla tamamlandı. Açıklama özet içermelidir. Cancelled Terk edildi. Açıklama nedeni içermelidir. En İyi Uygulamalar > [!TIP] > - Çok adımlı iş için görev oluşturun — tek adımlı işin görevi yok > - İlerlemeyi açıklamayla güncelleyin — sürdürmeyi sağlar > - Aktif iş için yüksek öncelik kullanın — geri çağırmada yüzeye çıkar > - Tamamlandığında görevleri tamamlayın — inprogress bırakmayın > - Tamamlama özetlerini bellek olarak saklayın — uzun vadeli referans Yaygın Desenler Desen: Hata Düzeltme İş Akışı [CODE BLOCK] Desen: Araştırma İş Akışı [CODE BLOCK] Sonraki Adımlar - Oturum Başlangıç Deseni - Sohbet Polling Deseni - Hata Kurtarma ## KATEGORİ: SIKÇA SORULAN SORULAR Sıkça sorulan sorular ve yaygın sorunlar. ──────────────────────────────────────────────────────────── # API SSS SUMMARY: Yaygın API soruları — kimlik doğrulama, hız sınırları, hata yönetimi, uç nokta keşfi. API SSS Synapse API hakkında yaygın sorular. Nasıl kimlik doğrularım? İki yöntem: 1. Mind Key (veri uç noktaları için): 2. JWT (hesap uç noktaları için): Veya sorgu parametresi ile (60 istek/dakika sınırı): Bkz. Kimlik Doğrulama. Mind Key ve JWT arasındaki fark nedir? - Mind Key: kiracı kapsamlı, asla sona ermez, memory/chat/tasks verileri için - JWT: kullanıcı kapsamlı, 7 günlük son kullanma, hesap/mind yönetimi için Bkz. Mind Key ve JWT. Neden 401 Unauthorized alıyorum? Yaygın nedenler: 1. başlığı eksik 2. Geçersiz Mind Key ( ile başladığını doğrulayın) 3. Mind Key gerekendiye JWT kullanma (veya tersi) 4. Mind Key iptal edilmiş Çözüm: Token'ınızı doğrulayın. Bkz. Kimlik Doğrulama. Neden 404 Not Found alıyorum? Yanlış bir uç nokta yolu kullandınız. Synapse'te yalnızca içinde listelenen yollar mevcuttur. Çözüm: Tüm geçerli yolları görmek için çağırın. Tahmin etmeyin. Neden 429 Too Many Requests alıyorum? sorgu parametresi kimlik doğrulaması kullanıyorsunuz, bu da 60/dakika ile sınırlıdır. Çözüm: başlığına geçin (hız sınırı yok). Bkz. Hız Sınırları. Tüm uç noktaları nasıl listelerim? [CODE BLOCK] Doğru uç noktayı nasıl bulurum? 1. Makine tarafından okunabilir liste için kontrol edin 2. Tam API docs için kontrol edin 3. Dokümantasyon sistemi için göz atın 4. OpenAPI 3.0 spec için kullanın POST yerine GET kullanabilir miyim? Bazı POST uç noktalarının yalnızca URL kullanan araçlar için GET karşılığı vardır: - ↔ - ↔ - ↔ Mevcut GET varyantları için kontrol edin. Hataları nasıl ele alırım? Tüm hatalar JSON döndürür: [CODE BLOCK] Bkz. Hatalar & Hata Yönetimi. İstek gövdesi sınırı nedir? 10 MB. Daha büyük yükler için (örn. dosya yüklemeleri) multipart uç noktalarını kullanın. API CORS destekliyor mu? Evet. Tüm uç noktalar şunu döndürür: [CODE BLOCK] Bir SDK var mı? Evet: - Node.js: - MCP: Detaylar için bkz. API Genel Bakış. Nasıl sayfalandırırım? ve kullanın: [CODE BLOCK] Varsayılan sınır: 100. Maksimum: 500. Bellekleri kategoriye veya etikete göre filtreleyebilir miyim? Evet: [CODE BLOCK] Bellekleri nasıl ararım? İki yol: 1. FTS5 anahtar kelime arama: 2. Anlamsal arama: Bkz. FTS5 Arama ve Anlamsal Arama. Bir belleği nasıl güncellerim? Aynı + ile — mevcut bellek güncellenir, çoğaltılmaz. [CODE BLOCK] Bir belleği nasıl silerim? [CODE BLOCK] Toplu silebilir miyim? Evet: [CODE BLOCK] Sonraki Adımlar - API Genel Bakış - Hatalar & Hata Yönetimi - Kimlik Doğrulama ──────────────────────────────────────────────────────────── # Genel SSS SUMMARY: Synapse hakkında yaygın sorular — nedir, nasıl çalışır, kimin içindir. Genel SSS Synapse hakkında yaygın sorular. Synapse nedir? Synapse, LLM ajanları için kalıcı bir bellek API'sidir. AI asistanınıza oturumlar arasında hayatta kalan kalıcı, sorgulanabilir bir beyin verir. Sohbet kapandığında her şeyi unutmak yerine, LLM basit bir HTTP API'si üzerinden bellek saklar ve alır. Daha fazla bilgi: Synapse Nedir? Synapse kimin içindir? - Kalıcı durum gerektiren LLM ajan geliştiricileri - Özel ajanlarla yerel LLM çalıştıran güçlü kullanıcılar - Paylaşımlı bellekle AI asistanları inşa eden ekipler - LLM çağrılarını oturumlar arasında zincirleyen otomasyon mühendisleri Synapse ücretsiz mi? Synapse adresinde barındırılır ve kişisel kullanım için ücretsizdir. Self-hosting için bkz. repo. Synapse, ChatGPT Memory'den nasıl farklı? | Özellik | ChatGPT Memory | Synapse | |---------|---------------|---------| | Depolama | OpenAI sunucuları | Sizin sunucunuz | | API erişimi | Hayır | Evet (REST + MCP) | | Çok kiracılı | Hayır | Evet (minds) | | Özel kategoriler | Hayır | Evet (8 kategori) | | Tam metin arama | Sınırlı | FTS5 + anlamsal | | Self-hostable | Hayır | Evet | Hangi LLM'ler Synapse ile çalışır? HTTP çağrısı yapabilen veya MCP kullanabilen herhangi bir LLM: - Claude (Anthropic) — MCP veya doğrudan API ile - GPT-4 / GPT-3.5 (OpenAI) — function calling + API ile - Gemini (Google) — function calling + API ile - Llama / Mistral (yerel) — özel entegrasyon ile - Synapse MCP sunucusu üzerinden herhangi bir LLM Synapse'i kendim host etmem gerekiyor mu? Hayır. adresindeki barındırılan sürüm herkese açık kullanım için mevcuttur. Self-hosting isteğe bağlıdır (gizlilik, özelleştirme veya air-gapped ortamlar için). Ne kadar veri saklayabilirim? Barındırılan sürümde sabit sınır yoktur. Tipik kullanım: - Mind başına 100-1000 bellek - Bellek başına 1-10 KB (içerik alanı) - Toplam: mind başına 10 MB Daha büyük ölçek için self-host edin. Verilerim gizli mi? Evet. Her mind izoledir (bkz. Çok Kiracılılık). Diğer kullanıcılar verilerinizi göremez. Barındırma sağlayıcısı (Schäfer Services) erişebilir ama kullanıcı verilerini görmez. Maksimum gizlilik için self-host edin. Verilerimi dışa aktarabilir miyim? Evet. Tüm bellekleri JSON olarak dışa aktarmak için kullanın. Bkz. Yedekleme & Geri Yükleme. Mind Key'imi kaybedersem ne olur? Mind Key'ler oluşturmada yalnızca bir kez gösterilir. Kaybedilirse: 1. JWT almak için e-posta/parolanızla giriş yapın 2. ile yeni bir mind oluşturun 3. Yeni Mind Key'i kaydedin 4. (İsteğe bağlı) Eski mind'i ile silin Anahtarı kaybedilen bir mind'in belleklerini kurtaramazsınız. Birden çok LLM ajanı bir mind paylaşabilir mi? Evet. Aynı Mind Key'i kullanan tüm ajanlar o mind'in verilerini paylaşır. Koordineli çok ajanlı çalışma için bkz. Çok Ajan Koordinasyonu. Synapse çevrimdışı çalışır mı? Hayır, Synapse sunucuya (barındırılan veya self-hosted) internet bağlantısı gerektirir. Çevrimdışı LLM'ler için Synapse'i yerel olarak çalıştırın. Bellek arama ne kadar hızlı? - FTS5 anahtar kelime arama: 1000 bellek için < 10ms - Anlamsal arama: 1000 bellek için 50-100ms - Tam geri çağırma: 1000 bellek için < 50ms Detaylar için bkz. FTS5 Arama. Synapse'i LLM olmadan kullanabilir miyim? Evet. Synapse genel amaçlı bir bellek API'sidir. Kalıcı, aranabilir, kategoriler ve etiketlerle anahtar-değer depolamasından yararlanan herhangi bir uygulamadan kullanabilirsiniz. Sonraki Adımlar - Synapse Nedir? - Hızlı Başlangıç - API SSS ──────────────────────────────────────────────────────────── # MCP SSS SUMMARY: MCP entegrasyonu hakkında yaygın sorular — araçlar, taşıyıcılar, sorun giderme. MCP SSS Synapse MCP sunucusu hakkında yaygın sorular. MCP nedir? MCP (Model Context Protocol), Anthropic tarafından LLM-aracı entegrasyonu için geliştirilmiş açık bir standarttır. API docs'larını promptlara yapıştırmak yerine, araçları bir MCP sunucusuna kaydedersiniz ve LLM bunları yerel işlevler olarak çağırır. Bkz. MCP Nedir?. Synapse MCP kaç araç sunar? 12 kategoride 79 araç: memory, chat, scheduler, tasks, scripts, computers, push, user, utility, visualization, sharing, webhooks, browser. Tam liste için bkz. MCP Nedir?. Hangi MCP istemcileri destekleniyor? - Claude Desktop (macOS, Windows) - Claude Code (terminal) - Cursor (IDE) - Continue.dev (VS Code, JetBrains) - Cline (VS Code) - MCP uyumlu herhangi bir istemci Yapılandırma örnekleri için bkz. Claude Desktop Kurulumu. Hangi taşıyıcılar destekleniyor? 1. stdio (yerel, masaüstü için önerilir) 2. HTTP/SSE (uzak, çok kiracılı) 3. WebSocket (mobil, yüksek hacimli) Claude Desktop'ı nasıl yapılandırırım? dosyasını düzenleyin: [CODE BLOCK] Bkz. Claude Desktop Kurulumu. Araçlar Claude Desktop'da neden görünmüyor? 1. Claude Desktop'ı tamamen yeniden başlatın (macOS'ta Cmd+Q) 2. Yapılandırma dosyasının geçerli JSON olduğunu kontrol edin 3. Node.js 18+ kurulu olduğunu doğrulayın 4. MCP loglarını kontrol edin: Bkz. MCP Sorun Giderme. Farklı bir mind'i nasıl kullanırım? MCP yapılandırmanızdaki değerini değiştirin ve istemciyi yeniden başlatın. Birden çok mind için farklı Mind Key'lerle birden çok MCP sunucu örneği çalıştırın. Hangi araçların sunulacağını sınırlayabilir miyim? Evet, Araç Profilleri kullanın: - : 8 bileşik araç (500 token) - : 25 araç (2,500 token) - : 119 araç (8,250 token, varsayılan) env değişkeni veya başlığı ile ayarlayın. MCP sorunlarını nasıl hata ayıklarım? 1. MCP sunucusunu manuel çalıştırın: 2. İstemci loglarını kontrol edin (istemciye göre değişir) 3. Mind Key'in çalıştığını doğrulayın: 4. Synapse sağlığını kontrol edin: Bkz. MCP Sorun Giderme. MCP sunucusu ücretsiz mi? Evet. npm paketi açık kaynaktır. adresindeki barındırılan MCP sunucusu herkese açık kullanım için ücretsizdir. MCP sunucusunu self-host edebilir miyim? Evet: [CODE BLOCK] MCP, doğrudan API çağrılarından nasıl farklı? | Yön | Doğrudan API | MCP | |--------|-----------|-----| | LLM'in bilmesi gereken | URL'ler, başlıklar, kimlik doğrulama | Yalnızca araç adları | | Kimlik doğrulama yönetimi | Manuel | Otomatik (env değişkeni) | | Araç keşfi | /endpoints okuma | MCP protokolü üzerinden otomatik | | Hata yönetimi | Manuel | Standartlaştırılmış | | En uygun | Özel entegrasyonlar | LLM ajanları | Kendi MCP istemcimi inşa edebilir miyim? Evet. Resmi MCP SDK'sını kullanın: - TypeScript: - Python: Bkz. Özel MCP İstemcisi. MCP hatalarını nasıl bildiririm? Bir issue açın: Şunları dahil edin: - MCP sunucu sürümü - İstemci adı ve sürümü - İşletim sistemi - İlgili loglar - Yeniden üretme adımları Sonraki Adımlar - MCP Nedir? - Claude Desktop Kurulumu - MCP Sorun Giderme ──────────────────────────────────────────────────────────── # Sorun Giderme SSS SUMMARY: Yaygın Synapse sorunlarına çözümler — kimlik doğrulama, ağ, veri, dağıtım. Sorun Giderme SSS Yaygın Synapse sorunlarına çözümler. Giriş yapamıyorum Belirtiler - 401 döndürüyor - "Invalid email or password" Çözümler 1. E-postanın doğru olduğunu doğrulayın — büyük/küçük harf duyarlı 2. Parolayı kontrol edin — en az 6 karakter 3. Hesabınız yoksa önce kaydolun: 4. (SMTP yapılandırılmışsa) web arayüzü üzerinden parola sıfırlayın Mind Key'imi kaybettim Belirtiler - Belleklere erilemiyor - Mind Key silinmiş/kaybolmuş Çözümler Mind Key'ler kurtarılamaz. Şunları yapmalısınız: 1. JWT almak için giriş: 2. Mind'leri listele: (JWT ile) 3. Yeni mind oluştur: 4. Yeni Mind Key'i kaydet 5. (İsteğe bağlı) Eski mind'i sil: Eski mind'deki veriler Mind Key'i bulamadıkça kaybedilir. API çağrıları 401 döndürüyor Belirtiler - Tüm API çağrıları 401 Unauthorized döndürüyor - "Mind Key fehlt oder ungültig" Çözümler 1. Başlık biçimini doğrulayın: 2. Mind Key'in ile başladığını kontrol edin (JWT olan değil) 3. Doğrudan test edin: [CODE BLOCK] 4. Mind Key iptal edilmiş olabilir — yeni bir mind oluşturun Bkz. Kimlik Doğrulama. API çağrıları 404 döndürüyor Belirtiler - 404 Not Found - "Route not found" Çözümler > [!CRITICAL] > Uç nokta yollarını tahmin etmeyin. Yalnızca içindeki yollar mevcuttur. 1. Geçerli uç noktaları kontrol edin: 2. URL'yi tam olarak karşılaştırın — büyük/küçük harf duyarlı, sondaki eğik çizgi yok 3. HTTP yöntemini kontrol edin — ve farklıdır API çağrıları 429 döndürüyor Belirtiler - 429 Too Many Requests - "Rate limit exceeded" Çözümler 1. Header kimlik doğrulamasına geçin (hız sınırı yok): [CODE BLOCK] 2. kullanmanız gerekiyorsa saniye bekleyin Bkz. Hız Sınırları. Bellek arama sonuç döndürmüyor Belirtiler - boş döndürüyor - Belleklerin var olduğunu biliyorsunuz Çözümler 1. Belleklerin var olduğunu doğrulayın: 2. Arama sözdizimini kontrol edin — FTS5'ün özel sözdizimi var 3. Daha basit sorgu deneyin — yerine 4. Kavramsal sorgular için anlamsal arama kullanın: Bkz. FTS5 Arama. Bellekler kalıcı olmuyor Belirtiler - POST /memory başarı döndürüyor - GET /memory/recall bunları göstermiyor Çözümler 1. Aynı Mind Key'i doğrulayın — farklı anahtarlar = farklı mind'ler 2. Yanıtı kontrol edin — POST döndürür 3. /memory/recall (metin) yerine GET /memory (JSON listesi) deneyin 4. Filtreyi kontrol edin — veya onları gizliyor olabilir Araçlar Claude Desktop'da görünmüyor Belirtiler - Claude Desktop 0 araç gösteriyor - 🔌 simgesi yok Çözümler 1. Claude Desktop'ı tamamen yeniden başlatın (Cmd+Q) 2. Yapılandırma dosyasının geçerli JSON olduğunu doğrulayın 3. Node.js 18+ kurulu olduğunu kontrol edin 4. MCP'yi manuel çalıştırın: 5. Logları kontrol edin: Bkz. MCP Sorun Giderme. Synapse çevrimdışı Belirtiler - synapse.schaefer.zone'a ulaşılamıyor - curl zaman aşımına uğruyor Çözümler 1. İnternetinizi kontrol edin — başka bir site deneyin 2. Synapse sağlığını kontrol edin: 3. Bekleyin — geçici kesinti veya dağıtım olabilir 4. Durum sayfasını kontrol edin (varsa) Self-hosted için: Docker konteyner durumunu, veritabanı bağlantısını kontrol edin. Veritabanı hataları Belirtiler - 500 Internal Server Error - "Database connection failed" Çözümler Self-hosted için: 1. PostgreSQL'in çalıştığını kontrol edin: 2. Env'de DATABASEURL'i kontrol edin 3. Migrasyonları kontrol edin: 4. Disk alanını kontrol edin: Barındırılan için: desteğe bildirin. Webhook tetiklenmiyor Belirtiler - Webhook kaydedildi ama geri arama alınmıyor - URL'nize POST yok Çözümler 1. URL'nin erişilebilir olduğunu doğrulayın: 2. Olay filtresini kontrol edin — tüm bellek olaylarını eşleştirir 3. Webhook'u test edin: 4. Webhook'un etkin olduğunu kontrol edin: 5. SSL'i doğrulayın — Synapse webhook URL'leri için geçerli HTTPS gerektirir Bkz. Webhooks API. Cron işi çalışmıyor Belirtiler - Cron işi oluşturuldu ama tetiklenmiyor - güncellenmiyor Çözümler 1. Zamanlama sözdizimini kontrol edin — geçerli 5 alanlı cron veya tamsayı saniye olmalı 2. Uç noktanın izin verildiğini doğrulayın — http(s) olmalı, özel IP yok 3. İşin etkin olduğunu kontrol edin: 4. Sonraki zamanlanmış saati bekleyin — cron anında değil Bkz. Cron & Zamanlayıcı. Daha Fazla Yardıma mı İhtiyacınız Var? 1. Mevcut docs'ları kontrol edin: 2. Docs'larda arama: 3. Issue açın: 4. İletişim: sayfasına bakın Sonraki Adımlar - Hatalar & Hata Yönetimi - API SSS - MCP Sorun Giderme