Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>FisherSelim AINew to Visual Studio Code? Get it now.
FisherSelim AI

FisherSelim AI

fisherselim

|
10 installs
| (0) | Free
Türkçe yapay zeka kod asistanı. Sohbet paneli, kod yazma, açıklama ve hata düzeltme — Türk Lirası ile faturalı abonelik. Turkish-first AI coding assistant for VS Code: chat, code generation, explain and fix.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

FisherSelim AI — VS Code Eklentisi

FisherSelim AI'ı editörünüzden kullanın: kod seçip soru sorun, dosya açıklatın, hata metnini analiz ettirin, önerilen kodu diff görünümüyle onaylayıp uygulayın — hepsi aynı model routing ve kredi sistemiyle (backend'deki POST /api/agent/complete üzerinden). Yanıtlar markdown + syntax highlighting ile render edilir, sohbet geçmişiniz projeye özel olarak saklanır, ve panelin üstünden erişebildiğiniz modeller arasında geçiş yapabilirsiniz.

Kurulum

Marketplace'ten

FisherSelim AI - VS Code Marketplace adresinden "Install" butonuna basarak kurabilirsiniz.

.vsix dosyasından manuel kurulum

  1. Paketi oluşturun (veya elinizde hazır bir .vsix varsa 2. adıma geçin):

    cd vscode-extension
    npm install
    npm run package    # fisherselim-ai-<surum>.vsix uretir
    
  2. VS Code'da: Komut Paleti (Ctrl+Shift+P / Cmd+Shift+P) → "Extensions: Install from VSIX..." → üretilen .vsix dosyasını seçin.

    Alternatif olarak terminalden:

    code --install-extension fisherselim-ai-<surum>.vsix
    

Giriş yapma (auth)

API anahtarınız VS Code SecretStorage'da tutulur — CLI'daki ~/.fisherselim/config.json gibi düz metin bir dosyaya asla yazılmaz.

  1. ai.fisherselim.com hesabınıza giriş yapın, üst menüden Ayarlar > API Anahtarları'na gidin ve yeni bir anahtar oluşturun (fsk_... ile başlar). Anahtar sadece oluşturulduğu anda tam olarak gösterilir — kopyalayıp güvenli bir yere kaydedin.
  2. VS Code'da Komut Paleti → "FisherSelim: Login".
  3. Açılan kutuya kopyaladığınız API anahtarını yapıştırın.
  4. Anahtar sunucuya karşı doğrulanır (ücretsiz GET /api/agent/me ile); başarılıysa bir bildirim görürsünüz.
  5. Çıkış yapmak için Komut Paleti → "FisherSelim: Logout".

Özellikler ve kullanım akışı

Ekran görüntüsü yerine ne olacağını adım adım anlatıyoruz:

1. Sohbet paneli

Activity bar'da (sol kenar çubuğu) bir "FisherSelim AI" simgesi belirir. Tıkladığınızda "Sohbet" adlı bir panel açılır:

  • Üst çubukta erişebildiğiniz modelleri listeleyen bir açılır menü (planınızda olmayan modeller listede görünür ama seçilemez/gri gösterilir), sohbetin başlığı, geçmiş sohbetleri açan bir 🕘 butonu ve bir "Yeni sohbet" butonu vardır.
  • Mesaj listesinde yanıtlar markdown olarak (başlık, liste, kalın/italik, tablo) ve kod blokları syntax highlighting ile render edilir; her kod bloğunun sağ üstünde "Kopyala" ve "Uygula" butonları bulunur (bkz. aşağıdaki ilgili bölümler).
  • Alttaki kutuya yazıp Enter'a basın (Shift+Enter yeni satır ekler) — sorunuz bir "kullanıcı" balonu olarak görünür, yanıt token'lar geldikçe gerçek zamanlı olarak bir "asistan" balonunda büyür. Yanıt bitince, kullanılan kredi varsa altında küçük bir not olarak görünür.

Model seçiminiz ve sohbet geçmişiniz kalıcıdır — VS Code'u kapatıp açtığınızda kaybolmaz (bkz. "Sohbet geçmişi" ve "Ayarlar" bölümleri).

2. Seçili kod hakkında soru — FisherSelim: Seçili kod hakkında sor

