Hubungkan DeepSeek V4-Pro ke Cursor dengan pengaturan default yang kompatibel dengan OpenAI, dan panggilan alat pertama mengembalikan galat 400. Alasannya kecil tetapi membandel: V4-Pro adalah model pemikir yang mengembalikan blok reasoning_content, Cursor menghapus bidang tersebut dari permintaan lanjutannya, dan API DeepSeek menolak pesan panggilan alat yang menghilangkan rantai penalaran. Proxy sumber terbuka di yxlao/deepseek-cursor-proxy menyimpan konten penalaran dan menyuntikkannya kembali pada permintaan keluar. Setelah proxy berjalan, V4-Pro berperilaku seperti model lain di panel model kustom Cursor, dengan token pemikiran dirender sebagai markdown yang dapat dilipat. Di bawah ini adalah pengaturan lengkap, perhitungan biaya, dan daftar pemecahan masalah.
Ringkasan (TL;DR)
- Cursor ditambah DeepSeek V4-Pro mengembalikan galat 400 secara default, karena V4-Pro adalah model pemikir dan Cursor menghilangkan
reasoning_contentpada pesan panggilan alat. deepseek-cursor-proxy(sumber terbuka, Python) berada di antara Cursor dan DeepSeek, menyimpanreasoning_contentsetiap percakapan, dan menyuntikkannya kembali agar panggilan alat tidak gagal.- Pengaturan: instal melalui
uvataupip, jalankandeepseek-cursor-proxy, tempel URL ngrok ditambah kunci API DeepSeek Anda ke pengaturan model kustom Cursor. - V4-Pro di dalam Cursor sekarang berharga sekitar $0,87 per juta token keluaran, kira-kira 34x lebih murah daripada GPT-5.5 pada keluaran. Lihat Penurunan Harga Permanen DeepSeek V4-Pro 75% untuk konteks harga lengkapnya.
Mengapa Anda membutuhkan proxy sejak awal
V4-Pro mengembalikan dua hal di setiap respons: bidang content biasa dan bidang reasoning_content yang menyimpan rantai pemikiran. Untuk obrolan biasa Anda dapat mengabaikan reasoning_content. Masalah dimulai dengan panggilan alat.
Kontrak API DeepSeek untuk model pemikir mensyaratkan bahwa ketika Anda melanjutkan percakapan yang berisi blok reasoning_content, Anda harus menyertakan blok tersebut dalam permintaan berikutnya bersama dengan hasil tool_calls. Rantai penalaran adalah bagian dari status percakapan. Cursor tidak mengetahui persyaratan ini. Ia menyediakan klien obrolan bergaya OpenAI, dan reasoning_content bukan bagian dari skema OpenAI, jadi ia menghilangkan bidang tersebut. Panggilan alat berikutnya kembali dengan HTTP 400 dan pesan tentang reasoning_content yang hilang.
Ini bukan bug Cursor secara tepat. Ini adalah ketidakcocokan kontrak antara dua penyedia yang berbagi sebagian besar antarmuka API mereka. Sampai Cursor menambahkan dukungan V4-Pro kelas satu atau DeepSeek melonggarkan kontraknya, solusinya adalah proxy yang mengingat apa yang dilupakan Cursor.
Apa yang dilakukan proxy, dalam tiga baris
- Mendengarkan pada port lokal (default 9000) untuk permintaan obrolan keluar Cursor.
- Menyimpan
reasoning_contentdari setiap respons V4-Pro, diindeks oleh SHA-256 dari awalan percakapan kanonis. - Pada setiap permintaan baru, mencari
reasoning_contentyang disimpan untuk awalan yang cocok dan menambahkannya ke pesan sebelum meneruskan ke DeepSeek.
Ia juga mengekspos port lokal melalui terowongan ngrok, karena pengaturan model kustom Cursor memerlukan HTTPS dan tidak akan menerima URL localhost.
Cache berada di ~/.deepseek-cursor-proxy/reasoning_content.sqlite3. Pengindeksan SHA-256 berarti dua percakapan paralel tidak bertabrakan. Konten penalaran disimpan persis seperti yang dikembalikan DeepSeek, sehingga cache prompt DeepSeek sendiri tetap berfungsi, yang penting untuk harga permanen baru.
Prasyarat
Anda memerlukan empat hal sebelum memulai:
- Cursor 2.0 atau lebih baru. UI model kustom sama di 3.x; keduanya berfungsi.
- Kunci API DeepSeek. Daftar di platform.deepseek.com jika Anda belum memilikinya. Saldo kecil sudah cukup; detail harga ada di bawah.
- Python 3.11 atau lebih baru. Proxy adalah Python murni.
uvdirekomendasikan tetapi pip juga berfungsi. - Akun ngrok dengan authtoken. Tingkat gratis cukup untuk pengembang solo. Domain statis adalah opsional tetapi membuat hidup lebih mudah jika Anda sering memulai ulang proxy.
Jika Anda belum pernah menginstal uv, lihat dokumentasi instalasi uv resmi. Untuk ngrok, panduan cepat ngrok akan memandu Anda melalui langkah authtoken.
Langkah 1: Instal proxy
Jalur tercepat adalah uv. Dari direktori mana pun:
uv tool install deepseek-cursor-proxy
Jika Anda lebih suka pip, kloning repo dan instal sebagai paket yang dapat diedit:
git clone https://github.com/yxlao/deepseek-cursor-proxy.git
cd deepseek-cursor-proxy
pip install -e .
Salah satu jalur menempatkan perintah deepseek-cursor-proxy di PATH Anda. Verifikasi dengan deepseek-cursor-proxy --help.
Langkah 2: Konfigurasi ngrok
Proxy membutuhkan URL HTTPS publik karena bidang model kustom Cursor tidak akan menerima http://localhost. ngrok menyediakan terowongan.
ngrok config add-authtoken KUNCI_AUTH_NGROK_ANDA
Dapatkan authtoken Anda dari dasbor ngrok setelah mendaftar. Tingkat gratis memberi Anda subdomain acak di setiap restart. Jika itu masalah, klaim domain yang dicadangkan di dasbor dan berikan ke proxy dengan --ngrok-url https://domain-cadangan-anda.ngrok-free.app.
Langkah 3: Jalankan proxy
Pengaturan default baik untuk sebagian besar konfigurasi:
deepseek-cursor-proxy
Pada saat pertama kali dijalankan, proxy membuat ~/.deepseek-cursor-proxy/config.yaml, membuka terowongan, dan mencetak URL publik. Outputnya terlihat seperti ini:
Memulai deepseek-cursor-proxy
Terowongan: https://nama-acak.ngrok-free.app
Lokal: http://127.0.0.1:9000
Cache: /Users/anda/.deepseek-cursor-proxy/reasoning_content.sqlite3
Tanda-tanda yang berguna:
--port 9000: ubah port lokal jika 9000 sudah terpakai.--verbose: cetak isi permintaan dan respons. Gunakan ini saat mendebug integrasi Cursor.--no-ngrok: lewati terowongan. Berguna saat menguji dari alat yang menerimahttp://localhost.--no-display-reasoning: hilangkan blok pemikiran yang dapat dilipat dari tampilan Cursor. Penalaran masih mengalir; hanya rendering yang disembunyikan.
Biarkan proxy berjalan di terminal terpisah, atau bungkus dalam pekerjaan launchctl di macOS. Cursor berbicara dengannya di setiap permintaan.
Langkah 4: Konfigurasi Cursor
Buka pengaturan Cursor, navigasikan ke Model, dan tambahkan model kustom. Bidang yang Anda butuhkan:
- Nama model:
deepseek-v4-pro. Proxy meneruskan string ini langsung ke DeepSeek, jadi harus cocok dengan pengenal model DeepSeek yang sebenarnya. Gunakandeepseek-v4-flashuntuk varian yang lebih murah. - URL dasar: URL ngrok yang dicetak proxy, ditambah
/v1. Contoh:https://nama-acak.ngrok-free.app/v1. - Kunci API: Kunci API DeepSeek Anda (dimulai dengan
sk-). Proxy tidak memiliki lapisan otentikasi sendiri; ia meneruskan kunci apa adanya.
Cursor menjalankan pemeriksaan "Verifikasi model". Pemeriksaan ini mengirimkan satu penyelesaian obrolan. Tanda centang hijau berarti Anda selesai. Galat koneksi biasanya menunjuk ke URL ngrok: salin lagi dari output proxy dan pastikan diakhiri dengan /v1.
Langkah 5: Pilih model dan coba panggilan alat
Buka pemilih model di panel obrolan dan pilih model kustom baru Anda. Prompt pertama yang harus dicoba adalah yang memaksa penggunaan alat, karena panggilan alat adalah tempat galat 400 asli berada:
"Buka README di repo ini, daftar setiap blok kode, dan beri tahu saya mana yang kehilangan petunjuk bahasa."
Cursor akan mengeluarkan panggilan alat read_file. Jika proxy berfungsi, rantai respons akan terlihat seperti:
- Cursor mengirimkan pesan pengguna ke proxy.
- Proxy meneruskan ke DeepSeek tanpa
reasoning_content(ini adalah giliran pertama). - DeepSeek mengembalikan teks ditambah blok
reasoning_contentditambah permintaantool_calls. - Proxy menyimpan
reasoning_contentyang diindeks oleh hash awalan percakapan. - Cursor menjalankan alat, lalu mengirimkan tindak lanjut dengan hasil alat. Tindak lanjut tidak memiliki
reasoning_contentkarena Cursor menghilangkannya. - Proxy mencari
reasoning_contentyang disimpan berdasarkan hash awalan dan menyuntikkannya kembali sebelum meneruskan. - DeepSeek menerima permintaan, melanjutkan penalaran, dan mengembalikan jawaban akhir.
Jalankan dengan --verbose dan Anda akan melihat injeksi terjadi di log.
Seperti apa biaya dalam praktik
V4-Pro di dalam Cursor membayar tarif API standar DeepSeek, bukan harga kredit bundel Cursor. Tarif tersebut bersifat permanen mulai Mei 2026:
| Tipe token | Tarif per 1 Juta token |
|---|---|
| Masukan (cache miss) | $0.435 |
| Masukan (cache hit) | $0.003625 |
| Keluaran | $0.87 |
Hari penggunaan Cursor yang intensif kira-kira terlihat seperti 50 giliran obrolan ditambah 20 rantai panggilan alat. Setiap giliran rata-rata mungkin 8.000 token prompt (konteks file ditambah prompt sistem ditambah riwayat) dan 1.500 token keluaran. Itu adalah:
- 50 giliran × 8.000 masukan × $0,435 / 1.000.000 = $1,74 kasus terburuk
- Dengan hit cache pada awalan sistem dan konteks 6.000 token pada 60%: sekitar $0,85
- 50 × 1.500 × $0,87 / 1.000.000 = $0,065 keluaran
Total: sekitar $1 per hari intensif. Dibandingkan dengan menjalankan beban kerja yang sama melalui kuota GPT-5.5 bundel Cursor Pro, ini jauh lebih murah sebelum pembatasan kuota dimulai. Perhitungan potongan harga penuh ada di Penurunan Harga Permanen DeepSeek V4-Pro 75%.
Untuk konteks tentang jajaran produk DeepSeek lainnya, lihat Apa itu DeepSeek V4 dan Cara menggunakan API DeepSeek V4.
Bagaimana V4-Pro terasa di dalam Cursor
Tiga perbedaan muncul dibandingkan model Cursor default Anda.
1. Token pemikiran terlihat. Secara default, proxy merender penalaran DeepSeek sebagai blok markdown yang dapat dilipat di atas setiap respons. Panel obrolan Cursor menampilkannya sebagai elemen <details>. Berguna untuk mendebug prompt; berisik untuk pekerjaan rutin. Ubah dengan --no-display-reasoning.
2. Latensi pada panggilan alat pertama lebih tinggi. V4-Pro adalah model pemikir, dan rantai berjalan sebelum panggilan alat apa pun. Harapkan 2 hingga 4 detik sebelum alat pertama diaktifkan, lalu throughput standar pada tindak lanjut.
3. Saran "Terapkan" Cursor menjadi lebih baik pada refaktor yang kompleks. Ini adalah berita utama. Rantai penalaran V4-Pro menangkap dependensi multi-file yang dilewatkan oleh model penyelesaian datar. Pengubahan nama, perubahan tanda tangan, dan refaktor berbasis konfigurasi yang sebelumnya membutuhkan tiga putaran dengan GPT-5.5 sering kali berhasil dalam satu kali dengan V4-Pro.
Panduan DeepSeek-dengan-Cursor lainnya ada untuk model pendahulunya. Lihat Cara menggunakan DeepSeek R1 secara lokal dengan Cursor dan DeepSeek V3 dengan Cursor: langkah demi langkah untuk pola yang lebih lama. Proxy dalam panduan ini menggantikan peretasan injeksi penalaran manual yang didokumentasikan dalam postingan tersebut.
Menguji pengaturan DeepSeek Anda dengan Apidog
Integrasi Cursor hanya membuktikan jalur dari dalam Cursor. Jika Anda mengirim V4-Pro ke permukaan lain (bot CI, agen backend, plugin IDE kustom), Anda memerlukan alat uji deterministik terhadap titik akhir yang sama dengan yang diteruskan proxy Anda.

