Alle Seiten
Auf dieser Seite

DeepSeek Neu in 0.9.17

Der DeepSeek-Provider betreibt DeepSeeks Modelle mit deinem eigenen DeepSeek-API-Key. DeepSeek hat keinen eigenen Agent, daher führt OAR Claude Code auf dem Rechner des Relays aus und richtet es auf DeepSeeks Anthropic-kompatible API. Der Agent arbeitet im Ordner der Konversation mit den Tools von Claude Code; DeepSeeks Modell übernimmt das Denken. Turns werden dem DeepSeek-Konto berechnet, zu dem der Key gehört.

Weil der Agent Claude Code ist, hat ein DeepSeek-Chat das meiste, was ein Claude-Chat hat: alle vier Relay-Modi, Rückfrage-Karten, das Plan-Board, Subagents, Nachsteuern und Hintergrund-Tasks. Die Tabelle aller Provider steht unter Provider im Überblick.

Der API-Key #

Du brauchst einen DeepSeek-API-Key und sonst nichts: Es gibt keine CLI zu installieren, und kein Claude-Konto ist beteiligt. Öffne Settings → Providers → DeepSeek (Einstellungen → Provider → DeepSeek), den letzten Unter-Tab.

Element Standard Was es tut
Enable DeepSeek for New Chat model selection (DeepSeek in der Modellauswahl für neue Chats aktivieren) an, sobald ein Key gespeichert ist Bietet DeepSeek in New Chat (Neuer Chat) an. Es lässt sich nicht ankreuzen, bevor ein Key gespeichert ist, und gilt, sobald du es umschaltest.
Das Key-Feld (DeepSeek API key…) leer Dein Key. Sobald ein Key gespeichert ist, zeigt das Feld Saved API key (enter to replace). Lass es leer, um den gespeicherten Key zu behalten.
Default model (Standardmodell) deepseek-flash Das Modell, mit dem eine neue DeepSeek-Konversation startet. Siehe Modelle.
Commit attribution (Commit-Zuschreibung) OAR Was in Commits steht. Siehe Commit-Zuschreibung.
Monthly budget (optional) (Monatsbudget, optional), Budget currency (Budgetwährung) leer, USD ($) Ein Budget-Balken auf der Verbrauchskarte. Siehe Monatsbudget.
Starting balance (optional) (Startguthaben, optional) leer Wovon aus der Guthaben-Balken misst. Siehe Startguthaben und Aufladungen.
Advanced → Base URL (Erweitert → Basis-URL) leer Ein anderer Endpunkt statt DeepSeeks eigenem. Siehe Ein anderer Endpunkt.
Save DeepSeek settings (DeepSeek-Einstellungen speichern) Speichert alle Felder oben. Das erste Speichern eines Keys schaltet DeepSeek auch ein.
Remove saved key (Gespeicherten Key entfernen) Fragt Remove the saved DeepSeek API key?, löscht dann den Key, die gefundenen Modelle und deine Auswahl in Select Models (Modelle auswählen) und schaltet DeepSeek aus. Das Standardmodell bleibt.
Import usage export (Verbrauchsexport importieren) Am Fuß des Tabs: die beiden Dateien von DeepSeeks Verbrauchsexport, Amount file (Betragsdatei) und Cost file (Kostendatei), für die Verbrauchskarte. Siehe Verbrauchsexport importieren.

Die Zeile unter den Feldern sagt, wo du stehst:

Status Bedeutung
Not configured. New conversations use GitHub Copilot. Kein Key ist gespeichert.
API key saved but currently disabled. Enable it to allow DeepSeek selection in New Chat. Ein Key ist gespeichert und der Schalter ist aus.
DeepSeek is enabled. Select DeepSeek in New Chat to use it. Bereit.

Starte dann eine Konversation wie gewohnt: Wähl in New Chat DeepSeek. Siehe Eine Konversation starten.

Wo der Key liegt und wer ihn sieht #

  • Der Key wird in der Datenbank des Relays auf dessen Rechner gespeichert. Das Panel zeigt ihn nie wieder an, und er wird nie an einen Browser geschickt: Die Einstellungen sagen nur, dass ein Key gespeichert ist.
  • Er erreicht nur die Worker von DeepSeek-Chats. Wo Sessions unter tmux laufen, kommt er über eine Datei zu ihnen, die nur der Benutzer des Relays lesen kann. Im Worker wird er zum Token von Claude Code für DeepSeeks Endpunkt.
  • Er wird an die Basis-URL geschickt und nirgendwohin sonst: an DeepSeeks API oder an die Adresse unter Advanced. Wenn die eigenen Anfragen des Relays an DeepSeek (die Modellliste, das Guthaben) fehlschlagen, ist der Key aus dem Fehlertext entfernt.
  • Er lässt sich nicht über die Umgebung setzen: Ein DEEPSEEK_API_KEY in der eigenen Umgebung des Relays wird nicht weitergereicht, die Worker bekommen den Key aus dem Panel.
  • Der Agent kann ihn lesen. Claude Code hält den Key in seiner Umgebung, daher können die Befehle, die der Agent ausführt, ihn sehen, wie bei jedem Key, den eine CLI hält. Das Relay ersetzt den Key durch [redacted] in allem, was ein Session-Worker sendet (Antworten, Überlegungen, Tool-Aktivität, Subagent-Text, Rückfragen, Task-Ausgabe), bevor es das speichert, anzeigt oder loggt, und der DeepSeek-Worker tut dasselbe in seinem eigenen Log. Wo ein Text abgeschnitten wurde, fällt auch der darin enthaltene Teil des Keys weg, ab 8 Zeichen. Ein Key, den du geändert oder entfernt hast, bleibt geschwärzt, bis das Relay neu startet. Task-Ausgabe, die das Relay aus der Datei eines Tasks liest, wird anhand der Form von Keys und langen Tokens bereinigt, nicht anhand des Texts des gespeicherten Keys. Das hält den Key aus dem heraus, was OAR speichert und anzeigt. Gegen den Agent ist es keine Sperre: Er kann den Text vor der Ausgabe ändern, die lokale API des Relays selbst aufrufen oder die Datenbank des Relays lesen.