Editörde bir kod parçası seçin, ardından Komut Paleti'nden bu komutu çalıştırın (veya seçiliyken sağ tık menüsünde de görünür). Açılan kutuya ne sormak istediğinizi yazın (varsayılan: "Bu kodu açıkla ve olası sorunları belirt."). Sohbet paneli otomatik açılır, sorunuz + seçtiğiniz kod bağlam olarak eklenip gönderilir, yanıt panelde akar.

3. Dosyayı açıklat — FisherSelim: Bu dosyayı açıkla

Komut Paleti'nden çalıştırın; aktif dosyanın tamamı bağlam olarak alınır ("Bu dosyanın ne yaptığını özetle ve önemli noktalara dikkat çek." sorusuyla), sohbet panelinde yanıt akar. Çok büyük dosyalarda içerik kısaltılır (mesaj sonunda "kısaltıldı" notu görünür).

4. Hata metnini analiz ettir — FisherSelim: Bu hatayı analiz et

Sadece metin bazlı bir analizdir; VS Code'un debugger'ına (breakpoint, adım adım çalıştırma vb.) hiç dokunulmaz. Komutu çalıştırdığınızda sırasıyla:

  1. Editörde seçili bir metin varsa (örneğin bir log dosyasındaki hata satırları) onu kullanır,
  2. yoksa, entegre terminalde çalıştırdığınız son başarısız (çıkış kodu 0'dan farklı) komutun çıktısını (VS Code'un Terminal Shell Integration özelliğiyle otomatik yakalanır) kullanır,
  3. hiçbiri yoksa, hata metnini yapıştırmanız için bir kutu açar.

Bulunan/yapıştırılan metin, "Bu hatayı analiz et: olası kök nedenini ve çözümünü açıkla." sorusuyla sohbet paneline gönderilir.

5. Kod önerisini uygulama — kod bloğundaki "Uygula" butonu

