DEV Community

Cover image for Cara Menggunakan DeepSeek V4-Pro dengan Cursor: Panduan Setup Reasoning Proxy (2026)
Walse
Walse

Posted on • Originally published at apidog.com

Cara Menggunakan DeepSeek V4-Pro dengan Cursor: Panduan Setup Reasoning Proxy (2026)

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.

Coba Apidog hari ini

Ringkasan

  • Cursor + DeepSeek V4-Pro bisa gagal dengan HTTP 400 karena Cursor menghilangkan reasoning_content pada pesan tool call.
  • deepseek-cursor-proxy berjalan di antara Cursor dan DeepSeek untuk menyimpan serta menyuntikkan ulang reasoning_content.
  • Instal via uv atau pip, 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:

  1. Menerima request chat dari Cursor pada port lokal, default 9000.
  2. Menyimpan reasoning_content dari respons DeepSeek V4-Pro.
  3. Pada request berikutnya, mencari reasoning_content yang 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
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

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 .
Enter fullscreen mode Exit fullscreen mode

Verifikasi instalasi:

deepseek-cursor-proxy --help
Enter fullscreen mode Exit fullscreen mode

Jika command tersedia, lanjut ke konfigurasi tunnel.

Langkah 2: Konfigurasi ngrok

Tambahkan authtoken ngrok:

ngrok config add-authtoken KUNCI_AUTH_NGROK_ANDA
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

Langkah 3: Jalankan proxy

Untuk konfigurasi default:

deepseek-cursor-proxy
Enter fullscreen mode Exit fullscreen mode

Saat pertama kali berjalan, proxy membuat file konfigurasi:

~/.deepseek-cursor-proxy/config.yaml
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

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:

  1. Pastikan proxy masih berjalan.
  2. Pastikan URL ngrok masih aktif.
  3. Pastikan Base URL memakai HTTPS.
  4. Pastikan suffix /v1 ada.
  5. 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:

  1. Cursor mengirim pesan pengguna ke proxy.
  2. Proxy meneruskan request pertama ke DeepSeek.
  3. DeepSeek mengembalikan content, reasoning_content, dan tool_calls.
  4. Proxy menyimpan reasoning_content.
  5. Cursor menjalankan tool seperti read_file.
  6. Cursor mengirim hasil tool tanpa reasoning_content.
  7. Proxy menemukan state penalaran yang cocok dan menyuntikkannya kembali.
  8. DeepSeek menerima request valid dan mengembalikan jawaban akhir.

Untuk melihat proses injeksi, jalankan proxy dengan:

deepseek-cursor-proxy --verbose
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

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:

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>
Enter fullscreen mode Exit fullscreen mode

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_calls dengan 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
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

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:

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
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

Proxy hanya mengekspos:

http://127.0.0.1:9000
Enter fullscreen mode Exit fullscreen mode

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:

  1. Instal proxy dan uji pada beberapa pull request nyata di repo Anda.
  2. Bandingkan hasilnya dengan model default Cursor pada task yang sama.
  3. Audit system prompt agar tidak berisi timestamp atau ID sesi yang merusak cache hit.
  4. Siapkan regresi API di Apidog terhadap api.deepseek.com agar perubahan kontrak atau output bisa terdeteksi tanpa selalu menguji lewat Cursor.

Top comments (0)