Den Key speichern, ändern und entfernen #

  • Der Key muss 8 bis 512 Zeichen lang sein, ohne Leerzeichen. Sonst schlägt das Speichern mit The DeepSeek API key has an invalid format fehl.
  • Das Speichern eines Keys, während DeepSeek an ist, fragt DeepSeek nach seinen Modellen (siehe Modelle). Schlägt das fehl, sagt der Hinweis warum, und die Liste fällt zurück, wie dort beschrieben.
  • Das Speichern eines anderen Keys leert die gefundenen Modelle und stoppt die laufenden DeepSeek-Worker, auch einen mitten in einem Turn; ändere den Key also zwischen Turns. Die nächste Nachricht startet sie mit dem neuen Key.
  • Das Entfernen des Keys wird abgelehnt, solange eine DeepSeek-Konversation eine Nachricht gesendet oder eine eingereiht hat: Cannot remove the DeepSeek API key while N DeepSeek conversation(s) still exist. Switch DeepSeek off for new conversations instead. Geht es durch, wechseln Konversationen, die noch keine Nachricht gesendet haben, zurück zu Copilot. DeepSeek auszuschalten verschiebt nichts; es nimmt DeepSeek nur aus New Chat heraus.

Modelle #

Modell Angezeigt als Bilder
deepseek-flash (der Standard) DeepSeek Flash Ja
deepseek-v4-pro DeepSeek V4 Pro Nein

Woher die Liste kommt. Das Relay fragt DeepSeeks GET /models mit deinem Key ab und behält die IDs, die mit deepseek- beginnen. Es fragt, wenn du einen Key speicherst, wenn du DeepSeek wieder einschaltest, wenn du die Basis-URL änderst, und bei Refresh (Aktualisieren) in 🤗 Select Models. Eine Anfrage gibt nach 10 Sekunden auf. Bis eine Liste gelesen wurde, bieten die Auswahlen deepseek-flash und deepseek-v4-pro an. Ein fehlgeschlagener Abruf, oder einer, der kein DeepSeek-Modell auflistet, behält die Liste, die das Relay hatte; nach Refresh lautet der Hinweis DeepSeek model discovery failed. Cached DeepSeek models were kept: ….

Welche angezeigt werden. 🤗 Select Models → DeepSeek legt fest, welche Modelle der Eingabebereich anbietet; 💾 Save enabled models (Aktivierte Modelle speichern) behält die Auswahl. Ohne Auswahl werden alle angeboten. Das Default model wird immer angeboten und lässt sich nicht abwählen.

Pro Nachricht. Eine Konversation kann ihr Modell zwischen Turns wechseln. Ein Wechsel startet das Claude Code der Konversation vor der nächsten Nachricht mit dem neuen Modell neu; die Konversation geht weiter, wo sie war. Ein Modell, das das Relay nicht anbietet, wird mit DeepSeek model "…" is not available abgelehnt.

Bilder. DeepSeek V4 Pro nimmt keine Bilder an, und ebenso wenig ein Modell, das OAR nicht kennt. Ein solches Modell bekommt jedes angehängte Bild stattdessen als Dateipfad. Sobald eine Konversation Bilder enthält, wird ein Wechsel zu einem solchen Modell abgelehnt, weil der Verlauf, den es fortsetzt, die Anfrage scheitern ließe: DeepSeek V4 Pro takes no images, and this conversation already has some. Stay on DeepSeek Flash, or start a new DeepSeek conversation for DeepSeek V4 Pro.

Reasoning-Effort #

DeepSeeks Modelle denken immer. Die Effort-Auswahl bietet an, wie viel: low, high oder max, dieselben drei für jedes Modell. high ist der Standard.

Es gibt kein none: Claude Code bittet DeepSeek nie, das Denken abzuschalten, daher bietet OAR es nicht an, und der 🧠-Dialog hat für DeepSeek keine Elemente für Thinking (Denken).

Der Effort wird beim Start von Claude Code gesetzt. Ein anderer Effort startet daher das Claude Code der Konversation zwischen Turns neu, wie ein Modellwechsel, und die Konversation geht weiter, wo sie war.

Ein Effort, der von woanders kommt, z. B. von einem Agent auf einem anderen Relay, wird auf DeepSeeks Stufen abgebildet: none und minimal laufen als low, medium und xhigh als high, ultra und ultracode als max. Eine Nachricht ohne Effort, oder mit einem Namen, für den DeepSeek keine Stufe hat, behält den Effort der Konversation. Eine neue Konversation ohne Effort startet mit high; eine, die mit einem Namen erstellt wird, für den DeepSeek keine Stufe hat, startet mit low.

Der Ordner und die Session #

Ein DeepSeek-Chat führt denselben Worker aus wie ein Claude-Chat, aufgebaut auf dem Claude Agent SDK, auf dem Rechner des Relays: einen pro Konversation, im Arbeitsordner der Konversation. Sein Claude Code ist der mit dem Agent SDK gebündelte Build, oder die claude-Binary, die das Relay für Claude-Chats verwendet, wenn eine gesetzt ist (CLAUDE_CODE_EXECUTABLE, das eine CLI-Installation aus dem Unter-Tab Claude setzt). Claude Code wird auf <base URL>/anthropic gerichtet, DeepSeeks Anthropic-kompatible API. Der erste Turn eines Workers zeigt die Aktivitätszeile Starting Claude Code for DeepSeek (cold start)….

Ein eigener Konfigurationsordner. Claude Code in einem DeepSeek-Chat hält seinen Zustand, seine Sessions und Verläufe in deepseek-claude im Datenordner des Relays, nur für den Benutzer des Relays lesbar. Es verwendet nie ~/.claude (oder CLAUDE_CONFIG_DIR): Die Claude-Anmeldung des Rechners, deine globalen Einstellungen, Skills, Plugins und MCP-Server sind nicht erreichbar. Die eigene CLAUDE.md und der .claude/-Ordner eines Repositorys gelten weiterhin, nur können sie DeepSeeks Datenverkehr nicht umleiten.

Keine Claude-Anmeldung. Der Worker übergibt Claude Code den DeepSeek-Key und nichts von der Claude-Konfiguration des Rechners. Ein Claude-Login-Token in der Umgebung des Relays erreicht es nicht. OAR schaltet auch den eigenen Datenverkehr von Claude Code zu Anthropic ab, etwa Update-Prüfungen und Telemetrie.

Was wie bei Claude funktioniert. Diese Funktionen kommen vom selben Runner wie Claude-Chats und verhalten sich wie unter Claude beschrieben:

  • alle vier Relay-Modi; plan endet mit dem Board Plan ready for review (Plan bereit zur Prüfung);
  • Tools auf dem Rechner des Relays, Rückfrage-Karten mit Mehrfachauswahl, die Subagent-Ansicht, Hintergrund-Tasks in der Task-Leiste, Stop (Stoppen) und Nachsteuern, wobei der Senden-Button während eines Turns Steer (Nachsteuern) zeigt;
  • OARs Agent-Tools preview und relay_tool;
  • der Button Session root (Session-Stammordner) im Dateibrowser, der den Ordner der Session unter deepseek-claude/projects öffnet;
  • das Limit für Hintergrundbefehle aus dem Unter-Tab Claude;
  • das Fortsetzen nach einem Neustart, anhand der gespeicherten Session-ID. Das Löschen einer DeepSeek-Konversation löscht ihre Claude-Code-Session in deepseek-claude; die Ausgaben, die sie verursacht hat, bleiben in den Summen der Verbrauchskarte.

Subagents bleiben beim Modell des Chats. Claude Code benennt seine Modelle mit Aliasen. OAR legt sie fest: Ein Subagent, den der Agent als „opus“, „sonnet“ oder „fable“ anfordert, oder einer ohne Modell, läuft auf dem Modell der Konversation; einer, der als „haiku“ angefordert wird, läuft auf DeepSeek Flash. Die eigenen kleinen Aufrufe von Claude Code, etwa Titel und Zusammenfassungen, gehen ebenfalls an DeepSeek Flash. Das Badge eines Subagents nennt das DeepSeek-Modell. Ein Modellwechsel startet Claude Code neu, damit die Festlegungen ihm folgen.

Kontext und Kompaktierung. DeepSeeks Modelle haben ein Fenster von 1.048.576 Tokens. Der Chip Context window (Kontextfenster) im Eingabebereich zeigt dieses eine Fenster, als 1.05M; es gibt nichts zu wählen. Der 🧠-Dialog zeigt den Kontext so, wie Claude Code ihn meldet. Ein DeepSeek-Chat kompaktiert bei 400K Tokens, sofern du mit dem Auto-Kompaktierungsregler des Dialogs kein anderes Fenster setzt: weit unter dem Fenster, damit ein Turn, nachdem DeepSeeks Cache abgelaufen ist, nicht den Großteil einer Million Tokens erneut zum Cache-Miss-Preis sendet.

Anhänge. Bei einem Modell, das Bilder annimmt, gehen Bilder bis 5 MB in die Nachricht; größere Bilder und andere Dateien werden als Pfade übergeben, die der Agent liest. Unter Modelle stehen die Modelle, die keine Bilder annehmen.

Nicht bei DeepSeek. Claudes Plan-Anzeigen und die Pause am Nutzungslimit gelten nicht. DeepSeek-Antworten haben keine Verbrauchszeile; die Kosten stehen auf der Verbrauchskarte.

Ordner-Einstellungen können DeepSeek nicht umleiten #

Eine .claude/settings.json oder .claude/settings.local.json im Ordner kann Umgebungsvariablen und einen Key-Helper für Claude Code setzen. In einem DeepSeek-Chat legt das Relay die Basis-URL und den Key darüber fest, und mit ihnen die Proxy-, TLS-Vertrauens-, Provider- und Zugangsdaten-Einstellungen: Die Einstellungen des Ordners können Claude Code nicht auf eine andere Adresse richten, den Key gegen einen anderen tauschen oder die Anfragen über einen eigenen Proxy leiten. Der Key wird dafür nicht auf die Befehlszeile gesetzt.

Neu in 0.9.18 Keine Hooks. Claude Code in einem DeepSeek-Chat startet mit allen Hooks und der Statuszeile abgeschaltet: Weder die aus DeepSeeks eigenem Einstellungsordner noch die des Chat-Ordners (.claude/settings.json, settings.local.json) noch die eines Plugins laufen. Sie würden als Benutzer des Relays mit dem Key in ihrer Umgebung laufen, und ein SessionStart-Hook des Ordners sogar, bevor das Relay Endpunkt und Key festgelegt hätte. Die Einstellung steht auf der Befehlszeile von Claude Code, daher kann eine Einstellungsdatei sie nicht wieder einschalten. Hooks in verwalteten Einstellungen, denen des Rechner-Administrators, laufen weiterhin. In 0.9.17 liefen diese Hooks; ein Zurückgehen auf 0.9.17 schaltet sie wieder ein.

Übernimmt Claude Code die festgelegten Einstellungen nicht innerhalb einer Minute, schlägt der Turn fehl, bevor etwas gesendet wird, mit Claude Code did not take the DeepSeek connection settings before the first message, so nothing was sent. Sende die Nachricht erneut; schlägt sie wieder fehl, aktualisiere das Relay und such in seinem Log nach dem Grund.

Was an DeepSeek geht #

Alles, was der Agent während eines Turns liest und schreibt, geht an DeepSeek: deine Nachrichten, die Dateien, die er öffnet, die Ausgabe seiner Befehle und der Kontext, den Claude Code jeder Session hinzufügt, etwa der Pfad des Ordners und die CLAUDE.md-Dateien. Während eines gemessenen Turns war DeepSeeks API der einzige Host, mit dem Claude Code sprach.

Commit-Zuschreibung #