Bir yanıttaki kod bloğunun yanındaki "Uygula" butonuna basınca, hedef dosya şu sırayla belirlenir:

  1. Aktif bir editör açıksa VE ipucu yoksa — doğrudan ona uygulanır (aşağıdaki 4-7. adımlar).
  2. Kod bloğunda bir dosya yolu ipucu varsa (```ts src/foo.ts gibi bir fence bilgisi, veya kodun ilk satırında // src/foo.ts benzeri bir yorum) — o dosya hedeflenir: workspace'te yoksa (klasörleriyle birlikte) açık onayla oluşturulur; varsa ama açık değilse önce açılır, sonra 4-7. adımlara geçilir.
  3. Ne ipucu ne aktif editör varsa — bir giriş kutusuyla hedef dosya yolu sorulur; hiçbir yol verilmezse eskisi gibi bir uyarı gösterilir.
  4. Editörde seçili metin varsa onun yerine, yoksa imleç konumuna eklenecek hali hesaplanır (henüz dosyaya yazılmadan).
  5. VS Code'un yerleşik diff görünümüyle "önce/sonra" gösterilir.
  6. Bir bildirimde açıkça onayınız istenir ("Uygula" / "Vazgeç").
  7. Sadece "Uygula"ya basarsanız değişiklik gerçek dosyaya yazılır (workspace.applyEdit). Onaylamadan hiçbir zaman otomatik yazma olmaz.

Güvenlik: 2. adımdaki dosya yolu ipucu, workspace kökünün dışına asla çıkamaz — mutlak bir yol veya .. ile kökten dışarı çıkan bir yol her zaman reddedilir (CLI agent modunun dizin-sandbox mantığıyla aynı prensip).

6. Bağlam ekleme menüsü (Faz 18B)

Input kutusunun yanındaki 📎 butonu bir menü açar:

  • Görsel ekle — dosya seçici açılır (aşağıdaki "Çoklu görsel" bölümüne bakın).
  • Açık dosyayı ekle — aktif editördeki dosyanın tamamını bağlama ekler.
  • Seçili kodu ekle — editörde seçili metni bağlama ekler.
  • Hataları ekle — aktif dosyadaki VS Code tanılarını (hata/uyarı) ekler.
  • Terminal çıktısını ekle — entegre terminalde çalıştırılan son başarısız komutun çıktısını ekler (Quick Fix'teki ile aynı yakalama mekanizması).

Eklenen her bağlam, sohbet kutusunun üstünde kaldırılabilir (×) bir çip olarak görünür ve gönderdiğiniz mesajla birlikte bir kez kullanılıp temizlenir. Gizli/hassas yollar (.env, anahtar/sertifika dosyaları, node_modules/, .git/) hiçbir zaman bağlama eklenmez; içerik boyutu fisherselim.maxContextLines ayarıyla sınırlıdır (aşan içerik kısaltılır).

fisherselim.includeActiveFile (varsayılan: açık) her mesajda aktif dosyayı otomatik olarak bağlama ekler — "Açık dosyayı ekle" ile elle eklediyseniz otomatik ekleme tekrarlanmaz.

6.a Çoklu görsel ekleme

📎 > Görsel ekle ile (veya kutuya doğrudan yapıştırarak) bir görsel seçebilirsiniz — mesaj başına en fazla 4 görsel (sunucu limitiyle aynı), her birinin kendi küçük önizlemesi ve kaldırma (×) düğmesi vardır. Görseller mesajınızla birlikte gerçekten gönderilir. Backend (POST /api/agent/complete), görselleri server/index.js'teki mevcut vision pipeline'ıyla (yerel Ollama vision modeli, koparsa Groq bulut fallback'i) Türkçe bir metin açıklamasına çevirip modele öyle iletir.

Her model görsel kabul etmez. Seçili model görsel desteklemiyorsa (GET /api/agent/models'ın supportsVision:false döndürdüğü modeller), önizlemenin altında somut bir uyarı görünür ve göndermeyi denerseniz backend 403 (VISION_NOT_SUPPORTED) ile reddeder; hata balonunda hangi modele geçmeniz gerektiği açıkça söylenir (MODEL_LOCKED'daki alternatif model önerisiyle aynı desen).

Faz 12: ücretsiz ollama-free artık görsel destekliyor — ama SADECE yerel Ollama (ev makinesi) üzerinden. Yerel altyapı o an erişilemezse ücretli Groq bulut fallback'ine asla düşmez; bunun yerine "ücretsiz katmanın görsel altyapısı şu anda erişilemez durumda" diyen dürüst bir mesaj görürsünüz — görsel destekli ücretli bir modele geçmeniz önerilir.

7. Sohbet geçmişi

Sohbetiniz workspace'e özel olarak saklanır (farklı projelerde ayrı geçmişler tutulur — bkz. src/chatHistoryStore.ts'teki gerekçe). "Yeni sohbet" butonu mevcut sohbeti geçmişe kaydedip sıfırdan başlar; 🕘 butonu artık panelin içinde başlık, tarih, sil ve yeniden adlandır düğmeleriyle bir liste açar (Faz 17). Tek bir sohbeti silmek bir onay ister; "Tümünü sil" ayrı ve iki adımlı onaylıdır (yanlışlıkla tüm geçmişi kaybetmemeniz için). Komut Paleti'ndeki "FisherSelim: Sohbet geçmişini göster" eski QuickPick görünümü de ayrıca durur.

7.a Mesaj eylemleri (Faz 17)

Her asistan yanıtının altında: Kopyala, Yeniden üret (aynı soruyu tekrar sorar), 👍 Beğen / 👎 Beğenme (durumu kalıcıdır — hem yerelde hem, giriş yapılmışsa, POST /api/agent/feedback ile sunucuda saklanır) ve — tarayıcınızda/işletim sisteminizde Türkçe bir ses kuruluysa — 🔊 Dinle düğmeleri bulunur. Yanıt akarken sağ altta beliren Durdur düğmesi isteği anında iptal eder; o ana kadar gelen kısmi cevap yine de sohbet geçmişine kaydedilir.

7.b Tanı tabanlı Quick Fix (Faz 17)

Editörünüzde bir hata/uyarı (VS Code "tanı"sı) varsa, ampul menüsünde "FisherSelim ile düzelt" Quick Fix'i belirir — tıklayınca tanının satırı + mesajı + çevresindeki kod sohbete gönderilir, düzeltme her zaman diff onayından geçer (bkz. yukarıdaki "Uygula" akışı, DEĞİŞMEDİ). Aktif dosya .env, *.pem, *.key, SSH anahtarları, node_modules/, .git/ gibi gizli/gürültü bir yol ise bağlam hiçbir zaman gönderilmez (CLI agent modunun secret denylist mantığıyla aynı, bkz. src/contextSecrets.ts).

8. Durum çubuğu

VS Code'un durum çubuğunda (altta) "FisherSelim: <plan adınız>" görünür (giriş yapılmamışsa "giriş yapılmadı" — tıklayınca giriş akışını başlatır). Giriş yapılmışken tıklayınca plan adınızı, kalan kredinizi ve aylık hakkınızı gösteren bir bildirim açılır (Komut Paleti'nden "FisherSelim: Bakiyeyi göster" ile de çalıştırılabilir) — CLI'nin fisherselim balance komutuyla aynı GET /api/agent/balance mantığını kullanır.

Ayarlar

VS Code Ayarları'nda FisherSelim AI başlığı altında:

  • fisherselim.baseUrl — API sunucu adresi (varsayılan: https://ai.fisherselim.com). Yalnızca https kabul edilir (yerel geliştirme için http sadece localhost/127.0.0.1'de çalışır). Adresi değiştirirseniz, API anahtarınızın artık farklı bir sunucuya gideceğini belirten bir uyarı görürsünüz.
  • fisherselim.model — sohbet panelinde henüz bir model seçmediğinizde kullanılacak varsayılan model (varsayılan: ollama-free; seçenekler: ollama-free, llama-fast, ds-flash, lufer, deepseek, gpt5, claude, gemini, claude-opus). Panelin üstündeki açılır menüden seçtiğiniz model bunu geçersiz kılar ve ayrıca hatırlanır (kişisel tercihiniz olarak, tüm workspace'ler arasında geçerli).
  • fisherselim.responseLanguage — modelin yanıt vermesi istenen dil: auto (varsayılan — ek talimat eklenmez), tr veya en.
  • fisherselim.includeActiveFile — her mesajda aktif dosyayı otomatik olarak bağlama ekler (varsayılan: açık). Bkz. "Bağlam ekleme menüsü".
  • fisherselim.maxContextLines — bağlama eklenen herhangi bir içeriğin (aktif dosya, seçili kod, hatalar, terminal çıktısı) üst satır sınırı (varsayılan: 300, aralık: 20–2000).
  • fisherselim.autoOpenDiff — kod "Uygula" edildiğinde önce bir diff önizlemesi açılsın mı (varsayılan: açık). Kapalı olsa bile, dosyaya yazmadan önce her zaman bir onay isteği gösterilir.
  • fisherselim.chatFontSize — sohbet panelindeki mesaj yazı tipi boyutu, piksel (varsayılan: 13, aralık: 11–20). Değişiklik panel yeniden yüklenmeden uygulanır.

Klavye kısayolları

  • Ctrl+Alt+N / Cmd+Alt+N — Yeni sohbet
  • Ctrl+Alt+K / Cmd+Alt+K — Seçili kod hakkında sor (seçili metin varken)

VS Code'un "Keyboard Shortcuts" (Ctrl+K Ctrl+S) ekranından "FisherSelim" araması yaparak bunları kendi tercihinize göre değiştirebilirsiniz.

Geliştirme

cd vscode-extension
npm install
npm run typecheck
npm run build        # dist/extension.js (esbuild)
npm run package       # dist + vsce package -> .vsix

F5 ile ("Run Extension") VS Code'da bir "Extension Development Host" penceresi açıp canlı test edebilirsiniz — bkz. .vscode/launch.json. Daha fazla ayrıntı için ../packages/fisherselim-client/README.md ve repo kökündeki CONTRIBUTING.md.

Bundle boyutu (Faz 6 — markdown/highlight)

dist/webview.js, markdown render (marked) + syntax highlighting (highlight.js/lib/core + 19 dil) + tüm panel mantığını içerir: production (minified) derlemede ~150 KB (~48 KB gzip). Bu, shiki (TextMate grammar + WASM oniguruma tabanlı, tipik olarak 1-3 MB+) yerine highlight.js seçilmesinin doğrudan sonucu — bkz. Faz 6 PR açıklaması.

Marketplace durumu

Bu eklenti Marketplace'te yayında. Yeni bir sürüm yayınlamak (vsce publish, Personal Access Token gerektirir) elle yapılan, otomatikleştirilmemiş bir adımdır.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft