Abschnitte der Wissensbasis ▾

Navigation

▸ Hier starten Nach Rollen

Kategorien

Werkzeuge 52
Glossar 12

Tools

DeepSeek Harness: eigener Provider via JoinGonka Gateway

DeepSeek Harness (Befehl dsh) ist ein offener Agent-Harness von DeepSeek AI: eine Umgebung, in der das Modell Projektdateien liest und bearbeitet, Befehle ausführt, Teilaufgaben delegiert und einen Plan erstellt, während Sie dies vom Browser aus überwachen und riskante Schritte bestätigen. Das Projekt ist neu: Die Autoren bezeichnen es selbst als Developer Preview und warnen ausdrücklich vor inkompatiblen Änderungen. Daher bezieht sich alles Folgende auf eine spezifische Version — 0.1.5-rc.2, mit der wir die Einrichtung vom ersten Bildschirm bis zur Agenten-Antwort durchlaufen haben.

Beim ersten Start fragt dsh nach dem offiziellen API-Schlüssel des Herstellers, aber die Modellschicht ist offen: Auf der Seite Settings → Models kann jeder Anbieter hinzugefügt werden, der eines der drei Protokolle unterstützt — OpenAI Chat Completions, OpenAI Responses oder Anthropic Messages. JoinGonka Gateway unterstützt alle drei, daher verbindet sich der Harness mit dem dezentralen Gonka-Netzwerk mittels Standardmitteln, ohne Plugins oder Patches.

Ein aufschlussreiches Detail von der App-Seite im OpenRouter-Katalog: Im Ranking der Modelle, über die DeepSeek Harness dort betrieben wird, belegt DeepSeek V4 Flash 0731 in den letzten 30 Tagen den zweiten Platz, GLM 5.3 Flash den dritten (Stand 21. September 2026; auf dem ersten Platz befindet sich ein anonymes Testmodell). Beide offenen Modelle werden vom Gonka-Netzwerk bedient — zusammen mit MiniMax M2.7 —, sodass das vertraute Set auf einen anderen Endpoint umzieht, ohne dass das Modell gewechselt werden muss: Nur die Adresse und der Preis pro Token ändern sich.

Was ist DeepSeek Harness und wie startet man es

Ein Harness ist alles, was das Modell in der agentischen Arbeit umgibt: der Zyklus „Anfrage → Werkzeugaufruf → Ergebnis → nächster Schritt“, Werkzeuge für Dateien und Terminal, Rechte und Bestätigungen, das Session-Log, die Kontextkompression. DeepSeek Harness setzt dies aus Plugins zusammen: Die Architektur „everything is a plugin“ baut auf dem Framework Cordis auf, und jeder Knoten — vom Werkzeug bis zum Modelladapter — lässt sich austauschen, ohne den Kern zu ändern. Der Code ist unter der MIT-Lizenz offen.

Eine Installation ist nicht nötig — Node.js genügt (die 22er-Reihe ab 22.19 oder 24 und neuer):

npx @deepseek-ai/dsh web

Der Befehl startet das Web UI auf http://127.0.0.1:3080 und öffnet es im Browser; bei einem Start über SSH wird die Adresse nur im Terminal ausgegeben. Das Flag --no-open startet den Server ohne Browser, --port ändert den Port. Das Verzeichnis, aus dem dsh gestartet wird, wird zum Standard-Arbeitsverzeichnis, doch die Session beginnt die Oberfläche erst nach der ausdrücklichen Wahl eines Workspace.

ModusBefehlWofür
Web UIdsh webDie Hauptoberfläche: Sessions, Einstellungen, Bestätigungen von Operationen
Einmalige Aufgabedsh --profile headless "task"Skripte und CI: Antwort in stdout, Gedankengang in stderr
ACPdsh --profile acpEditoren und Clients mit Unterstützung für das Agent Client Protocol
SDKdsh --profile sdkJSON-RPC-Clients, darunter das Python SDK

Die Modellschicht besteht aus zwei Adaptern. Der direkte geht an die offizielle API des Anbieters. Der Multi-Provider-Adapter — dsh-llm-pi-ai — baut auf der Bibliothek pi-ai auf, derselben, die dem Terminal-Agenten Pi zugrunde liegt; über ihn lassen sich sowohl integrierte Anbieter aus dem Katalog als auch beliebige eigene Endpoints anbinden. Deshalb stimmen die Feldnamen in den Einstellungen — api, contextWindow, maxTokens — mit denen überein, die man von Pi kennt.

