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.
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-proxysitzt zwischen Cursor und DeepSeek, cachedreasoning_contentund 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.87pro 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"
}
Bei einfachem Chat ist das unkritisch. Problematisch wird es bei Tool-Aufrufen:
- Cursor sendet eine Anfrage an DeepSeek.
- DeepSeek antwortet mit
reasoning_contentund einem Tool-Call. - Cursor führt das Tool aus.
- Cursor sendet das Tool-Ergebnis zurück, entfernt dabei aber
reasoning_content. - 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_contentaus 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
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
Alternativ mit pip aus dem Repository:
git clone https://github.com/yxlao/deepseek-cursor-proxy.git
cd deepseek-cursor-proxy
pip install -e .
Prüfen Sie danach, ob der Befehl verfügbar ist:
deepseek-cursor-proxy --help
Schritt 2: ngrok konfigurieren
Cursor benötigt eine öffentliche HTTPS-URL. Hinterlegen Sie zuerst Ihr ngrok-Authtoken:
ngrok config add-authtoken YOUR_NGROK_AUTHTOKEN
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
Schritt 3: Proxy starten
Starten Sie den Proxy mit den Standardwerten:
deepseek-cursor-proxy
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
Wichtige Flags:
deepseek-cursor-proxy --port 9001
Ändert den lokalen Port.
deepseek-cursor-proxy --verbose
Zeigt Anfrage- und Antwortkörper. Nützlich zum Debuggen.
deepseek-cursor-proxy --no-ngrok
Startet nur lokal ohne Tunnel.
deepseek-cursor-proxy --no-display-reasoning
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
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
/v1angehä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:
- Cursor sendet die Anfrage an den Proxy.
- Der Proxy leitet sie an DeepSeek weiter.
- DeepSeek antwortet mit Text,
reasoning_contentund einem Tool-Call. - Der Proxy cached
reasoning_content. - Cursor führt das Tool aus.
- Cursor sendet das Tool-Ergebnis ohne
reasoning_content. - Der Proxy fügt den gecachten Reasoning-Block wieder ein.
- 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
Ausgabe:
50 × 1.500 × $0.87 / 1.000.000 = $0.06525
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>
Zum Ausblenden:
deepseek-cursor-proxy --no-display-reasoning
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
Danach können Sie:
- stabile Referenzantworten für Prompts speichern,
-
tool_callsper 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
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
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
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
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
Dann ist der Proxy nur lokal erreichbar:
http://127.0.0.1:9000
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:
-
deepseek-cursor-proxyinstallieren. - ngrok einrichten.
- Proxy starten.
- ngrok-URL mit
/v1als Cursor Custom Model eintragen. - 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)