Prompt Kütüphanesi Kullanımı
Prompt Kütüphanesi, YSN'nin kalbidir. 2046 adet özenle hazırlanmış, Türk pazarına lokalize prompt; her biri bir JSON şema ile yapılandırılmış durumda. Bu dokümanda kütüphanenin nasıl gezileceğini, bir promptun nasıl çalıştırılacağını, kontör sisteminin nasıl işlediğini ve TR/EN toggle davranışını açıklıyoruz.
Kütüphaneyi Açma
Panelde sol menüdeki "Prompt Kütüphanesi" linkine tıklayın. GET /api/v1/prompts/library çağrısı yapılır. Response yapısı:
{
"items": [
{
"id": "insta_reels_hook_v2",
"title_tr": "Instagram Reels açılış hook'u",
"title_en": "Instagram Reels hook opener",
"category": "sosyal-medya",
"locale": "both",
"credits_cost": 2,
"input_schema": {
"konu": { "type": "string", "required": true },
"ton": { "type": "select", "options": ["profesyonel", "eğlenceli", "cesur"] }
}
}
],
"total": 2046
}Dil Toggle (TR / EN)
Üst başlıkta TR/EN düğmesi vardır. Seçim ysn_lang cookie'sine yazılır. Bu cookie tüm server render'larda getLanguage() fonksiyonuyla okunur. TR seçiliyken title_tr ve açıklama Türkçe gösterilir; EN seçiliyken title_en döner. Bir prompt locale: "tr" ise EN modunda listede gözükmez (veya "TR only" rozeti ile gri görünür, ayara göre).
Kategori Filtresi
Sol tarafta kategori listesi sticky olarak durur. Tıklandığında URL'ye ?category=satis eklenir ve ilgili kartlar filtrelenir. Çoklu kategori seçimi desteklenir; virgülle ayrılır.
Mevcut kategoriler: sosyal-medya, satis, klinik, egitim, e-ticaret, web-icerik, email, reklam, icerik-stratejisi, video.
Arama
Üstteki arama çubuğu başlık + etiketler + açıklama alanlarında çalışır. Minimum 2 karakter, debounce 200ms. Arama server'a gitmez; istemcide filtreleme yapılır (hepsi başta yüklenir, ~250KB).
Input Şemasını Doldurma
Bir prompt kartına tıklayınca sağ taraftan slide-in panel açılır. Şemadaki her alan için uygun bir form elemanı üretilir:
- `string` → input
- `text` → textarea (otomatik yükselir)
- `select` → dropdown
- `multiselect` → tag input
- `number` → number input
- `bool` → toggle
Zorunlu alanlar required: true ise yanında kırmızı asterisk görünür ve boş kaldığında "Çalıştır" düğmesi disabled kalır.
Çalıştırma ve Akış (Streaming)
"Çalıştır" butonuna basınca POST /api/v1/prompts/execute endpoint'ine istek gider:
POST /api/v1/prompts/execute
Authorization: Bearer <token>
Content-Type: application/json
{
"prompt_id": "insta_reels_hook_v2",
"inputs": { "konu": "botoks kampanyası", "ton": "eğlenceli" },
"locale": "tr"
}Response Server-Sent Events (SSE) formatındadır. Her satır bir data: {"delta": "..."} chunk'ı. Widget bu akışı token-token ekrana basar. Bitişte data: {"done": true, "credits_used": 2, "credits_remaining": 498} satırı gelir.
Kontör Sistemi
Her promptun sabit bir credits_cost'u vardır (1-8 arası). Çalıştırma başarılı olursa kontör düşer, başarısız olursa (model hatası, iptal) düşmez. Kullanıcının kontörü yoksa endpoint 402 Payment Required döner ve frontend "Yükselt" modal'ını açar.
Sonuçları Kaydet ve Paylaş
Her çıktı otomatik olarak "Geçmiş" sekmesine kaydedilir. Çıktıyı kopyalayabilir, TXT/MD olarak indirebilir veya "Sosyal Medya Takvimi"ne direkt gönderebilirsiniz. Takvime gönderirseniz platform, tarih ve saat seçiminden sonra cron job otomatik yayınlar.
İpuçları
- Şema zorunlu alanları doldurmadan önce örnek butona bakın — tek tıkla örnek veri dolar.
- Uzun çıktılar için `max_tokens` parametresi promptun kendi ayarındadır; kullanıcı müdahale edemez.
- Aynı girdi ile tekrar çalıştırdığınızda cache çalışmaz; her çalıştırma yeni tokendir.