DEV Community

Cover image for DeepSeek V4-Pro mit Cursor nutzen: Anleitung für Reasoning Proxy Setup (2026)
Emre Demir
Emre Demir

Posted on • Originally published at apidog.com

DeepSeek V4-Pro mit Cursor nutzen: Anleitung für Reasoning Proxy Setup (2026)

Verbinden Sie DeepSeek V4-Pro direkt mit Cursor über die OpenAI-kompatiblen Custom-Model-Einstellungen, schlägt der erste Tool-Aufruf oft mit HTTP 400 fehl. Ursache: V4-Pro gibt neben content auch reasoning_content zurück. Cursor entfernt dieses Feld in Folgeanfragen, DeepSeek erwartet es aber weiterhin bei Tool-Call-Konversationen. Der Open-Source-Proxy yxlao/deepseek-cursor-proxy speichert reasoning_content zwischen und fügt es vor der Weiterleitung an DeepSeek wieder ein.

Testen Sie Apidog noch heute

TL;DR

  • Cursor + DeepSeek V4-Pro führt ohne Workaround bei Tool-Aufrufen zu 400-Fehlern.
  • Grund: Cursor entfernt reasoning_content, DeepSeek benötigt es aber als Teil des Konversationszustands.
  • deepseek-cursor-proxy sitzt zwischen Cursor und DeepSeek, cached reasoning_content und injiziert es in Folgeanfragen.
  • Setup: Proxy installieren, ngrok konfigurieren, Proxy starten, ngrok-URL in Cursor als Custom Model eintragen.
  • V4-Pro kostet laut DeepSeek-API-Raten etwa $0.87 pro 1 Mio. Ausgabetokens. Details: DeepSeek V4-Pro 75% Preissenkung ist jetzt dauerhaft.

Warum Sie einen Proxy benötigen

DeepSeek V4-Pro ist ein Denkmodell. Jede Antwort kann zwei Felder enthalten:

{
  "content": "Antwort für den Benutzer",
  "reasoning_content": "interner Reasoning-Block"
}
Enter fullscreen mode Exit fullscreen mode

Bei einfachem Chat ist das unkritisch. Problematisch wird es bei Tool-Aufrufen:

  1. Cursor sendet eine Anfrage an DeepSeek.
  2. DeepSeek antwortet mit reasoning_content und einem Tool-Call.
  3. Cursor führt das Tool aus.
  4. Cursor sendet das Tool-Ergebnis zurück, entfernt dabei aber reasoning_content.
  5. DeepSeek lehnt die Folgeanfrage mit HTTP 400 ab.

Das ist keine klassische Cursor-Fehlfunktion, sondern eine Schema-Inkompatibilität: Cursor orientiert sich am OpenAI-Chat-Completions-Format, während DeepSeek für Denkmodelle zusätzliche Felder erwartet.

Der Proxy löst genau diese Lücke.

Was der Proxy macht

deepseek-cursor-proxy übernimmt drei Aufgaben:

  • Er lauscht lokal auf einem Port, standardmäßig 9000.
  • Er speichert reasoning_content aus DeepSeek-Antworten in SQLite.
  • Er fügt den passenden Reasoning-Block in Folgeanfragen wieder ein, bevor sie an DeepSeek gehen.

Zusätzlich öffnet der Proxy einen ngrok-Tunnel, weil Cursor für Custom Models eine HTTPS-URL erwartet und localhost normalerweise nicht akzeptiert.

Der Cache liegt standardmäßig hier:

~/.deepseek-cursor-proxy/reasoning_content.sqlite3
Enter fullscreen mode Exit fullscreen mode

Der Proxy indiziert Einträge über einen SHA-256-Hash des kanonischen Konversationspräfixes. Dadurch kollidieren parallele Chats nicht.

Voraussetzungen

Sie benötigen:

  • Cursor 2.0 oder neuer
  • DeepSeek API-Schlüssel von platform.deepseek.com
  • Python 3.11 oder neuer
  • uv oder pip
  • ngrok-Konto mit Authtoken

Installationshilfen:

Schritt 1: Proxy installieren

Empfohlen ist die Installation mit uv:

uv tool install deepseek-cursor-proxy
Enter fullscreen mode Exit fullscreen mode