Zur Reife. Die README des Projekts beginnt mit einer Warnung: developer preview, schnelle Iterationen, brechende Änderungen. Ein separates Dokument SAFETY.md präzisiert, dass kein Sicherheitsaudit durchgeführt wurde und der Agent Befehle ausführt, die vom Modell generiert wurden. Die praktische Schlussfolgerung ist einfach: startet dsh in einem Container, einer virtuellen Maschine oder unter einem separaten Account und haltet Backups von allem, was er erreichen kann.

Verbindung via Web UI: Settings → Models

Schritt 1: der Schlüssel. Registriere dich unter gate.joingonka.ai/register: Nach der Bestätigung der Adresse erhältst du 3M kostenlose Token auf dein Konto. Öffne im Dashboard den Bereich «API-Schlüssel» und erstelle einen Schlüssel mit dem Präfix jg-. Praktisch ist ein separater Schlüssel für die Harness – dann taucht dessen Traffic in der Statistik als eigene Zeile auf.

Schritt 2: der erste Bildschirm. Nach dem Hinweis zum Teststatus (Button Continue) fordert dsh dich auf, den Schlüssel der offiziellen API einzugeben («Add an API key to get started»). Er ist nicht Pflicht: Klicke auf Configure later.

Schritt 3: der Anbieter. Öffne Settings → Models und wähle Add a custom provider. Die Formularfelder:

FeldWertHinweis
Provider IDjoingonkaKleinbuchstaben, beginnt mit einem Buchstaben. Die ID ist dauerhaft: Sie fließt in Anfragen, gespeicherte Sitzungen und den Namen der Schlüsselreferenz ein. Umbenennen ist nicht möglich — nur ein neuer Anbieter anlegen und den alten löschen
Display nameJoinGonka GatewayBeliebige Bezeichnung für Listen
Base URLhttps://gate.joingonka.ai/v1Mit dem Suffix /v1
API protocolopenai-completionsWie du das Protokoll wählst — in der Tabelle unten
API keyjg-your-keyNur-Schreib-Feld: Nach dem Speichern erhält die Seite einen maskierten Deskriptor, nicht den Schlüssel selbst

Schritt 4: die Modelle. Klicke im Block Models auf Fetch available models: dsh fragt beim Gateway die Liste ab und öffnet das Fenster «Choose models to add». In unserem Durchlauf erschienen darin alle drei Modelle des Netzwerks — MiniMaxAI/MiniMax-M2.7, deepseek-ai/DeepSeek-V4-Flash-0731 und zai-org/GLM-5.3-Flash — und nach Add selected hat die Harness jedem Modell automatisch das Kontextfenster und das Antwortlimit gesetzt — nach den Daten des Gateways. Jetzt nur noch auf Create provider klicken.

Schritt 5: Modell auswählen. Schließe die Einstellungen, klicke auf Choose workspace und füge das Projektverzeichnis hinzu. Die Modelle des neuen Anbieters erscheinen im Selektor; das ausgewählte wird zum Standardmodell für neue Sitzungen.

Den Schlüssel speichert dsh getrennt von den Einstellungen: in der Datei ~/.dsh/.credentials.yaml mit Zugriffsrechten nur für den Eigentümer. In settings.yaml bleibt nur der Name der Referenz darauf — in unserem Durchlauf JOINGONKA_API_KEY, nach der Provider ID.

Welches Protokoll wählen. Das Gateway spricht alle drei; unterschiedlich sind Basisadresse und die zusätzlichen Annehmlichkeiten:

API protocolBase URLWann wählen
openai-completionshttps://gate.joingonka.ai/v1Die Hauptoption: der kanonische Pfad des Gateways, die Modellliste wird per Button geladen, der Reasoning-Verlauf des Reasoning-Modells kommt als eigener Stream
openai-responseshttps://gate.joingonka.ai/v1Wenn deine Plugins oder Szenarien auf die Responses API ausgelegt sind
anthropic-messageshttps://gate.joingonka.aiFormat Anthropic Messages; den Pfad /v1/messages ergänzt der Client selbst

Ein Anbieter in dsh spricht genau ein Protokoll, deshalb ist das zweite Protokoll ein zweiter Anbieter mit anderer Provider ID. Für den Alltag reicht die erste Option; in unserem Durchlauf lief der Agenten-Zyklus mit Tool-Aufrufen bei allen dreien.

Konfiguration per Datei: settings.yaml

Das Formular Models schreibt in ein normales YAML-Dokument — $DSH_HOME/settings.yaml, standardmäßig ~/.dsh/settings.yaml. Du kannst es direkt bearbeiten: Die Schaltfläche Open configuration file oben in den Einstellungen öffnet die Datei, und die Adapter lesen sie beim nächsten Request neu ein — ein Neustart ist nicht nötig. Die vollständige Variante für das Gonka-Netzwerk:

# ~/.dsh/settings.yaml
llm-pi-ai:
  providers:
    joingonka:
      displayName: JoinGonka Gateway
      apiKeyEnv: JOINGONKA_API_KEY
      api: openai-completions
      baseURL: https://gate.joingonka.ai/v1
      models:
        - id: deepseek-ai/DeepSeek-V4-Flash-0731
          name: DeepSeek V4 Flash
          contextWindow: 380000
          maxTokens: 32768
        - id: zai-org/GLM-5.3-Flash
          name: GLM-5.3 Flash
          contextWindow: 390000
          maxTokens: 8192
          reasoningEfforts:
            off: low
            high: high
        - id: MiniMaxAI/MiniMax-M2.7
          name: MiniMax M2.7
          contextWindow: 200000
          maxTokens: 8192
agent-default-model:
  provider: joingonka
  model: deepseek-ai/DeepSeek-V4-Flash-0731

Was hier wichtig ist:

  • apiKeyEnv ist kein Schlüssel, sondern der Name des Verweises darauf. Den Wert sucht dsh der Reihe nach: Umgebungsvariable zum Startzeitpunkt, dann .credentials.yaml (dorthin schreibt das Formular), dann .env im Startverzeichnis, dann ~/.dsh/.env. Wenn du das Harness ohne Browser einrichtest, reicht die Zeile JOINGONKA_API_KEY=jg-your-key in ~/.dsh/.env mit den Rechten 600. Eine Variable, die erst nach dem Start exportiert wird, sieht ein bereits laufender Prozess nicht mehr.
  • contextWindow und maxTokens solltest du explizit angeben. Bei einem Modell, über das dsh nichts weiß, nimmt er 262 144 und 32 768 Token an — das entspricht nicht den echten Limits. Ein gesetztes maxTokens wird zugleich zum Standard-Antwortlimit für jede Anfrage.
  • reasoningEfforts sind die Reasoning-Stufen für das Effort-Menü. Bei einem manuell eingetragenen Modell gibt es keine Stufen, und das Menü erscheint dafür nicht. Bei GLM-5.3 Flash ist der Schalter binär: Der Wert low schaltet das Reasoning ab, jeder andere lässt es vollständig. Deshalb ist der Stufe off der Wert low zugeordnet, und high wird unverändert übergeben. In unserem Durchlauf gab es mit off überhaupt keine Reasoning-Blöcke, mit high kamen sie zurück.
  • agent-default-model ist das Modell für neue Agenten, einschließlich des Modus headless. Dasselbe bewirkt die Modellauswahl in der Oberfläche; hier lässt sich auch reasoningEffort ergänzen.

Die compat-Schalter, die die dsh-Dokumentation für strenge Gateways empfiehlt (supportsDeveloperRole: false, maxTokensField: max_tokens), sind hier nicht nötig: JoinGonka Gateway akzeptiert sowohl die Rolle developer als auch das Feld max_completion_tokens.

Der Installer npx @joingonka/setup richtet dieses Harness nicht ein: Die ganze Anbindung beschränkt sich auf das Formular aus dem vorigen Abschnitt oder auf den obigen YAML-Ausschnitt.

Überprüfung und häufige Fehler

Am schnellsten lässt sich die Verbindung mit einem einmaligen Durchlauf aus dem Verzeichnis mit dem Code prüfen. Legen Sie daneben eine kleine Datei mit einem offensichtlichen Fehler und bitten Sie darum, ihn zu finden:

cd /path/to/project
npx @deepseek-ai/dsh --profile headless "Read calc.py and tell me in one sentence whether it has a bug."

Die endgültige Antwort wird nach stdout ausgegeben, der Gedankengang nach stderr mit der Kennzeichnung dsh: reasoning:. Der Agent muss das Werkzeug zum Lesen der Datei selbst aufrufen und inhaltlich antworten: In unserem Durchlauf nannte jedes der drei Modelle im Netz die fehlerhafte Zeile. Das heißt, der vollständige Zyklus „Anfrage → Werkzeugaufruf → Ergebnis → Antwort" über das Gateway wird korrekt zusammengesetzt.

Die zweite Hälfte der Prüfung liegt auf der Seite des Gateways. Öffnen Sie im Dashboard „Nutzung": Dort sind Anfragen nach Stunden und Tagen sichtbar, aufgeschlüsselt nach Modellen und nach Schlüsseln. Erscheint eine Zeile mit dem Schlüssel des Harness und einer frischen Zeit der letzten Anfrage — fließt der Datenverkehr tatsächlich über das Gateway.

Wenn etwas schiefgeht, lässt sich die Diagnose meist direkt aus der Meldung ablesen:

Was zu sehen istWas das bedeutetWas zu tun ist
AUTH: 401: … Invalid API keyDas Gateway hat den Schlüssel nicht akzeptiertGeben Sie den Schlüssel auf der Seite Models erneut ein oder korrigieren Sie die Variable, auf die apiKeyEnv verweist
MISSING_CREDENTIAL: … no credential for provider route "joingonka"Unter dem Verweis aus apiKeyEnv wurde nichts gefundenSpeichern Sie den Schlüssel im Formular oder setzen Sie die Variable vor dem Start von dsh: Die Umgebung wird einmal gelesen, beim Start
UNKNOWN_MODELDas Modell fehlt in der Liste models des AnbietersFügen Sie es dem Formular oder der Datei hinzu oder wählen Sie ein bereits konfiguriertes
400 … Model "…" not found. Available: …Die Kennung ist ungenau eingetragen, meist ohne HerstellerpräfixKopieren Sie die id aus der Liste, die das Gateway in der Meldung selbst angibt
429 … currently overloaded … (rate limit)Dem Modell ist gerade die freie Kapazität im Netz ausgegangenNormale Situation unter Last: dsh wiederholt die Anfrage selbst. Sind die Wiederholungen erschöpft — wechseln Sie das Modell oder warten Sie eine Minute; der Zustand ist auf der Statusseite sichtbar
Fetch available models antwortet mit 401Die Liste wurde mit einem falschen Schlüssel angefragtPrüfen Sie den Schlüssel im Formular; Modelle lassen sich auch manuell eintragen — sie funktionieren genauso
Das Reasoning-Modell hat kein Menü EffortFür den Modelleintrag sind keine Stufen deklariertFügen Sie reasoningEfforts in settings.yaml hinzu, wie im obigen Beispiel
Die Antwort des Reasoning-Modells bricht ab oder ist leerDie Überlegung fällt in das Antwortlimit und hat es vollständig aufgebrauchtSetzen Sie maxTokens nicht zu niedrig an; wählen Sie für kurze Aufgaben die Stufe off
Im Eingabefeld steht Select model, die Eingabe ist gesperrtDas Standardmodell verweist auf einen gelöschten AnbieterWählen Sie ein anderes Modell im Selektor

Welches Modell soll man wählen

Der Preis für alle Modelle im Netzwerk ist gleich, daher geht es bei der Auswahl um das Verhalten, nicht um das Budget. Unten finden Sie die Limits und wie sich die Modelle bei unserem dsh-Testlauf mit derselben Aufgabe verhalten haben: eine Datei lesen und einen Fehler darin finden.

ModellIdentifikatorKontext / AntwortVerhalten in dsh
DeepSeek V4 Flashdeepseek-ai/DeepSeek-V4-Flash-0731380K / 32768Saubere Antwort mit Zeilenangabe. Das größte Antwort-Limit im Netzwerk – lange Korrekturen und große Dateien in einem Durchgang.
GLM-5.3 Flashzai-org/GLM-5.3-Flash390K / 8192Reasoning-Modell: Die Überlegungen (Inference) werden von dsh in einem separaten Thread angezeigt, die Antwort bleibt sauber. Das Reasoning ist im Antwort-Limit enthalten.
MiniMax M2.7MiniMaxAI/MiniMax-M2.7200K / 8192Löst die Aufgabe korrekt; das Reasoning wird in einem separaten Feld reasoning_content übertragen, im Antworttext steht nur die Antwort selbst.

Die Standardempfehlung ist DeepSeek V4 Flash: Die Arbeit der Agenten stößt schnell an die Grenzen des Kontextvolumens und der Länge der Korrektur, und hier gibt es bei beiden Parametern Reserven. Wenn eine Aufgabe erfordert, über komplizierte Logik nachzudenken, wechseln Sie zu GLM-5.3 Flash und halten Sie das Reasoning-Level auf high; für schnelle Korrekturen liefert derselbe Provider sie mit dem Level off. MiniMax M2.7 ist eine solide Option für kurze Aufgaben, wenn ein sichtbarer Reasoning-Prozess nicht stört. Das Modell kann im Interface-Selektor oder über die Zeile model im Block agent-default-model geändert werden.

Die Zusammensetzung des Netzwerks wird durch Abstimmungen der Teilnehmer bestimmt und ändert sich mit der Zeit; eine aktuelle Liste inklusive der Limits liefert immer GET https://gate.joingonka.ai/v1/models – diese wird auch vom Button „Fetch available models“ verwendet.

Wie viel kostet das und was ist bei der Arbeit zu beachten

Agentische Werkzeuge verbrauchen Token anders als Chats: Zu jeder Ihrer Anfragen fügt der Harness einen System-Prompt und Beschreibungen aller Werkzeuge hinzu und führt dann einen mehrstufigen Dialog mit dem Modell. In unserem Testlauf dauerte die Aufgabe „Datei lesen und Fehler finden“ zwei bis drei Schritte und 14 bis 22 Tausend Token, wobei fast alles davon Input ist: etwa siebentausend Token fallen bei jedem Schritt an, noch bevor Ihre Frage gestellt wird. Das ist ein normaler Preis für Autonomie – und genau deshalb ist der Preis pro Token entscheidend.

Über das JoinGonka Gateway kosten Token $0.0069 pro Million beim Input und $0.021 pro Million beim Output – der Preis ist für alle Modelle des Netzwerks gleich und wird auf dieser Seite aus einer Live-Quelle abgerufen. Die Größenordnung der Preise im September 2026:

SzenarioVerbrauchÜber Gateway
Einmalige Aufgabe (Datei lesen, Fehler finden)14-22K TokenHunderte Cent
Tag aktiver Arbeit3-7M Tokenein paar Cent
Monat aktiver Entwicklung~150M Tokenetwa ein Dollar

Die Bezahlung erfolgt nach tatsächlichem Verbrauch, ohne Abonnement und ohne Quoten für die Anzahl der Anfragen; der Restbetrag und der tägliche Verbrauch sind im Dashboard sichtbar.

Version. Solange sich das Projekt im Status „developer preview“ befindet, prüfen Sie nach jedem Update, ob der Provider vorhanden ist, und fixieren Sie zur Reproduzierbarkeit die Version direkt im Befehl: npx @deepseek-ai/[email protected] web.

Rechte. Neue Sitzungen arbeiten standardmäßig im Modus „Workspace Write“ – Schreibzugriff innerhalb des Arbeitsverzeichnisses; Operationen, die über die Richtlinie hinausgehen, müssen im Interface bestätigt werden. Der Modus kann unter Settings → General geändert werden.

Wiederholungen. Bei einem einmaligen Netzwerkfehler wiederholt dsh die Anfrage selbst – laut Dokumentation bis zu fünf Mal –, sodass ein kurzer Lastanstieg im Netzwerk normalerweise unbemerkt bleibt.

Datenschutz. Das Gateway speichert keine Inhalte von Prompts oder Antworten: In der Statistik bleiben nur Verbrauchsaggregate. Der Agent liest Projektdateien lokal auf Ihrem Computer.

Wenn Sie mit Bildern arbeiten müssen – Screenshot einer Oberfläche, Schema auf einem Foto –, richten Sie daneben einen zweiten Provider mit einem Modell ein, das über Sehvermögen verfügt: dsh unterstützt mehrere Provider gleichzeitig, während die Gonka-Netzwerkmodelle textbasiert sind.

DeepSeek Harness ist nicht der einzige Agent, den das Labor, das die Modelle entwickelt, selbst herausgibt: Z.ai, die Autoren von GLM, haben die ZCode-Umgebung, und MiniMax hat das Terminal-Tool MiniMax Code. Beide verbinden sich mit demselben Gateway mit demselben Schlüssel.

DeepSeek Harness ist ein offener Agent-Harness von DeepSeek AI im Status „developer preview“: Web UI, einmalige Durchläufe, ACP und SDK auf Basis einer Plugin-Architektur. Ihr eigener Endpoint wird regulär verbunden: Settings → Models → Add a custom provider, Adresse https://gate.joingonka.ai/v1, Protokoll openai-completions, Schlüssel jg-…; die Schaltfläche „Fetch available models“ zieht automatisch DeepSeek V4 Flash, GLM-5.3 Flash und MiniMax M2.7 zusammen mit den Limits. Dasselbe wird als einzelner llm-pi-ai-Block in ~/.dsh/settings.yaml gespeichert. Deklarieren Sie für GLM-5.3 Flash die Ebenen off: low und high: high – die Argumentation wird umschaltbar. Führen Sie den Harness in einer isolierten Umgebung aus und fixieren Sie die Version, solange das Format noch nicht stabil ist.

Möchten Sie mehr erfahren?

Erkunden Sie andere Abschnitte oder beginnen Sie jetzt GNK zu verdienen.

Schlüssel erhalten und kostenlose Token bekommen →