Auswahl Commits Pull Requests
OAR (Standard) Enden mit Co-authored-by: Open Agent Relay (DeepSeek Flash) <no-reply@oar.sh>, mit dem Namen des verwendeten Modells. Enden mit 🤖 Generated with [Open Agent Relay](https://oar.sh).
Off (Aus) Keine Zuschreibungszeile. Keine Zuschreibungszeile.

Es gibt kein Vanilla: Die eigenen Zeilen von Claude Code würden Claude die Arbeit von DeepSeek zuschreiben. Die eigene Auswahl eines Ordners, gesetzt im 🧠-Dialog einer Claude-Konversation in diesem Ordner, gilt dort auch für DeepSeek-Chats, wobei Vanilla als OAR gelesen wird. Der eigene 🧠-Dialog eines DeepSeek-Chats hat keine Auswahl für die Zuschreibung.

Ein anderer Endpunkt #

Advanced → Base URL nimmt eine andere Adresse an, z. B. für einen Proxy. Lass es leer für https://api.deepseek.com. Die Adresse muss https verwenden, oder http auf diesem Rechner (localhost, 127.0.0.1 oder ::1), und darf keinen Benutzernamen, kein Passwort, keine Query und kein Fragment enthalten. Der Key wird dorthin geschickt und nirgendwohin sonst. Das Speichern einer neuen Adresse leert die gefundenen Modelle und liest sie von dort neu. Ein DeepSeek-Worker, der bereits läuft, behält die Adresse, mit der er gestartet ist.

WebSearch und WebFetch #

Claude Code hat zwei Web-Tools, und sie laufen an verschiedenen Orten:

Tool Wo es läuft Was es kostet
WebSearch Auf DeepSeeks Servern, über DeepSeeks Suche. Eine Suchanfrage: 0,75 $ oder 5 ¥ pro 1.000 erfolgreiche, ab 2026-10-31 16:00 UTC. Davor werden sie kostenlos gezählt.
WebFetch Auf dem Rechner des Relays: Claude Code ruft die Seite selbst ab und lässt DeepSeek Flash sie lesen. Nur die Flash-Tokens, gebucht wie bei jedem anderen Turn. Keine Anfrage wird berechnet.

Die Verbrauchskarte zählt die Suchen in einer eigenen Zeile Search (Suche). Die Zahl kommt aus den eigenen Summen von Claude Code, die jede Suche seines WebSearch-Tools zählen.

Die Verbrauchskarte #

📊 Check Usage (Verbrauch prüfen) hat eine DeepSeek-Karte, solange DeepSeek eingeschaltet ist. DeepSeek wird nach Verbrauch bezahlt, daher zeigt die Karte Geld: das Guthaben des Kontos, live mit dem gespeicherten Key gelesen, und was die DeepSeek-Turns dieses Relays gekostet haben, geschätzt aus ihren Tokens zu DeepSeeks Preisen (siehe Wie die Schätzung entsteht).

Die Ausgaben werden in der Währung des Guthabens angezeigt (der, auf der Geld ist), oder in US-Dollar, wenn es kein Guthaben gibt, nach dem sie sich richten können. Die Karte zeigt alles auf einmal, Zahlen zuerst, und passt in die Breite eines Handys. Von oben nach unten:

Teil Was er zeigt
Balken Balance (USD), Balance (CNY) (Guthaben in USD, Guthaben in CNY) Ein Balken pro Währung mit Geld darauf: was übrig ist, gemessen am Guthaben nach der letzten Aufladung. Die Zeile darunter sagt, wovon aus gemessen wird. Siehe Startguthaben und Aufladungen.
Balken Monthly budget (USD) oder (CNY) Nur, wenn ein Budget gesetzt ist. Siehe Monatsbudget.
Zahlen Das Guthaben pro Währung, mit dem, was aufgeladen und gutgeschrieben wurde, und Estimated spend on this relay (Geschätzte Ausgaben auf diesem Relay) seit dem ersten DeepSeek-Turn.
Daily spend, last 30 days (Tägliche Ausgaben, letzte 30 Tage) Eine Säule pro UTC-Tag, nach Modell gestapelt. Fahr mit der Maus über eine Säule oder tippe darauf, um die Tagessumme und den Anteil pro Modell zu sehen.
Where the money goes (Wohin das Geld geht) Ein Balken pro Modell, aufgeteilt in Cache hit (Cache-Treffer), Cache miss (Cache-Fehltreffer), Output (Ausgabe) und, sobald es welche gibt, Search. Sein Kopf sagt, was der Cache gespart hat.
Estimated spend by model (Geschätzte Ausgaben nach Modell) Eine Zeile pro Modell mit seinen Turns und, sobald es welche gibt, eine Zeile Search: was die Websuchen gekostet haben und wie viele es waren, etwa 3 searches.
Tokens by model (Tokens nach Modell) Cache-Hit-, Cache-Miss- und Output-Tokens pro Modell, und wie viel der Eingabe aus dem Cache kam.
Die Notiz zur Schätzung Preise, Hauptzeiten und was nicht gezählt wird, mit einem Link Prices (Preise).

Die Balken ändern ihre Farbe, während sie sich füllen, und werden bei 90 Prozent rot, wie auf jeder Karte; siehe Eine Karte lesen. Der Fuß verlinkt auf DeepSeek usage (DeepSeek-Verbrauch) und Top up (Aufladen) auf DeepSeeks Plattform.

Sobald du DeepSeeks Verbrauchsexport importiert hast, zeigt die Karte DeepSeeks eigene Zahlen an den Tagen, die der Export abdeckt, und die Beschriftungen lauten Spend, actual and estimated (Ausgaben, tatsächlich und geschätzt) und Spend by model, actual and estimated (Ausgaben nach Modell, tatsächlich und geschätzt). Siehe Verbrauchsexport importieren.

Die Diagramme. Sie werden ohne Diagramm-Bibliothek gezeichnet und funktionieren in beiden Farbschemata. Bei Daily spend behält ein Modell seine Farbe von einem Abruf zum nächsten: DeepSeek Flash zuerst, dann DeepSeek V4 Pro, dann andere Modelle nach Name; bei mehr als vier Modellen teilen sich das vierte und alle weiteren Other models (Andere Modelle). Jede Säule und jeder Balken hat eine Textentsprechung für Screenreader und einen Tooltip bei Hover, Fokus oder Tippen, und jedes Diagramm hat einen Ausklappbereich As a table (Als Tabelle) mit denselben Zahlen. Daily spend entfällt, wenn es in den letzten 30 Tagen keine Ausgaben gab, und seine Notiz sagt, wann der Tagesverlauf auf diesem Relay beginnt, falls das später ist. Die Cache-Ersparnis ist der Wert der Cache-Hits zum Cache-Miss-Preis, abzüglich dessen, was sie gekostet haben.

Wenn das Guthaben nicht gelesen werden kann. Ein Abruf gibt nach 5 Sekunden auf. Eine Antwort wird eine Minute lang behalten, ein Fehlschlag 15 Sekunden. Schlägt ein Abruf fehl, wird die Karte als Partial (Teilweise) markiert, sagt The balance could not be read: … und zeigt das zuletzt gelesene Guthaben, as read mit dessen Zeit. Meldet DeepSeek das Guthaben als zu niedrig für API-Aufrufe, sagt die Karte DeepSeek reports this balance as not enough for API calls: DeepSeek turns fail until it is topped up. mit einem Link Top up.

Ein Agent kann dieselbe Karte mit der Aktion usage von relay_tool lesen.

Monatsbudget #

Monthly budget (optional) im Unter-Tab DeepSeek fügt der Karte einen Budget-Balken hinzu: die geschätzten DeepSeek-Ausgaben dieses Relays im Kalendermonat gegenüber dem Betrag.

  • Budget currency: USD ($) (für ein neues Budget vorausgewählt), CNY (¥) oder The balance's currency (may change) (Währung des Guthabens, kann sich ändern). Der Balken ist mit seiner Währung beschriftet, z. B. Monthly budget (CNY), und zählt die Ausgaben in dieser Währung, egal in welcher das Guthaben ist. Ein Budget, das gespeichert wurde, bevor die Währung wählbar war, folgt der Währung des Guthabens.
  • Der Balken ist als estimated (geschätzt) markiert. Mit Tagen eines importierten Verbrauchsexports im Monat (und dem Budget in der Währung der Karte) ist er es nicht, und seine Notiz sagt, dass die Ausgaben an diesen Tagen tatsächlich und an den anderen geschätzt sind. Er ändert seine Farbe bei 50 und 75 Prozent des Budgets und wird bei 90 rot.
  • Er zählt nach UTC-Tag und beginnt am 1. des Monats (UTC) von vorn; der Balken zeigt, wann er zurückgesetzt wird.
  • Lass den Betrag leer oder gib 0 ein, um keinen Balken zu haben. Beträge behalten zwei Nachkommastellen.

Startguthaben und Aufladungen #

DeepSeek teilt OAR das Guthaben mit, nicht, was du eingezahlt hast. Der Guthaben-Balken braucht daher etwas, woran er misst, und OAR hält das pro Währung auf dem Relay fest:

  • Ohne Startguthaben misst der Balken vom Guthaben direkt nach der letzten Aufladung. Bis das Relay eine Aufladung gesehen hat, misst er vom höchsten Guthaben, das es gelesen hat, sodass der Balken leer startet und sich mit den Ausgaben füllt. Die Zeile unter dem Balken nennt den Betrag und den Tag, an dem er gelesen wurde, z. B. Measured from ¥110.00, the highest balance seen (2026-10-20).
  • Eine Aufladung (oder eine Gutschrift) ist jeder Anstieg des Guthabens zwischen zwei Abrufen. Das Relay liest das Guthaben, wenn die Karte geöffnet wird (oder ein Agent die Karte liest), und bemerkt eine Aufladung daher beim nächsten Abruf. Von da an misst der Balken vom Guthaben danach.
  • Starting balance (optional) setzt stattdessen den Betrag, von dem aus gemessen wird, z. B. deine erste Aufladung. Er ist in der Währung des Guthabens und gilt für den Balken dieser Währung. Die Zeile unter dem Balken lautet Measured from …, the starting balance set on the DeepSeek tab. Lass es leer, um wie ohne zu messen.

Was eine Aufladung mit einem Startguthaben macht. Eine Aufladung, nachdem du es gesetzt hast, ersetzt es: Der Balken misst vom Guthaben nach der Aufladung, und der Unter-Tab DeepSeek sagt No longer used: the balance rose on <date> (a top-up), so the bar measures from the balance after it. Enter an amount again to measure from it. Um wieder ein Startguthaben zu verwenden, tippe einen Betrag in das Feld (derselbe Betrag geht auch) und speichere. Das Speichern der anderen Felder des Unter-Tabs bringt den alten Betrag nicht zurück.

Eine Aufladung, die vor dem Setzen des Startguthabens erfolgte, ersetzt es nicht, auch wenn das Guthaben jetzt über dem Betrag liegt. Das Speichern eines Startguthabens liest das Guthaben sofort, und ein Anstieg ersetzt den Betrag nur, wenn das Relay das Guthaben nach dem Setzen gelesen hatte. Du kannst also aufladen, das neue Guthaben eingeben und speichern. Schlägt dieser Abruf fehl, bleibt der Betrag bis zu einer Aufladung nach dem nächsten erfolgreichen Abruf des Relays.

Verbrauchsexport importieren #

Die Ausgaben auf der Karte sind eine Schätzung. Für DeepSeeks eigene Zahlen exportiere deinen Verbrauch auf DeepSeeks Verbrauchsseite (DeepSeek usage am Fuß der Karte verlinkt dorthin) und importiere ihn. Der Export besteht aus zwei CSV-Dateien für den gewählten Zeitraum: den Mengen (Tokens und Anfragen pro Modell und API-Key, mit ihren Preisen) und den Kosten.

  1. Exportiere einen Zeitraum auf DeepSeeks Verbrauchsseite.
  2. Wähl in Settings → Providers → DeepSeek unter Import usage export die Amount file und die Cost file und drück dann Import usage export.
  3. Die Zeile unter dem Button sagt, was importiert wurde (die Zeilen, die Tage, die Modelle) und ob die Karte es verwendet.

Was die Karte dann zeigt. An den Tagen, die der Export abdeckt, ersetzen die Zahlen des im Tab gespeicherten Keys die Schätzung: Tokens, Anfragen und Kosten pro Modell, nach den Tagen des Exports. Jeder andere Tag bleibt geschätzt, eine Lücke zwischen zwei Importen eingeschlossen. Die Beschriftungen lauten Spend, actual and estimated und Spend by model, actual and estimated, die Zeile eines Modells nennt zusätzlich, wie viele Anfragen der Export gezählt hat, und eine Notiz nennt das Ende des letzten Exports.

  • Nur der gespeicherte Key. Der Export listet jeden Key des Kontos; die Karte zählt die Zeilen des gespeicherten Keys, wo auch immer der Key verwendet wurde, nicht nur auf diesem Relay.
  • Eine Währung. Die Karte verwendet nur Zeilen in ihrer eigenen Währung, der des Guthabens. Ist der Export in einer anderen, sagt der Import das, und die Karte bleibt geschätzt.
  • Suchen. An Export-Tagen enthalten die Kosten des Exports die Websuchen, daher fügt die Karte dort keine Suchschätzung hinzu.
  • Ausgelassene Tage. Ein Tag mit einem Zeitraum, der noch nicht zu Ende ist (heute, bei einem tagsüber erstellten Export), und die Export-Tage bis einschließlich des Tages, an dem der Tagesverlauf dieses Relays beginnt, weil nicht alle ihre Turns in diesem Verlauf sind. Eine Notiz sagt das.
  • Zeitzonen. Die Tage des Exports laufen in der Zeitzone, in der er erstellt wurde, die der Schätzung in UTC. An der Grenze zwischen einem Export-Tag und einem geschätzten Tag kann eine Stunde doppelt oder gar nicht gezählt werden.
  • Monatsbudget. Mit Export-Tagen im Monat ist der Budget-Balken nicht mehr als estimated markiert.

Wie der Import die Dateien prüft. Für jeden Zeitraum und jedes Modell müssen die Mengen mal ihre Preise die Kostendatei ergeben. Sonst wird nichts importiert, und die Zeile sagt The files do not match for …. Dieselben Dateien erneut zu importieren ändert nichts. Ein späterer Export ersetzt, für jeden Key darin, die Tage, die er abdeckt, auch wenn er in einer anderen Zeitzone erstellt wurde. Die beiden Dateien zusammen dürfen bis zu 2 MB groß sein. Das Relay hält die Zeilen in einer eigenen Tabelle, mit jedem Key bis auf sein erstes und letztes Zeichen maskiert; seine eigenen Zählungen deiner Turns werden nicht geändert. Agents eines gekoppelten Relays können nicht importieren.

Auf dem Rechner des Relays tut npm run deepseek:import -- amount.csv cost.csv <database> im Ordner von OAR dasselbe. Gib die Datenbank an, copilot.db im Datenordner: Ohne sie verwendet der Befehl data/copilot.db neben dem Server.

Wie die Schätzung entsteht #

DeepSeek meldet keine Kosten pro Anfrage, und die eigene Kostenangabe von Claude Code ist zu Claudes Preisen. OAR zählt daher die Tokens, die jeder DeepSeek-Turn auf diesem Relay meldet, pro Modell, und bepreist sie zu DeepSeeks veröffentlichten Preisen (gelesen am 2026-10-19), in US-Dollar und in Yuan. Pro Million Tokens, zur Nebenzeit:

Modell Cache-Hit Cache-Miss Output
DeepSeek Flash 0,003 $ · 0,02 ¥ 0,15 $ · 1 ¥ 0,60 $ · 4 ¥
DeepSeek V4 Pro 0,022 $ · 0,15 ¥ 0,66 $ · 4,5 ¥ 1,98 $ · 13,5 ¥
  • Hauptzeit und Nebenzeit. Die Preise zur Hauptzeit sind genau doppelt so hoch. Hauptzeit ist Montag bis Freitag 01:00–04:00 und 06:00–10:00 UTC (09:00–12:00 und 14:00–18:00 Pekinger Zeit); die Karte nennt diese Stunden in der Zeitzone deines Browsers. Jeder Turn wird nach seiner eigenen Zeit bepreist.
  • Feiertage. An chinesischen Feiertagen berechnet DeepSeek den ganzen Tag Nebenzeit-Preise. Die Schätzung kennt diese Daten nicht, daher werden Turns zur Hauptzeit an einem Feiertag zum doppelten tatsächlichen Preis gezählt.
  • Suchen. Websuchen werden ab 2026-10-31 16:00 UTC (2026-11-01 00:00 Pekinger Zeit) mit 0,75 $ oder 5 ¥ pro 1.000 gezählt, zu jeder Stunde gleich; frühere werden kostenlos gezählt. Siehe WebSearch und WebFetch.
  • Nicht berechnet. DeepSeek berechnet die count_tokens-Anfragen nicht, die Claude Code bei jedem Session-Start sendet, und die Schätzung zählt sie nicht.
  • Unbekannte Modelle. deepseek-v4-flash und deepseek-v4-flash-vision-exp werden wie Flash bepreist. Ein Modell ohne bekannten Preis bekommt keine Schätzung: Seine Zeile lautet no price known, und die Summe sagt, wie viele Modelle sie auslässt.
  • Nur dieses Relay. Turns auf anderen Relays und andere Nutzung des Keys sind nicht enthalten. DeepSeeks Verbrauchsseite, von der Karte aus verlinkt, enthält jede Anfrage des Kontos.
  • Tatsächliche Zahlen. An den Tagen, die ein importierter Verbrauchsexport abdeckt, zeigt die Karte DeepSeeks eigene Zahlen für den gespeicherten Key statt der Schätzung, aus jeder Nutzung des Keys.
  • Neustarts. Ein Claude-Code-Prozess, der neu beginnt, oder eine Meldung, die spät oder doppelt ankommt, wird einmal gebucht. Ein Fall bleibt: Eine späte Meldung eines früheren Prozesses, die ankommt, nachdem ein neuerer gestartet ist, wird voll gebucht, ebenso die nächste Meldung des neueren Prozesses.
  • Zeilen unter einem Claude-Namen. Builds aus der Zeit, bevor Subagents auf das Modell des Chats festgelegt wurden, buchten manche Turns unter einem Claude-Modellnamen. Das Relay führt diese Zeilen beim Start in das DeepSeek-Modell zusammen, das sie bedient hat. Eine zusammengeführte Zeile wird zu einem Zeitpunkt bepreist, dem ihres letzten Turns, daher wird eine Zeile, die Turns zur Haupt- und zur Nebenzeit umfasst, angenähert: ihre Token-Kosten um bis zu den Faktor zwei.

Eine Turn-Zeit, die mehr als 5 Minuten vor der Uhr des Relays liegt, wird als die eigene Zeit des Relays genommen.

Grenzen #

  • Das Denken lässt sich nicht abschalten, und none läuft als low.
  • DeepSeek V4 Pro nimmt keine Bilder an; ein Wechsel dorthin wird abgelehnt, sobald eine Konversation Bilder enthält.
  • Die Ausgaben sind eine Schätzung, nur der Turns dieses Relays, und zählen Turns zur Hauptzeit an chinesischen Feiertagen zu hoch. Nur die Tage eines importierten Verbrauchsexports zeigen DeepSeeks eigene Zahlen.
  • Ein geänderter Effort oder ein geändertes Modell startet das Claude Code der Konversation zwischen Turns neu.
  • Der serverseitige Web-Fetch von Claude Code ist bei DeepSeek nicht verfügbar; WebFetch läuft auf dem Rechner des Relays.
  • Keine Pause am Nutzungslimit: Ein wegen des Guthabens abgelehnter Turn schlägt fehl, und du sendest ihn nach dem Aufladen erneut.

Fehlercodes #

Eine fehlgeschlagene DeepSeek-Antwort endet mit Error code: relay.<code>. und, bei manchen Codes, Buttons, die direkt zur Lösung führen:

Code Wann Buttons
relay.deepseek-balance DeepSeek hat die Anfrage wegen des Guthabens abgelehnt (HTTP 402). Top up DeepSeek (DeepSeek aufladen; öffnet DeepSeeks Aufladungsseite), DeepSeek settings (DeepSeek-Einstellungen)
relay.deepseek-api-key DeepSeek hat den Key nicht akzeptiert (HTTP 401). DeepSeek settings
relay.deepseek-rate-limit DeepSeek ist am Limit gleichzeitiger Anfragen für das Konto (HTTP 429). Keine
relay.deepseek-api-error Jede andere abgelehnte Anfrage. Keine
relay.deepseek-turn-error Jeder andere Fehlschlag des Turns. Keine

DeepSeek settings öffnet Settings → Providers → DeepSeek. Andere Codes folgen demselben Muster, relay.deepseek- und der Grund von Claude Code, z. B. relay.deepseek-overloaded (HTTP 529) oder relay.deepseek-model-not-found. Keiner von ihnen enthält den Hinweis zum Claude-Konto.

Fehlerbehebung #

Problem Was zu tun ist
DeepSeek fehlt in New Chat Speichere einen Key in Settings → Providers → DeepSeek und prüfe, dass Enable DeepSeek for New Chat model selection angekreuzt ist.
relay.deepseek-balance, oder die Karte sagt, das Guthaben reicht nicht für API-Aufrufe Drück Top up DeepSeek, lade Geld auf DeepSeeks Plattform auf und sende die Nachricht erneut.
relay.deepseek-api-key Der Key ist falsch oder wurde widerrufen. Füge einen gültigen Key ein und speichere, zwischen Turns.
relay.deepseek-rate-limit Warte einen Moment und sende die Nachricht erneut.
DeepSeek model discovery failed: …, oder DeepSeek listed no DeepSeek models Prüf den Key und die Basis-URL und drück dann Refresh in 🤗 Select Models. Bis es klappt, bleibt die letzte Liste, oder deepseek-flash und deepseek-v4-pro, im Angebot.
DeepSeek model "…" is not available Das Modell ist nicht auf der Liste des Relays. Aktualisiere die Liste oder wähl ein anderes Modell.
… takes no images, and this conversation already has some. Bleib bei DeepSeek Flash oder starte eine neue DeepSeek-Konversation für das reine Textmodell.
DeepSeek model selection requires creating a new DeepSeek conversation Eine Konversation eines anderen Providers kann nicht zu einem DeepSeek-Modell wechseln. Starte einen neuen Chat mit DeepSeek.
Cannot remove the DeepSeek API key while N DeepSeek conversation(s) still exist. Archiviere oder lösche diese Konversationen, oder schalte DeepSeek stattdessen aus.
Claude Code did not take the DeepSeek connection settings before the first message, so nothing was sent. Sende die Nachricht erneut. Schlägt sie wieder fehl, übernimmt das Claude Code, das das Relay ausführt, die festgelegten Einstellungen nicht: Aktualisiere das Relay und such in seinem Log nach dem Grund.
The DeepSeek base URL must use https (http only on a loopback address) Verwende https oder eine http-Adresse auf diesem Rechner.
Der Guthaben-Balken startet vom falschen Betrag Setz Starting balance im Unter-Tab DeepSeek, in der Währung des Guthabens.
Der Unter-Tab sagt, das Startguthaben ist No longer used Eine Aufladung hat es ersetzt. Tippe den Betrag erneut ein und speichere, oder leere das Feld.
Die Ausgaben auf der Verbrauchskarte sind niedriger als auf DeepSeeks Verbrauchsseite Die Karte zählt nur die DeepSeek-Turns dieses Relays. DeepSeeks Seite enthält jede Anfrage des Kontos. Für deren Zahlen auf der Karte importiere den Verbrauchsexport.
Die Ausgaben auf der Verbrauchskarte sind an einem Feiertag höher Hauptzeiten an chinesischen Feiertagen werden zum Hauptzeit-Preis gezählt; DeepSeek berechnet Nebenzeit-Preise. Der Import des Verbrauchsexports setzt DeepSeeks eigene Zahlen für diese Tage ein.
The files do not match for … Die Mengendatei und die Kostendatei stammen aus verschiedenen Exporten. Exportiere beide für denselben Zeitraum und importiere sie zusammen.
The … file is not a DeepSeek usage export: … Wähl die Dateien so, wie DeepSeeks Verbrauchsseite sie exportiert hat, die Mengendatei unter Amount file und die Kostendatei unter Cost file.
Der Import sagt, der gespeicherte Key ist nicht in diesem Export Der Export enthält keine Nutzung des im Tab gespeicherten Keys: Er gehört zu einem anderen Konto, oder der Key wurde in diesem Zeitraum nicht verwendet. Die Karte bleibt geschätzt.
Der Import sagt, die Karte verwendet die Zahlen nicht Der Export ist in einer anderen Währung als das Guthaben. Die Karte verwendet nur Zeilen in der Währung des Guthabens.