Alternativ mit pip aus dem Repository:

git clone https://github.com/yxlao/deepseek-cursor-proxy.git
cd deepseek-cursor-proxy
pip install -e .
Enter fullscreen mode Exit fullscreen mode

Prüfen Sie danach, ob der Befehl verfügbar ist:

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

Schritt 2: ngrok konfigurieren

Cursor benötigt eine öffentliche HTTPS-URL. Hinterlegen Sie zuerst Ihr ngrok-Authtoken:

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

Das Token finden Sie im ngrok-Dashboard.

Wenn Sie den Proxy häufig neu starten, ist eine reservierte ngrok-Domain praktischer. Diese können Sie später so übergeben:

deepseek-cursor-proxy --ngrok-url https://your-reserved.ngrok-free.app
Enter fullscreen mode Exit fullscreen mode

Schritt 3: Proxy starten

Starten Sie den Proxy mit den Standardwerten:

deepseek-cursor-proxy
Enter fullscreen mode Exit fullscreen mode

Beim ersten Start erstellt der Proxy seine Konfiguration und gibt die relevanten URLs aus:

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

Wichtige Flags:

deepseek-cursor-proxy --port 9001
Enter fullscreen mode Exit fullscreen mode

Ändert den lokalen Port.

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

Zeigt Anfrage- und Antwortkörper. Nützlich zum Debuggen.

deepseek-cursor-proxy --no-ngrok
Enter fullscreen mode Exit fullscreen mode

Startet nur lokal ohne Tunnel.

deepseek-cursor-proxy --no-display-reasoning
Enter fullscreen mode Exit fullscreen mode

Blendet die sichtbaren Reasoning-Blöcke in Cursor aus. Die technische Weiterleitung bleibt aktiv.

Lassen Sie den Proxy in einem separaten Terminal laufen, solange Cursor ihn verwenden soll.

Schritt 4: Cursor konfigurieren

Öffnen Sie in Cursor:

Settings → Models → Add custom model
Enter fullscreen mode Exit fullscreen mode

Tragen Sie Folgendes ein:

Feld Wert
Modellname deepseek-v4-pro
Basis-URL https://random-name.ngrok-free.app/v1
API-Schlüssel Ihr DeepSeek API-Key, beginnend mit sk-

Wichtig: Die Basis-URL muss mit /v1 enden.

Für die günstigere Variante können Sie statt deepseek-v4-pro auch deepseek-v4-flash verwenden, sofern dieses Modell in Ihrem DeepSeek-Setup verfügbar ist.

Cursor führt anschließend eine Modellprüfung aus. Wenn diese fehlschlägt:

  • Prüfen Sie, ob der Proxy noch läuft.
  • Kopieren Sie die ngrok-URL erneut.
  • Stellen Sie sicher, dass /v1 angehängt ist.
  • Aktivieren Sie testweise --verbose.

Schritt 5: Tool-Aufruf testen

Wählen Sie das neue Custom Model im Cursor-Chat aus.

Nutzen Sie dann einen Prompt, der sicher ein Tool auslöst, zum Beispiel:

Öffnen Sie die README in diesem Repository, listen Sie jeden Codeblock auf und sagen Sie mir, bei welchen Codeblöcken Sprachhinweise fehlen.

Erwarteter Ablauf:

  1. Cursor sendet die Anfrage an den Proxy.
  2. Der Proxy leitet sie an DeepSeek weiter.
  3. DeepSeek antwortet mit Text, reasoning_content und einem Tool-Call.
  4. Der Proxy cached reasoning_content.
  5. Cursor führt das Tool aus.
  6. Cursor sendet das Tool-Ergebnis ohne reasoning_content.
  7. Der Proxy fügt den gecachten Reasoning-Block wieder ein.
  8. DeepSeek akzeptiert die Anfrage und liefert die finale Antwort.

Wenn Sie den Proxy mit --verbose starten, sehen Sie die Injektion in den Logs.

Kosten in der Praxis

V4-Pro in Cursor nutzt die DeepSeek-API-Raten, nicht Cursors gebündelte Modellpreise.

Stand Mai 2026:

Token-Typ Rate pro 1 Mio. Tokens
Eingabe, Cache-Miss $0.435
Eingabe, Cache-Hit $0.003625
Ausgabe $0.87

