Hubungkan DeepSeek V4-Pro ke Cursor dengan pengaturan model kustom yang kompatibel dengan OpenAI, lalu panggilan alat pertama bisa gagal dengan HTTP 400. Penyebabnya: V4-Pro mengembalikan blok reasoning_content, Cursor menghapus bidang itu dari permintaan lanjutan, dan API DeepSeek menolak pesan tool call yang kehilangan rantai penalaran. Proxy open source yxlao/deepseek-cursor-proxy menyimpan reasoning_content dan menyuntikkannya kembali ke permintaan keluar. Setelah proxy berjalan, V4-Pro dapat dipakai dari panel model kustom Cursor seperti model lain, dengan token pemikiran dirender sebagai markdown yang dapat dilipat.
Ringkasan
- Cursor + DeepSeek V4-Pro bisa gagal dengan HTTP 400 karena Cursor menghilangkan
reasoning_contentpada pesan tool call. -
deepseek-cursor-proxyberjalan di antara Cursor dan DeepSeek untuk menyimpan serta menyuntikkan ulangreasoning_content. - Instal via
uvataupip, jalankan proxy, lalu masukkan URL ngrok + API key DeepSeek ke pengaturan model kustom Cursor. - Biaya V4-Pro di Cursor mengikuti tarif API DeepSeek. Lihat Penurunan Harga Permanen DeepSeek V4-Pro 75% untuk konteks harga lengkap.
Mengapa perlu proxy?
DeepSeek V4-Pro mengembalikan dua bagian penting pada respons:
-
content: jawaban biasa. -
reasoning_content: blok penalaran model.
Untuk chat biasa, reasoning_content bisa diabaikan. Masalah muncul saat tool call.
Pada model pemikir DeepSeek, jika percakapan berisi reasoning_content, permintaan lanjutan yang menyertakan hasil tool_calls juga harus membawa blok tersebut. Dengan kata lain, reasoning_content adalah bagian dari state percakapan.
Cursor menggunakan format Chat Completions bergaya OpenAI. Karena reasoning_content bukan bagian dari skema OpenAI, Cursor menghapus bidang itu. Akibatnya, saat Cursor mengirim hasil tool call ke DeepSeek, API mengembalikan HTTP 400 karena state penalaran hilang.
Proxy menyelesaikan mismatch ini dengan menyimpan state yang dihapus Cursor, lalu menambahkannya kembali sebelum permintaan dikirim ke DeepSeek.
Cara kerja proxy
Secara praktis, proxy melakukan tiga hal:
- Menerima request chat dari Cursor pada port lokal, default
9000. - Menyimpan
reasoning_contentdari respons DeepSeek V4-Pro. - Pada request berikutnya, mencari
reasoning_contentyang cocok lalu menyuntikkannya kembali sebelum meneruskan request ke DeepSeek.
Proxy juga membuka tunnel HTTPS via ngrok karena pengaturan model kustom Cursor tidak menerima URL localhost.
Cache disimpan di:
~/.deepseek-cursor-proxy/reasoning_content.sqlite3
Proxy mengindeks percakapan memakai SHA-256 dari awalan percakapan kanonis. Ini membantu mencegah tabrakan antarpercakapan paralel.
Prasyarat
Siapkan hal berikut:
- Cursor 2.0 atau lebih baru.
- API key DeepSeek. Daftar di platform.deepseek.com jika belum punya.
- Python 3.11 atau lebih baru.
- Akun ngrok dengan authtoken.
Jika belum memakai uv, ikuti dokumentasi instalasi uv resmi. Untuk ngrok, gunakan panduan cepat ngrok untuk menambahkan authtoken.
Langkah 1: Instal proxy
Opsi paling cepat adalah uv:
uv tool install deepseek-cursor-proxy
Jika lebih suka pip, kloning repo lalu instal sebagai paket editable:
git clone https://github.com/yxlao/deepseek-cursor-proxy.git
cd deepseek-cursor-proxy
pip install -e .
Verifikasi instalasi:
deepseek-cursor-proxy --help
Jika command tersedia, lanjut ke konfigurasi tunnel.
Langkah 2: Konfigurasi ngrok
Tambahkan authtoken ngrok:
ngrok config add-authtoken KUNCI_AUTH_NGROK_ANDA
Ambil token dari dashboard ngrok.
Pada tier gratis, ngrok biasanya memberi subdomain acak setiap kali tunnel dibuat ulang. Jika Anda sering restart proxy, gunakan domain cadangan dari dashboard ngrok dan berikan ke proxy:
deepseek-cursor-proxy --ngrok-url https://domain-cadangan-anda.ngrok-free.app
Langkah 3: Jalankan proxy
Untuk konfigurasi default:
deepseek-cursor-proxy
Saat pertama kali berjalan, proxy membuat file konfigurasi:
~/.deepseek-cursor-proxy/config.yaml
Contoh output:
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
Flag yang berguna:
# Ganti port lokal
deepseek-cursor-proxy --port 9001
# Cetak request dan response untuk debugging
deepseek-cursor-proxy --verbose
# Jalankan tanpa ngrok
deepseek-cursor-proxy --no-ngrok
# Sembunyikan rendering reasoning di Cursor
deepseek-cursor-proxy --no-display-reasoning
Biarkan proxy berjalan di terminal terpisah. Cursor akan mengirim setiap request model kustom ke endpoint ini.
Langkah 4: Konfigurasi model kustom di Cursor
Buka pengaturan Cursor, lalu masuk ke bagian Models dan tambahkan model kustom.
Isi field berikut:
-
Nama model:
deepseek-v4-pro -
Base URL: URL ngrok dari output proxy +
/v1 -
API key: API key DeepSeek Anda, biasanya diawali
sk-
Contoh Base URL:
https://nama-acak.ngrok-free.app/v1
Catatan penting:
- Nama model diteruskan apa adanya ke DeepSeek.
- Jika ingin varian lebih murah, gunakan
deepseek-v4-flash. - Pastikan Base URL selalu diakhiri
/v1.
Setelah itu, jalankan verifikasi model dari Cursor. Jika berhasil, Cursor akan menampilkan tanda centang hijau.
Jika gagal:
- Pastikan proxy masih berjalan.
- Pastikan URL ngrok masih aktif.
- Pastikan Base URL memakai HTTPS.
- Pastikan suffix
/v1ada. - Cek log proxy untuk memastikan request dari Cursor masuk.
Langkah 5: Uji dengan tool call
Pilih model kustom baru dari panel chat Cursor, lalu gunakan prompt yang memaksa Cursor memakai tool.
Contoh:
Buka README di repo ini, daftar setiap blok kode, dan beri tahu saya mana yang kehilangan petunjuk bahasa.
Alur yang diharapkan:
- Cursor mengirim pesan pengguna ke proxy.
- Proxy meneruskan request pertama ke DeepSeek.
- DeepSeek mengembalikan
content,reasoning_content, dantool_calls. - Proxy menyimpan
reasoning_content. - Cursor menjalankan tool seperti
read_file. - Cursor mengirim hasil tool tanpa
reasoning_content. - Proxy menemukan state penalaran yang cocok dan menyuntikkannya kembali.
- DeepSeek menerima request valid dan mengembalikan jawaban akhir.
Untuk melihat proses injeksi, jalankan proxy dengan:
deepseek-cursor-proxy --verbose
Estimasi biaya penggunaan
V4-Pro di Cursor memakai tarif API DeepSeek, bukan kuota bundle Cursor.
Tarif berikut disebut permanen mulai Mei 2026:
| Tipe token | Tarif per 1 juta token |
|---|---|
| Masukan, cache miss | $0.435 |
| Masukan, cache hit | $0.003625 |
| Keluaran | $0.87 |
Contoh hari penggunaan intensif:
- 50 giliran chat
- 20 rantai tool call
- Rata-rata 8.000 token input per giliran
- Rata-rata 1.500 token output per giliran
Perhitungan kasar:
50 × 8.000 × $0.435 / 1.000.000 = $0.174 input cache miss
50 × 1.500 × $0.87 / 1.000.000 = $0.065 output
Dengan cache hit pada awalan sistem dan konteks, biaya input bisa lebih rendah. Total penggunaan intensif harian berada di kisaran sekitar $1 tergantung pola konteks, cache, dan panjang respons.
Baca juga:
Pengalaman memakai V4-Pro di Cursor
Ada tiga hal yang langsung terasa.
1. Token pemikiran terlihat
Secara default, proxy merender penalaran DeepSeek sebagai blok markdown yang dapat dilipat. Cursor menampilkannya sebagai elemen <details>.
Jika terlalu berisik, matikan rendering:
deepseek-cursor-proxy --no-display-reasoning
Penalaran tetap dikirim ke API; hanya tampilan di Cursor yang disembunyikan.
2. Tool call pertama lebih lambat
V4-Pro adalah model pemikir. Model melakukan reasoning sebelum memutuskan tool apa yang dipanggil.
Ekspektasi praktis:
- Tool call pertama bisa tertunda sekitar 2–4 detik.
- Request lanjutan berjalan normal setelah state tersedia.
3. Refactor multi-file lebih terbantu
Untuk refactor yang melibatkan banyak file, dependency, konfigurasi, atau perubahan signature, rantai penalaran V4-Pro membantu model mempertahankan konteks. Ini berguna saat menggunakan fitur apply/edit Cursor pada perubahan yang tidak sekadar autocomplete lokal.
Panduan terkait:
- Cara menggunakan DeepSeek R1 secara lokal dengan Cursor
- DeepSeek V3 dengan Cursor: langkah demi langkah
Menguji setup DeepSeek dengan Apidog
Integrasi Cursor hanya menguji jalur dari Cursor. Jika V4-Pro juga dipakai di bot CI, agen backend, atau plugin IDE kustom, Anda membutuhkan pengujian API yang bisa diulang.
Dengan Apidog, Anda bisa menguji endpoint DeepSeek secara langsung.
Konfigurasi dasar:
Base URL: https://api.deepseek.com/v1
Auth: Bearer <API_KEY_DEEPSEEK_ANDA>
Lalu impor skema Chat Completions OpenAI dan buat request uji.
Yang bisa diuji:
- Respons emas V4-Pro untuk mendeteksi perubahan output setelah prompt diubah.
- Bentuk
tool_callsdengan JSON Schema assertion. - Perbandingan V4-Pro dan GPT-5.5 pada batch input yang sama.
Mulai dari Unduh Apidog, impor spesifikasi DeepSeek OpenAPI, lalu jalankan skenario uji. Alur kerja yang sama dijelaskan di Cara menggunakan API DeepSeek V4.
Troubleshooting
HTTP 400 setelah tool call pertama
Ini gejala utama yang proxy perbaiki.
Cek:
- Proxy masih berjalan.
- Cursor memakai Base URL proxy, bukan endpoint DeepSeek langsung.
- Base URL diakhiri
/v1. - Log proxy menunjukkan request masuk.
Jalankan ulang dengan verbose:
deepseek-cursor-proxy --verbose
Tunnel ngrok berubah atau reconnect
Pada tier gratis, URL ngrok bisa berubah saat restart. Jika verifikasi Cursor awalnya berhasil lalu gagal setelah restart, salin ulang URL baru ke Cursor.
Solusi yang lebih stabil:
deepseek-cursor-proxy --ngrok-url https://domain-cadangan-anda.ngrok-free.app
Konten reasoning muncul berulang
Ini bisa terjadi jika dua instance proxy memakai cache SQLite yang sama.
Perbaikan:
pkill -f deepseek-cursor-proxy
rm ~/.deepseek-cursor-proxy/reasoning_content.sqlite3
deepseek-cursor-proxy
Rasio cache hit rendah
Cache prompt DeepSeek membutuhkan awalan prompt yang byte-identical. Jika Cursor menyisipkan timestamp, ID sesi, atau konten variabel ke system prompt, cache hit turun.
Yang bisa dilakukan:
- Hindari konten dinamis di system prompt.
- Pindahkan data variabel ke pesan pengguna.
- Gunakan mode Cursor yang meminimalkan system prompt jika tersedia.
Cursor menampilkan “model tidak ditemukan”
Nama model di Cursor harus sama dengan identifier DeepSeek.
Contoh nama model yang disebut valid:
deepseek-v4-pro
deepseek-v4-flash
deepseek-v3-2-pro
deepseek-r1-1
Proxy tidak menerjemahkan nama model. Ia hanya meneruskannya ke DeepSeek.
Alternatif jika tidak ingin memakai proxy
1. Pakai V4-Flash tanpa proxy
V4-Flash bukan model pemikir dan tidak mengembalikan reasoning_content. Karena itu, Cursor dapat memanggilnya langsung tanpa workaround.
Trade-off:
- Integrasi lebih sederhana.
- Tidak mendapatkan peningkatan reasoning seperti V4-Pro.
- Harga disebut $0.14 / $0.28 per juta token.
2. Gunakan IDE assistant lain
Beberapa plugin IDE AI seperti Cline, Continue, atau assistant lain bisa memiliki dukungan native untuk model pemikir dan reasoning_content.
Jika Anda tidak wajib memakai Cursor, mengganti client bisa lebih sederhana daripada menjalankan proxy.
Referensi:
- Asisten pengkodean sumber terbuka terbaik di tahun 2026: alternatif Cursor gratis
- Claude Opus 4.6 dengan Cursor
- Kimi K2.5 dengan Cursor
- Gemini 3.0 Pro dengan Cursor
FAQ
Mengapa Cursor belum mendukung DeepSeek V4-Pro secara native?
Cursor mengikuti skema Chat Completions OpenAI. reasoning_content adalah ekstensi khusus DeepSeek, bukan bagian dari skema OpenAI. Cursor perlu menambahkan handling khusus provider agar field itu diteruskan pada tool call lanjutan.
Apakah proxy berfungsi dengan DeepSeek R1 atau V3.2?
Ya, selama model tersebut mengembalikan reasoning_content dan mensyaratkannya pada follow-up tool call.
Pastikan nama model di Cursor sesuai dengan identifier DeepSeek yang sebenarnya.
Apakah aman membiarkan proxy berjalan?
Ya, tetapi perhatikan cache.
File SQLite berisi konten reasoning mentah dari sesi Anda:
~/.deepseek-cursor-proxy/reasoning_content.sqlite3
Jika mesin dipakai bersama, batasi permission direktori cache. Jika ingin cache hanya di memori, gunakan mode tanpa cache jika tersedia, dengan konsekuensi state hilang saat proxy restart.
Bisakah proxy berjalan tanpa ngrok?
Bisa:
deepseek-cursor-proxy --no-ngrok
Proxy hanya mengekspos:
http://127.0.0.1:9000
Namun, UI model kustom Cursor pada rilis standar biasanya menolak URL http://. Untuk kebanyakan pengguna, ngrok atau alternatif seperti Cloudflare Tunnel dan Tailscale Funnel tetap diperlukan.
Apakah berfungsi dengan Cursor Composer?
Ya. Composer memakai pipeline routing model yang sama. Tool call pertama di Composer tetap membutuhkan reasoning_content, dan proxy memperbaikinya dengan mekanisme yang sama.
Berapa overhead latensi proxy?
Overhead proxy kecil:
- Satu hop lokal.
- Satu lookup SQLite.
- Manipulasi JSON beberapa KB.
Overhead lokal biasanya sekitar 5–15 ms per request. ngrok dapat menambah sekitar 30–80 ms tergantung edge terdekat.
Bagaimana proxy memutuskan cache mana yang dipakai?
Proxy meng-hash awalan percakapan, yaitu bagian sebelum pesan pengguna atau tool terbaru. Hash SHA-256 itu dipetakan ke reasoning_content dari respons DeepSeek terakhir.
Pada request berikutnya, proxy menghitung hash awalan baru dan mencari kecocokan. Jika tidak cocok persis, proxy tidak memakai cache tersebut. Ini mencegah dua percakapan mirip saling mencemari state.
Dampaknya untuk workflow Anda
DeepSeek V4-Pro menawarkan kemampuan coding kompetitif dengan biaya output yang jauh lebih rendah dibanding model frontier tertentu, berdasarkan perbandingan seperti DataCamp. Hambatan utama di Cursor adalah mismatch API pada reasoning_content.
deepseek-cursor-proxy membuat V4-Pro bisa dipakai di Cursor tanpa menunggu dukungan native.
Langkah konkret berikutnya:
- Instal proxy dan uji pada beberapa pull request nyata di repo Anda.
- Bandingkan hasilnya dengan model default Cursor pada task yang sama.
- Audit system prompt agar tidak berisi timestamp atau ID sesi yang merusak cache hit.
- Siapkan regresi API di Apidog terhadap
api.deepseek.comagar perubahan kontrak atau output bisa terdeteksi tanpa selalu menguji lewat Cursor.

Top comments (0)