Di situlah Apidog mendapatkan tempatnya. Arahkan lingkungan Apidog ke https://api.deepseek.com/v1, masukkan kunci API Anda, dan impor skema Penyelesaian Obrolan OpenAI. Anda dapat:
- Merekam respons emas dari V4-Pro dan memutarnya ulang di setiap perubahan prompt untuk menangkap penyimpangan.
- Memvalidasi bentuk
tool_callsdengan pernyataan JSON Schema agar pengeditan prompt sistem yang buruk tidak merusak agen produksi Anda secara diam-diam. - Membandingkan V4-Pro dan GPT-5.5 secara berdampingan pada batch masukan yang sama menggunakan skenario pengujian Apidog.
Unduh Apidog, impor spesifikasi DeepSeek OpenAPI, dan Anda memiliki bangku uji V4-Pro yang berfungsi dalam lima menit. Alur kerja yang sama yang kami jelaskan dalam Cara menggunakan API DeepSeek V4.
Kesalahan umum
Galat 400 setelah panggilan alat pertama. Mode kegagalan klasik yang proxy ini dibangun untuk diperbaiki. Jika Anda masih melihatnya setelah pengaturan, proxy tidak berjalan atau Cursor menunjuk ke URL dasar yang salah. Periksa kembali apakah URL diakhiri dengan /v1 dan bahwa log proxy menunjukkan permintaan masuk.
Terowongan ngrok terus terhubung kembali. Terowongan tingkat gratis berputar saat restart. Jika verifikasi Cursor berhasil tetapi kemudian gagal beberapa menit kemudian, terowongan Anda berputar. Pindah ke domain yang dicadangkan (satu klik di dasbor ngrok) dan berikan dengan --ngrok-url.
Konten penalaran muncul berulang. Ini terjadi ketika dua instans proxy berjalan dengan jalur cache SQLite yang sama. Hentikan keduanya, hapus ~/.deepseek-cursor-proxy/reasoning_content.sqlite3, dan mulai satu instans.
Rasio hit cache terlihat rendah. Cache prompt DeepSeek memerlukan awalan byte-identik. Cursor menyuntikkan stempel waktu dan ID sesi ke beberapa prompt sistem, yang membunuh hit cache. Perbaikan tidak ada di dalam proxy; terima biayanya atau gunakan mode "tanpa prompt sistem" Cursor untuk sesi V4-Pro.
Cursor melaporkan "model tidak ditemukan." Nama model di pengaturan Cursor harus cocok dengan model DeepSeek yang sebenarnya. Nilai yang valid saat ini adalah deepseek-v4-pro, deepseek-v4-flash, deepseek-v3-2-pro, dan deepseek-r1-1. Proxy tidak menerjemahkan nama; ia meneruskannya.
Alternatif jika proxy tidak tepat untuk Anda
Proxy adalah jalur terbersih saat ini, tetapi ada dua alternatif:
- V4-Flash tanpa proxy. V4-Flash bukan model pemikir dan tidak mengembalikan
reasoning_content. Cursor berbicara dengannya secara langsung tanpa solusi. Anda kehilangan peningkatan rantai pemikiran tetapi menjaga integrasi tetap sederhana. Harganya $0,14 / $0,28 per juta token. - Cline, Continue, atau plugin IDE AI lainnya dengan dukungan model pemikir asli. Alat-alat ini menangani
reasoning_contentpada pesan panggilan alat secara asli. Jika Anda tidak berkomitmen pada Cursor secara khusus, mengganti editor terkadang lebih mudah daripada menjalankan proxy. Lihat Asisten pengkodean sumber terbuka terbaik di tahun 2026: alternatif Cursor gratis untuk bidangnya.
Integrasi model Cursor lainnya yang dibahas secara rinci: Claude Opus 4.6 dengan Cursor, Kimi K2.5 dengan Cursor, dan Gemini 3.0 Pro dengan Cursor.
FAQ
Mengapa Cursor tidak mendukung DeepSeek V4-Pro secara asli? Klien obrolan Cursor mengikuti skema Penyelesaian Obrolan OpenAI. reasoning_content bukan bagian dari skema tersebut; itu adalah ekstensi khusus DeepSeek yang muncul dengan keluarga R1 dan tetap ada di V4-Pro. Cursor perlu menambahkan penanganan khusus penyedia untuk meneruskan bidang tersebut. Mereka mungkin akan melakukannya; sampai saat itu, proxy adalah solusinya.
Apakah proxy berfungsi dengan DeepSeek R1 atau V3.2? Ya. Setiap model pemikir DeepSeek yang mengembalikan reasoning_content dan memerlukannya pada tindak lanjut panggilan alat didukung. Atur nama model di pengaturan Cursor ke pengenal model DeepSeek yang sebenarnya.
Apakah proxy aman untuk dibiarkan berjalan? Ya, dengan satu peringatan: cache SQLite berisi konten penalaran mentah dari sesi Anda. Jika Anda menjalankan pengaturan multi-pengguna atau berbagi mesin, batasi izin direktori cache atau jalankan dengan --no-cache (hanya di memori, yang berarti panggilan alat gagal setelah proxy dimulai ulang).
Bisakah saya menggunakan proxy tanpa ngrok? Ya, dengan --no-ngrok. Proxy kemudian hanya mengekspos http://127.0.0.1:9000. UI model kustom Cursor menolak URL http:// di rilis standar, tetapi beberapa build sideloaded dan konfigurasi yang di-patch menerima localhost. Sebagian besar pengguna akan menginginkan ngrok atau yang setara (Cloudflare Tunnel, Tailscale Funnel).
Apakah ini berfungsi dengan Cursor Composer 2.5? Composer menggunakan pipeline perutean model yang sama dengan panel obrolan, jadi ya. Panggilan alat pertama di dalam agen Composer akan memicu persyaratan reasoning_content yang sama dan proxy memperbaikinya dengan cara yang sama.
Berapa overhead latensi proxy? Dapat diabaikan. Proxy menambahkan satu hop jaringan lokal, satu pencarian SQLite, dan beberapa KB manipulasi JSON per permintaan. Overhead yang terukur adalah 5 hingga 15 ms per panggilan. ngrok menambahkan 30 hingga 80 ms tergantung pada tepi terdekat. Proxy bukanlah hambatan.
Bagaimana proxy memutuskan apa yang akan disimpan dalam cache? Ia menghash awalan percakapan (segala sesuatu sebelum pesan pengguna atau alat terbaru), mengindeks SHA-256 dari hash tersebut ke reasoning_content dari respons DeepSeek terakhir, dan menyimpan keduanya dalam SQLite. Pada permintaan berikutnya, ia menghitung hash dari awalan baru dan mencari entri yang cocok. Ini konservatif. Kecocokan awalan parsial tidak memicu hit cache, sehingga dua percakapan yang hampir identik tidak saling mencemari.
Apakah Anthropic, OpenAI, atau Cursor akan merusak ini? Anthropic dan OpenAI tidak terlibat. Cursor dapat menambahkan dukungan model pemikir asli (dalam hal ini proxy menjadi tidak perlu) atau mengubah format permintaan dengan cara yang merusak proxy. Repo dipelihara; perhatikan masalahnya untuk pembaruan kompatibilitas.
Bagaimana hal ini mempengaruhi Anda
Kemampuan pengkodean V4-Pro berada dalam beberapa poin benchmark dari GPT-5.5 (perbandingan DataCamp) dengan harga keluaran kira-kira 1/34. Satu-satunya penghalang bagi pengguna Cursor adalah ketidakcocokan kontrak API seputar reasoning_content. Repositori deepseek-cursor-proxy memecahkan masalah itu dalam kurang dari seratus baris kode yang berarti dan pengaturan lima menit.
Tiga langkah konkret berikutnya:
- Instal proxy dan jalankan uji sampingan terhadap default Cursor Anda saat ini pada lima permintaan tarik nyata dari repositori Anda.
- Audit prompt sistem Cursor Anda untuk konten variabel (stempel waktu, ID sesi) yang merusak hit cache. Pindahkan konten itu ke pesan pengguna.
- Siapkan rangkaian regresi Apidog terhadap
api.deepseek.comsehingga Anda dapat menangkap penyimpangan kontrak tanpa menguji ulang melalui Cursor setiap saat.
Pajak token pemikiran telah dibayar. Harganya tidak.