Beispielrechnung für einen arbeitsreichen Cursor-Tag:

  • 50 Chat-Runden
  • durchschnittlich 8.000 Eingabetokens pro Runde
  • durchschnittlich 1.500 Ausgabetokens pro Runde

Worst Case für Eingabe:

50 × 8.000 × $0.435 / 1.000.000 = $0.174
Enter fullscreen mode Exit fullscreen mode

Ausgabe:

50 × 1.500 × $0.87 / 1.000.000 = $0.06525
Enter fullscreen mode Exit fullscreen mode

Mit Cache-Hits sinken die Eingabekosten weiter. Die vollständige Einordnung finden Sie hier: DeepSeek V4-Pro 75% Preissenkung ist jetzt dauerhaft.

Weitere DeepSeek-Referenzen:

Verhalten in Cursor

Mit V4-Pro über den Proxy fallen drei Dinge auf.

1. Reasoning-Blöcke können sichtbar sein

Standardmäßig rendert der Proxy DeepSeeks Reasoning als einklappbaren Markdown-Block:

<details>
  <summary>Reasoning</summary>
  ...
</details>
Enter fullscreen mode Exit fullscreen mode

Zum Ausblenden:

deepseek-cursor-proxy --no-display-reasoning
Enter fullscreen mode Exit fullscreen mode

2. Der erste Tool-Aufruf ist langsamer

V4-Pro denkt vor dem Tool-Aufruf. Rechnen Sie mit zusätzlicher Latenz, bevor Cursor das erste Tool startet.

3. Multi-Datei-Refactorings profitieren

Bei komplexeren Änderungen wie Umbenennungen, Signaturänderungen oder konfigurationsgetriebenen Refactorings kann die Reasoning-Kette helfen, Abhängigkeiten über mehrere Dateien hinweg konsistenter zu behandeln.

Für ältere DeepSeek-Cursor-Setups:

DeepSeek-Setup mit Apidog testen

Die Cursor-Integration testet nur den Pfad innerhalb von Cursor. Wenn Sie V4-Pro zusätzlich für CI-Bots, Backend-Agenten oder IDE-Plugins verwenden, sollten Sie den API-Endpunkt separat reproduzierbar testen.

Mit Apidog können Sie eine Umgebung für DeepSeek anlegen:

Base URL: https://api.deepseek.com/v1
Auth: Bearer YOUR_DEEPSEEK_API_KEY
Enter fullscreen mode Exit fullscreen mode

Danach können Sie:

  • stabile Referenzantworten für Prompts speichern,
  • tool_calls per JSON-Schema validieren,
  • V4-Pro und andere Modelle mit denselben Eingaben vergleichen,
  • Änderungen an System-Prompts reproduzierbar testen.

Startpunkt: Apidog herunterladen, DeepSeek-OpenAPI-Schema importieren und eine Testumgebung gegen api.deepseek.com anlegen.

Der gleiche Workflow wird hier beschrieben: Wie man die DeepSeek V4 API verwendet.

Häufige Fallstricke

400-Fehler nach dem ersten Tool-Aufruf

Prüfen Sie:

  • Läuft der Proxy?
  • Zeigt Cursor auf die ngrok-URL des Proxys?
  • Endet die Basis-URL mit /v1?
  • Sieht der Proxy eingehende Requests?

Debugging:

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

ngrok-URL ändert sich

Kostenlose ngrok-Tunnel rotieren bei Neustarts. Wenn Cursor plötzlich nicht mehr verbindet, aktualisieren Sie die Basis-URL oder nutzen Sie eine reservierte Domain:

deepseek-cursor-proxy --ngrok-url https://your-reserved.ngrok-free.app
Enter fullscreen mode Exit fullscreen mode

Reasoning wird doppelt angezeigt

Das kann passieren, wenn zwei Proxy-Instanzen denselben SQLite-Cache verwenden.

Fix:

pkill -f deepseek-cursor-proxy
rm ~/.deepseek-cursor-proxy/reasoning_content.sqlite3
deepseek-cursor-proxy
Enter fullscreen mode Exit fullscreen mode

Cache-Hit-Rate ist niedrig

