DeepSeek V4-Pro'yu Cursor'a varsayılan OpenAI uyumlu ayarlarla eklediğinizde ilk araç çağrısı genellikle 400 hatasıyla döner. Sebep: V4-Pro bir düşünme modelidir ve yanıtta reasoning_content döndürür; Cursor ise bu alanı sonraki araç çağrısı isteklerinden çıkarır. DeepSeek API, muhakeme zinciri eksik olan takip mesajlarını reddeder. Çözüm olarak yxlao/deepseek-cursor-proxy proxy'si reasoning_content alanını önbelleğe alır ve sonraki isteklere yeniden ekler. Bu kurulumdan sonra V4-Pro, Cursor'ın özel model panelindeki normal modeller gibi çalışır; düşünme tokenleri de katlanabilir markdown olarak görüntülenir.
Kısaca
- DeepSeek V4-Pro, Cursor'da varsayılan kurulumla araç çağrılarında 400 hatası verebilir.
- Hatanın nedeni Cursor'ın
reasoning_contentalanını takip isteklerinden çıkarmasıdır. -
deepseek-cursor-proxy, Cursor ile DeepSeek arasına girerek bu alanı önbelleğe alır ve gerektiğinde yeniden enjekte eder. - Kurulum akışı:
- Proxy'yi
uvveyapipile kurun. - ngrok'u yapılandırın.
- Proxy'yi başlatın.
- Cursor'da özel model olarak DeepSeek V4-Pro'yu ekleyin.
- Proxy'yi
- Cursor içindeki V4-Pro, DeepSeek API fiyatlandırmasını kullanır. Çıktı maliyeti milyon token başına yaklaşık 0,87 ABD dolarıdır. Fiyatlandırma bağlamı için DeepSeek V4-Pro %75 Fiyat İndirimi Artık Kalıcı yazısına bakabilirsiniz.
Neden proxy gerekiyor?
V4-Pro her yanıtta iki ayrı alan döndürür:
{
"content": "Kullanıcıya gösterilecek yanıt",
"reasoning_content": "Modelin muhakeme zinciri"
}
Sıradan sohbetlerde reasoning_content alanını yok saymak genellikle sorun çıkarmaz. Sorun, araç çağrıları başladığında ortaya çıkar.
DeepSeek'in düşünme modellerinde konuşmaya devam ederken önceki reasoning_content bloğunun da takip isteğine dahil edilmesi gerekir. Çünkü bu blok, konuşma durumunun bir parçasıdır.
Cursor ise OpenAI Chat Completions şemasına göre istek üretir. reasoning_content OpenAI şemasında olmadığı için Cursor bu alanı düşürür. Sonuç:
HTTP 400
missing reasoning_content
Bu doğrudan bir Cursor hatası değil; DeepSeek'in düşünme modeli sözleşmesi ile Cursor'ın OpenAI uyumlu istem formatı arasındaki uyumsuzluktur.
Proxy'nin görevi basittir: Cursor'ın unuttuğu reasoning_content alanını hatırlamak.
Proxy ne yapar?
deepseek-cursor-proxy üç ana işi yapar:
- Cursor'dan gelen sohbet isteklerini yerel bir portta dinler. Varsayılan port
9000'dir. - DeepSeek yanıtlarından gelen
reasoning_contentalanını SQLite içinde saklar. - Cursor takip isteği gönderdiğinde uygun
reasoning_contentdeğerini bulur ve DeepSeek'e gitmeden önce isteğe ekler.
Proxy ayrıca yerel portu ngrok ile HTTPS olarak dışarı açar. Bunun nedeni Cursor'ın özel model ayarlarında localhost URL'sini kabul etmemesidir.
Varsayılan önbellek yolu:
~/.deepseek-cursor-proxy/reasoning_content.sqlite3
Önbellek anahtarı, konuşma ön ekinin SHA-256 hash'idir. Böylece paralel konuşmalar birbirine karışmaz.
Ön koşullar
Kuruluma başlamadan önce şunlara ihtiyacınız var:
- Cursor 2.0 veya daha yeni sürüm
- DeepSeek API anahtarı Yoksa platform.deepseek.com üzerinden alabilirsiniz.
- Python 3.11 veya daha yeni
- ngrok hesabı ve authtoken
- İsteğe bağlı ama önerilen:
uv
uv kurulumu için resmi uv kurulum belgelerine bakabilirsiniz.
ngrok için ngrok hızlı başlangıç rehberi authtoken adımını gösterir.
Adım 1: Proxy'yi kurun
En hızlı kurulum uv ile yapılır:
uv tool install deepseek-cursor-proxy
pip kullanmak isterseniz:
git clone https://github.com/yxlao/deepseek-cursor-proxy.git
cd deepseek-cursor-proxy
pip install -e .
Kurulumu doğrulayın:
deepseek-cursor-proxy --help
Komut çalışıyorsa proxy PATH'inize eklenmiştir.
Adım 2: ngrok'u yapılandırın
Cursor özel model ayarında HTTPS URL bekler. Bu yüzden proxy'nin yerel portunu ngrok ile dışarı açmanız gerekir.
ngrok config add-authtoken YOUR_NGROK_AUTHTOKEN
Ücretsiz ngrok katmanında her yeniden başlatmada farklı bir alt alan adı oluşabilir. Sabit URL istiyorsanız ngrok panelinden ayrılmış alan adı alın ve proxy'yi şu şekilde çalıştırın:
deepseek-cursor-proxy --ngrok-url https://your-reserved.ngrok-free.app
Adım 3: Proxy'yi başlatın
Varsayılan ayarlarla başlatmak için:
deepseek-cursor-proxy
İlk çalıştırmada proxy şu dosyayı oluşturur:
~/.deepseek-cursor-proxy/config.yaml
Örnek çıktı:
Starting deepseek-cursor-proxy
Tunnel: https://random-name.ngrok-free.app
Local: http://127.0.0.1:9000
Cache: /Users/you/.deepseek-cursor-proxy/reasoning_content.sqlite3
Bu çıktıda önemli olan değer:
https://random-name.ngrok-free.app
Cursor'a bunu /v1 ekiyle gireceksiniz.
Faydalı bayraklar
deepseek-cursor-proxy --port 9001
Yerel portu değiştirir.
deepseek-cursor-proxy --verbose
İstek ve yanıt gövdelerini loglar. Hata ayıklamada kullanışlıdır.
deepseek-cursor-proxy --no-ngrok
ngrok'u devre dışı bırakır. Cursor genellikle http://localhost kabul etmediği için daha çok test senaryolarında kullanılır.
deepseek-cursor-proxy --no-display-reasoning
Cursor içinde katlanabilir düşünme bloklarının görüntülenmesini engeller. reasoning_content yine işlenir; sadece kullanıcı arayüzünde gösterilmez.
Adım 4: Cursor'ı yapılandırın
Cursor'da:
- Settings bölümünü açın.
- Models sekmesine gidin.
- Yeni bir özel model ekleyin.
Alanları şu şekilde doldurun:
| Alan | Değer |
|---|---|
| Model adı | deepseek-v4-pro |
| Base URL | https://random-name.ngrok-free.app/v1 |
| API key | DeepSeek API anahtarınız |
Daha ucuz varyantı kullanmak isterseniz model adını şu yapabilirsiniz:
deepseek-v4-flash
Önemli nokta: Proxy model adını çevirmeden DeepSeek'e iletir. Bu yüzden Cursor'daki model adı, gerçek DeepSeek model tanımlayıcısıyla eşleşmelidir.
Cursor'ın Validate Model kontrolünü çalıştırın. Yeşil tik görüyorsanız bağlantı hazırdır.
Bağlantı hatası alırsanız şunları kontrol edin:
- URL
/v1ile bitiyor mu? - Proxy terminalinde gelen istek görünüyor mu?
- ngrok tüneli hâlâ aktif mi?
- DeepSeek API anahtarı doğru mu?
Adım 5: Araç çağrısını test edin
Model seçiciden yeni özel modeli seçin.
İlk test için araç kullanımını zorlayan bir istem kullanın:
Bu depodaki README dosyasını aç, tüm kod bloklarını listele ve hangilerinde dil etiketi eksik olduğunu söyle.
Bu istem Cursor'ın read_file gibi bir araç çağrısı yapmasını sağlar.
Başarılı akış şöyle olmalıdır:
- Cursor kullanıcı mesajını proxy'ye gönderir.
- Proxy isteği DeepSeek'e iletir.
- DeepSeek
content,reasoning_contentvetool_callsdöndürür. - Proxy
reasoning_contentalanını SQLite önbelleğe yazar. - Cursor aracı çalıştırır.
- Cursor araç sonucuyla takip isteği gönderir; ancak
reasoning_contentalanı eksiktir. - Proxy eksik alanı önbellekten bulur ve isteğe ekler.
- DeepSeek isteği kabul eder ve yanıtı tamamlar.
Bunu görmek için proxy'yi verbose modda çalıştırabilirsiniz:
deepseek-cursor-proxy --verbose
Maliyet hesabı
Cursor içindeki V4-Pro, Cursor'ın paketlenmiş kredi sistemini değil DeepSeek API fiyatlandırmasını kullanır.
Mayıs 2026 itibarıyla oranlar:
| Token türü | 1 milyon token başına oran |
|---|---|
| Girdi (önbellek ıskası) | 0,435 dolar |
| Girdi (önbellek isabeti) | 0,003625 dolar |
| Çıktı | 0,87 dolar |
Örnek yoğun kullanım senaryosu:
- 50 sohbet dönüşü
- Her dönüşte ortalama 8.000 girdi tokeni
- Her dönüşte ortalama 1.500 çıktı tokeni
En kötü durum girdi maliyeti:
50 × 8.000 × 0,435 / 1.000.000 = 0,174 dolar
Çıktı maliyeti:
50 × 1.500 × 0,87 / 1.000.000 = 0,065 dolar
Önbellek isabetleri düşük olsa bile günlük maliyet genellikle düşük kalır. Sistem istemi ve dosya bağlamı gibi tekrar eden ön eklerde önbellek isabeti aldığınızda maliyet daha da düşer.
Daha ayrıntılı fiyat analizi için DeepSeek V4-Pro %75 Fiyat İndirimi Artık Kalıcı yazısına bakabilirsiniz.
DeepSeek ürün ailesi için ayrıca:
Cursor içinde V4-Pro kullanırken beklemeniz gerekenler
1. Düşünme tokenleri görünür
Varsayılan olarak proxy, DeepSeek'in muhakemesini yanıtın üstünde katlanabilir markdown bloğu olarak gösterir.
Bunu kapatmak için:
deepseek-cursor-proxy --no-display-reasoning
2. İlk araç çağrısında gecikme artabilir
V4-Pro düşünme modeli olduğu için araç çağrısından önce muhakeme üretir. İlk araç çağrısından önce 2-4 saniyelik ek gecikme bekleyebilirsiniz.
3. Çok dosyalı refactor işlerinde daha iyi sonuç verebilir
V4-Pro'nun muhakeme zinciri, özellikle şu işlerde faydalıdır:
- Çok dosyalı yeniden adlandırmalar
- İmza değişiklikleri
- Yapılandırma odaklı refactor'lar
- Birden fazla bağımlılığı etkileyen değişiklikler
Önceki Cursor entegrasyonları için:
Bu yazıdaki proxy yaklaşımı, eski manuel muhakeme enjeksiyonu yöntemlerinin yerine geçer.
DeepSeek kurulumunuzu Apidog ile test edin
Cursor entegrasyonu yalnızca Cursor içindeki akışı doğrular. V4-Pro'yu başka yerlerde kullanıyorsanız deterministik API testlerine de ihtiyacınız olur:
- CI botu
- Backend ajanı
- Özel IDE eklentisi
- Otomatik kod inceleme servisi
Apidog bu noktada kullanışlıdır. Bir Apidog ortamını şu adrese yönlendirebilirsiniz:
https://api.deepseek.com/v1
Ardından DeepSeek API anahtarınızı ekleyip OpenAI Chat Completions şemasını içe aktarabilirsiniz.
Bununla şunları yapabilirsiniz:
- V4-Pro için golden response setleri oluşturmak
- İstem değişikliklerinden sonra regresyon testi çalıştırmak
-
tool_callsyapısını JSON Schema ile doğrulamak - V4-Pro ve GPT-5.5 yanıtlarını aynı test senaryolarında karşılaştırmak
Apidog'u indirin, DeepSeek OpenAPI spesifikasyonunu içe aktarın ve birkaç dakika içinde V4-Pro için test ortamı kurun. Aynı iş akışı DeepSeek V4 API nasıl kullanılır yazısında da anlatılıyor.
Yaygın hatalar ve çözümleri
İlk araç çağrısından sonra 400 hatası
En olası nedenler:
- Proxy çalışmıyor.
- Cursor yanlış Base URL'ye gidiyor.
- URL
/v1ile bitmiyor. - ngrok tüneli kapanmış.
Kontrol edin:
https://your-ngrok-url.ngrok-free.app/v1
Proxy terminalinde gelen istek loglarını görmelisiniz.
ngrok tüneli sürekli değişiyor
Ücretsiz ngrok tünelleri yeniden başlatmada farklı URL verebilir. Cursor doğrulaması geçip daha sonra bozuluyorsa URL değişmiş olabilir.
Çözüm:
- ngrok panelinden ayrılmış alan adı alın.
- Proxy'yi şu şekilde başlatın:
deepseek-cursor-proxy --ngrok-url https://your-reserved.ngrok-free.app
Muhakeme içeriği yinelenmiş görünüyor
Aynı SQLite önbelleğini kullanan iki proxy örneği çalışıyor olabilir.
Çözüm:
pkill -f deepseek-cursor-proxy
rm ~/.deepseek-cursor-proxy/reasoning_content.sqlite3
deepseek-cursor-proxy
Önbellek isabet oranı düşük
DeepSeek istem önbelleği bayt düzeyinde aynı ön ekleri bekler. Cursor bazı sistem istemlerine zaman damgası veya oturum kimliği ekliyorsa önbellek isabeti düşer.
Çözüm proxy tarafında değildir. Şunları deneyebilirsiniz:
- Değişken içeriği sistem isteminden çıkarın.
- Değişken bilgileri kullanıcı mesajına taşıyın.
- V4-Pro oturumları için daha stabil istem şablonu kullanın.
Cursor "model bulunamadı" diyor
Cursor'daki model adı gerçek DeepSeek model adıyla eşleşmelidir.
Geçerli örnekler:
deepseek-v4-pro
deepseek-v4-flash
deepseek-v3-2-pro
deepseek-r1-1
Proxy model adlarını dönüştürmez; olduğu gibi iletir.
Proxy istemiyorsanız alternatifler
1. V4-Flash kullanın
deepseek-v4-flash düşünme modeli değildir ve reasoning_content döndürmez. Bu yüzden Cursor ile doğrudan çalışabilir.
Dezavantaj: V4-Pro'nun muhakeme avantajını kaybedersiniz.
2. Düşünme modeli desteği olan başka IDE eklentileri kullanın
Cline, Continue veya benzeri araçlar reasoning_content alanını araç çağrılarında yerel olarak işleyebilir. Cursor'a bağlı değilseniz proxy çalıştırmak yerine farklı eklenti kullanmak daha basit olabilir.
Alternatifler için 2026'nın en iyi açık kaynak kodlama yardımcıları: ücretsiz Cursor alternatifleri yazısına bakabilirsiniz.
Diğer Cursor model entegrasyonları:
SSS
Cursor neden DeepSeek V4-Pro'yu yerel olarak desteklemiyor?
Cursor'ın sohbet istemcisi OpenAI Chat Completions şemasını takip eder. reasoning_content, OpenAI şemasının parçası değildir. DeepSeek'in R1 ailesiyle ortaya çıkan ve V4-Pro'da da kullanılan sağlayıcıya özel bir uzantıdır.
Cursor bu alanı geçirmek için sağlayıcıya özel destek ekleyene kadar proxy gerekir.
Proxy DeepSeek R1 veya V3.2 ile çalışır mı?
Evet. reasoning_content döndüren ve araç çağrısı takiplerinde bu alanı bekleyen DeepSeek düşünme modelleriyle çalışır.
Cursor'da model adını doğru DeepSeek model tanımlayıcısına ayarlamanız yeterlidir.
Proxy'yi sürekli çalışır bırakmak güvenli mi?
Genel olarak evet. Ancak SQLite önbelleği oturumlarınızdaki ham muhakeme içeriğini içerir.
Paylaşılan makinelerde önbellek dizini izinlerini kısıtlayın:
chmod 700 ~/.deepseek-cursor-proxy
Alternatif olarak yalnızca bellek içi kullanım için --no-cache kullanabilirsiniz. Ancak proxy yeniden başlatıldıktan sonra devam eden araç çağrıları başarısız olabilir.
Proxy'yi ngrok olmadan kullanabilir miyim?
Evet:
deepseek-cursor-proxy --no-ngrok
Bu durumda proxy yalnızca şurada dinler:
http://127.0.0.1:9000
Ancak Cursor'ın standart özel model arayüzü genellikle http:// URL'lerini reddeder. Çoğu kullanıcı için ngrok, Cloudflare Tunnel veya Tailscale Funnel gerekir.
Cursor Composer ile çalışır mı?
Evet. Composer, sohbet paneliyle aynı model yönlendirme hattını kullanır. Composer içindeki ilk araç çağrısı da aynı reasoning_content gereksinimini tetikler ve proxy bunu aynı şekilde düzeltir.
Proxy ne kadar gecikme ekler?
Proxy tarafındaki ek yük küçüktür:
- Yerel ağ atlaması
- SQLite araması
- Küçük JSON manipülasyonu
Tipik ek yük çağrı başına yaklaşık 5-15 ms'dir. ngrok ise konuma göre 30-80 ms ekleyebilir.
Darboğaz genellikle proxy değil, modelin yanıt süresidir.
Proxy neyi önbelleğe alacağını nasıl seçer?
Proxy konuşma ön ekini hash'ler:
- En son kullanıcı veya araç mesajından önceki konuşma parçasını alır.
- SHA-256 hash üretir.
- Bu hash'i DeepSeek yanıtındaki
reasoning_contentile eşler. - Sonraki istekte aynı ön ek hash'i varsa
reasoning_contentalanını yeniden ekler.
Kısmi eşleşmeler kullanılmaz. Bu, benzer ama farklı konuşmaların birbirini kirletmesini engeller.
Sonraki adımlar
V4-Pro'nun Cursor'daki ana engeli reasoning_content uyumsuzluğudur. deepseek-cursor-proxy, bu problemi küçük bir ara katmanla çözer.
Uygulamak için:
- Proxy'yi kurun.
- Cursor'da
deepseek-v4-proözel modelini ekleyin. - Gerçek deponuzdan birkaç PR üzerinde mevcut varsayılan modelinizle yan yana test edin.
- Sistem isteminizde önbellek isabetini bozan zaman damgası veya oturum kimliği gibi değişkenleri kontrol edin.
-
api.deepseek.comiçin Apidog üzerinde regresyon testleri kurun.
Düşünme tokeni vergisi hâlâ var. Ancak API maliyeti, Cursor içinde V4-Pro'yu pratik bir günlük kodlama modeli hâline getiriyor.

Top comments (0)