DeepSeeks Prompt-Cache benötigt byte-identische Präfixe. Wenn Cursor Zeitstempel, Sitzungs-IDs oder dynamische System-Prompt-Anteile einfügt, sinkt die Trefferquote.

Mögliche Gegenmaßnahme: variable Informationen in die Benutzernachricht statt in den System-Prompt verschieben.

Cursor meldet „Modell nicht gefunden“

Der Modellname wird nicht übersetzt. Er muss einem echten DeepSeek-Modellbezeichner entsprechen, zum Beispiel:

deepseek-v4-pro
deepseek-v4-flash
deepseek-v3-2-pro
deepseek-r1-1
Enter fullscreen mode Exit fullscreen mode

Alternativen zum Proxy

V4-Flash direkt verwenden

V4-Flash ist kein Denkmodell und gibt kein reasoning_content zurück. Dadurch funktioniert es einfacher mit Cursor, bietet aber nicht denselben Reasoning-Mechanismus.

Andere IDE-Agenten nutzen

Cline, Continue oder andere KI-IDE-Plugins können Denkmodell-Felder teilweise nativer behandeln. Wenn Sie nicht zwingend an Cursor gebunden sind, kann ein anderes Tool einfacher sein.

Siehe auch: Beste Open-Source-Coding-Assistenten 2026: kostenlose Cursor-Alternativen.

Weitere Cursor-Modellintegrationen:

FAQ

Warum unterstützt Cursor DeepSeek V4-Pro nicht nativ?

Cursor folgt dem OpenAI-Chat-Completions-Schema. reasoning_content ist eine DeepSeek-spezifische Erweiterung. Cursor müsste dieses Feld anbieterspezifisch erhalten und weiterreichen.

Funktioniert der Proxy mit DeepSeek R1 oder V3.2?

Ja, sofern das Modell reasoning_content zurückgibt und dieses Feld bei Tool-Call-Folgeanfragen erwartet.

Ist der Proxy sicher?

Der Proxy leitet Ihren DeepSeek API-Key weiter und speichert Reasoning-Inhalte lokal in SQLite. Auf gemeinsam genutzten Maschinen sollten Sie die Berechtigungen des Cache-Verzeichnisses einschränken.

Kann ich den Proxy ohne ngrok verwenden?

Ja:

deepseek-cursor-proxy --no-ngrok
Enter fullscreen mode Exit fullscreen mode

Dann ist der Proxy nur lokal erreichbar:

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

Cursor akzeptiert in Standardversionen jedoch meist keine http://localhost-URLs für Custom Models. Deshalb ist ngrok oder ein ähnlicher HTTPS-Tunnel praktisch.

Funktioniert das mit Cursor Composer?

Ja. Composer nutzt dieselbe Modell-Routing-Pipeline wie das Chat-Panel. Tool-Aufrufe lösen dieselbe reasoning_content-Anforderung aus.

Wie groß ist der Latenz-Overhead?

Der Proxy fügt einen lokalen Netzwerk-Hop, eine SQLite-Abfrage und JSON-Manipulation hinzu. Der relevante Overhead entsteht meist eher durch das Denkmodell selbst und den HTTPS-Tunnel als durch den Proxy.

Wie entscheidet der Proxy, was gecacht wird?

Er hasht das Konversationspräfix, speichert den Hash zusammen mit dem letzten reasoning_content und sucht bei Folgeanfragen den passenden Eintrag. Teilweise ähnliche Konversationen werden nicht vermischt.

Fazit

DeepSeek V4-Pro kann in Cursor genutzt werden, wenn Sie die reasoning_content-Lücke schließen. Der schnellste Weg ist:

  1. deepseek-cursor-proxy installieren.
  2. ngrok einrichten.
  3. Proxy starten.
  4. ngrok-URL mit /v1 als Cursor Custom Model eintragen.
  5. Einen echten Tool-Aufruf testen.

Wenn Sie V4-Pro nicht nur in Cursor, sondern auch in Agenten oder Backend-Workflows einsetzen, richten Sie zusätzlich eine Apidog-Testsuite gegen api.deepseek.com ein. So erkennen Sie Prompt- und Schema-Abweichungen, ohne jedes Mal manuell über Cursor testen zu müssen.

Top comments (0)