Constantin Budin, Platform Engineering bei Pexon Consulting | 8 Min. Lesezeit | 28.09.2026
TL;DR: DeepSeek Harness in fünf Sätzen
DeepSeek Harness, Paketname dsh, ist der quelloffene Agent-Rahmen von DeepSeek. Alles daran ist ein Plugin, vom Modelladapter bis zur Agentenschleife. Stand 28.09.2026 liegt der Release-Kandidat 0.2.0-rc.1 vor, mit 238.700 GitHub-Sternen, und das Projekt ist ausdrücklich eine Developer Preview ohne Sicherheitsaudit. Pexon Consulting rät davon ab, es auf einem Arbeitsrechner mit echten Zugangsdaten zu starten.
Das Problem: Sterne ersetzen kein Sicherheitsaudit
Am 28.09.2026 stand das Repository deepseek-ai/deepseek-harness bei 238.700 Sternen, 28.700 Forks und 40 Beitragenden. Am selben Tag ging der Release-Kandidat 0.2.0-rc.1 des Pakets @deepseek-ai/dsh heraus. Wer nur die Sternzahl liest, sieht ein fertiges Produkt.
Die Safety-Notiz sagt das Gegenteil. Das Projekt ist experimentell, es gab kein Sicherheitsaudit, und es darf nicht als produktionsreif behandelt werden. Es führt modellgenerierten Code aus, lädt Plugins von Dritten und sieht Dateien, Prozesse, Netz und Zugangsdaten, die Sie ihm hinlegen.
Unsere klare Empfehlung: Sternzahl ist Verteilung, nicht Reife. Ein Test gehört in eine wegwerfbare virtuelle Maschine. Ein Rollout auf Entwickler-Laptops mit Firmenzugängen gehört da nicht hin.
Was DeepSeek Harness vom Modell unterscheidet
DeepSeek Harness ist nicht das Modell. Das Modell antwortet. Der Harness entscheidet, welches Verzeichnis gilt, welches Werkzeug laufen darf, was in der Sitzung hängen bleibt und wer einen Befehl freigibt. Die Firma beschreibt das selbst als „Everything is a Plugin“ und stellt den Rahmen unter die MIT-Lizenz.
Darunter liegt Cordis. Plugins liefern Dienste, typisierte Ereignisse und Effekte, die sich beim Entladen wieder zurücknehmen. Es gibt keinen privilegierten Kern, den Sie anpatchen. Modelladapter, Werkzeugregister, Sitzungslog und die Agentenschleife sind selbst Plugins. Die Architektur ist in dem Papier „A Programming Paradigm for Spatiotemporal Composability“ beschrieben (arXiv:2608.25512).
Ein laufendes dsh ist ein Plugin-Baum, der beim Start aus Schichten zusammengesetzt wird. Mitgeliefert sind die Profile web, headless, sdk, sdk-minimal und acp.
| Profil | Wofür es da ist |
|---|---|
web |
Browser-Oberfläche, Standard für den lokalen Start |
headless |
Ein Durchlauf ohne Server |
sdk |
JSON-RPC-Server für eigene Programme |
sdk-minimal |
Schlanker SDK-Baum, ohne die gemeinsame Basisschicht |
acp |
Nur Automatisierung, ohne die Web-App |
desktop |
Electron-App, eigener Profilordner, Standardport 19387 |
dsh-base ist die erste gemeinsame Schicht für Web, Headless, SDK und ACP: Adapter, Werkzeuge, Persistenz, Sandbox, Freigaben, Einstellungen, Zugangsdaten, Telemetrie. Darüber legt das Profil seine App. Ihre eigenen Abweichungen landen in cordis.patch.yml, nicht in einem Fork der Schleife. Welchen Baum Ihre Maschine wirklich startet, zeigt dsh --profile web --dump-config.
Die Sitzung ist ein anhängendes Log. Was das Modell sieht, wird daraus abgeleitet, nicht aus einem zweiten Gedächtnis daneben. Ein Schritt ist eine Modellanfrage plus die Werkzeuge, die sie aufruft. Ein Turn ist so viele Schritte, bis nichts mehr offen ist. Fehlgeschlagene Schritte sollen ausstehende Werkzeugergebnisse noch schließen, bevor der Schritt zu ist. Das ist die Art Detail, an der Agenten in der Praxis hängen bleiben, und es ist der Grund, warum der Harness interessanter ist als ein weiterer Chat.
Die Doku empfiehlt übrigens, die Codebasis mit einem Agenten zu lesen, und setzt Cordis als bekannt voraus. Das ist ein ehrliches Signal an IT-Leiter: Das hier ist ein Baukasten für ein Platform-Team, keine Anwendung, die Sie am Montag an 200 Leute verteilen.
So starten Sie die Web-Oberfläche
Node.js reicht für den ersten Blick. Der Befehl aus dem README startet die Oberfläche und öffnet den Browser. Per SSH gibt er nur die Adresse aus, weil der Tunnel dem Client gehört. --no-open lässt den Browser zu.
npx @deepseek-ai/dsh web
# lokal: http://127.0.0.1:3080
# aus einem Checkout stattdessen: pnpm install && pnpm run build && pnpm dsh web
Zwei Dinge, die im README leicht untergehen. Das Prozessverzeichnis ist nur der Dateisystem-Ort. Die Oberfläche hat trotzdem keinen Workspace, bis Sie einen wählen. Der Composer bleibt gesperrt, solange keins ausgewählt ist. Und der Schlüssel für DeepSeek wird unter Einstellungen, Modelle, gespeichert, ohne Neustart. Gespeichert wird er in $DSH_HOME/.credentials.yaml, und die Oberfläche bekommt danach nur noch eine geschwärzte Referenz. Den Klartext liest die Seite nicht wieder aus.
Ein sinnvoller erster Auftrag, so steht er in der Schnellstart-Anleitung: das Repository zusammenfassen und die Hauptpakete nennen. Der Agent darf Dateien lesen und ändern, Befehle ausführen, Arbeit abgeben und einen Plan führen. Die Oberfläche fragt nach, wo die aktive Rechtevorgabe eine Freigabe verlangt.
pnpm run dev:web baut und liefert die Client-Bündel bei Änderungen neu. make help listet die Make-Ziele für Web und Desktop. Für Agenten, die im Repo arbeiten sollen, verweist das Projekt auf AGENTS.md.
Modelle: DeepSeek, Fremdanbieter, eigenes Gateway
Neben dem DeepSeek-Schlüssel bringt dsh Karten für anthropic, openai, moonshotai (Kimi) und zai (GLM) mit. Anbieter mit OAuth, etwa Codex, sind dort noch nicht vorgesehen. Ein eigener Endpunkt, Relay, Firmen-Gateway oder selbst gehosteter Server, läuft über „Custom model API“. Sie vergeben eine dauerhafte Provider-ID, eine Base-URL, ein Protokoll und mindestens ein Modell. Die ID bleibt stehen, weil Sitzungen und Zugangsdaten darauf zeigen. Umbenennen heißt: neuen Anbieter anlegen, den alten löschen.
Drei Protokolle stehen zur Wahl, gespeichert als openai-completions, openai-responses und anthropic-messages. Ein Anbieter spricht eins davon. Ein Gateway, das zwei spricht, sind zwei Anbieter.
Hier wird es in der Praxis ungemütlich. Ein Gateway kann erreichbar sein, den Schlüssel akzeptieren und trotzdem jede Anfrage ablehnen, weil die Anfrage wie an OpenAI geformt wird. Reasoning-Modelle schicken den Systemprompt als Rolle developer, viele Gateways kennen die nicht. Die Ausgabelänge geht als max_completion_tokens raus. Server, die nur max_tokens verstehen, lehnen ab. Beides stellen Sie in $DSH_HOME/profiles/web/cordis.patch.yml, nicht in der Oberfläche.
# Auszug nach der Anbieter-Doku, Stand 28.09.2026
- id: llm-pi-ai
config:
providers:
firma-gateway:
apiKeyEnv: GATEWAY_API_KEY
api: openai-completions
baseURL: https://gateway.example/v1
compat:
supportsDeveloperRole: false
maxTokensField: max_tokens
models:
- id: deepseek-v4-pro
compat:
thinkingFormat: deepseek
thinkingFormat: deepseek brauchen Sie, wenn ein V4-Modell hinter einem OpenAI-kompatiblen Gateway von sich aus denkt und ein leeres off das Denken nicht abschaltet. Die eigene DeepSeek-Route kann das schon: dort gibt es off, low, high und max. Für Bildverstehen nennt die Doku auf dieser Route standardmäßig deepseek-flash und verlangt, dass der Endpunkt Bilder auch wirklich annimmt. Eine angekreuzte Modalität ist eine Behauptung über den Endpunkt, keine Prüfung. Wann sich eigene Hardware gegen die API rechnet, steht in Hosting statt API: der Break-even. Auf OpenRouter taucht DeepSeek Harness bereits als eigene App auf diesem Modell auf.
Wir raten davon ab, den ersten Gateway-Test mit dem Produktivschlüssel zu fahren. Ein falsch geformter Request verbrennt wenig Geld. Ein Plugin, das den Schlüssel aus der Umgebung liest, verbrennt Vertrauen.
Sandbox, Freigabe, und warum das keine Kontrolle ist
Die Safety-Notiz ist an dieser Stelle deutlicher als die meisten Projektseiten. Sandbox, Freigabedialoge und Rechte können das Risiko senken. Sie garantieren keine Isolation. Was der Prozess sehen darf, ist auch mit korrekter Sandbox erreichbar. DeepSeek Harness soll nicht die einzige Kontrolle für nicht vertrauenswürdige Lasten sein.
Was die Autoren selbst als verantwortlichen Umgang nennen, ist eine kurze Liste, und wir würden keine davon streichen:
- So wenig Rechte wie die Aufgabe braucht.
- Wegwerfbare VM, Container oder eine eigene Umgebung, nicht der Laptop mit dem Mailkonto.
- Sicherung der Dateien, die der Prozess anfassen kann.
- Keine produktiven Zugangsdaten, solange Sie den Verlust nicht bewusst in Kauf nehmen.
- Plugins, Konfiguration und vorgeschlagene Befehle lesen, bevor sie laufen.
Die MIT-Lizenz gibt keine Gewähr. Schäden an Rechner, Daten oder Dateien liegen beim Betreiber. Das ist keine Fußnote für Juristen. Es ist die Betriebsanweisung.
Für ein Platform-Team, das Agenten später an Orchestrierung im Unternehmen hängen will, ist der interessante Teil trotzdem die Naht: Dateisystem und Subprozess teilen sich eine Ausführungswelt. Wer beide auf eine entfernte Sandbox zeigt, zieht Bash, Terminal und LSP mit, ohne den Provider zu forken. Subagenten hängen hinter derselben Schnittstelle, vom frischen Kindprozess bis zu einem delegierten Turn in einem anderen Produkt. Experimentell gibt es Agent Teams mit Roster, Task-Board und Mailbox. Das ist die Richtung, in die ein eigener Rahmen später muss. Es ist nicht der Stand, den Sie diese Woche freigeben.
Pexon Consulting, 80 Mitarbeiter in Deutschland, sieht denselben Schnitt in Engineering-Stacks für KI: Das Modell ist austauschbar, der Rahmen mit Rechten, Log und Prüfung nicht. Eine Preview zeigt, wie so ein Rahmen aussehen kann. Sie ersetzt ihn nicht.
Wann die Preview reicht, und wann nicht
Drei Lagen, mehr braucht die Entscheidung nicht.
Ein Nachmittag in einer VM, um zu sehen, wie Sitzungslog, Freigabe und Plugin-Baum zusammenspielen: ja. Dafür ist npx @deepseek-ai/dsh web gebaut. Kompatibilität wird brechen, das steht in Großbuchstaben im README. Planen Sie den Nachmittag als Wegwerfexperiment, nicht als Architektur, die in drei Monaten noch so heißt.
Ein Coding-Agent für ein Team, das Repositories anfasst: noch nicht. Kein Audit, Breaking Changes, und der Prozess führt Befehle auf dem Rechner aus, auf dem er läuft. 238.700 Sterne ändern daran nichts.
Ein eigener Harness für eine Fachdomäne, in der kein Standardwerkzeug die Prüfung und die Rechte kennt: dann ist dsh eine Referenz, kein Fundament, das Sie einfrieren. Die Nähte (Werkzeug, Sandbox, Sitzungslog, austauschbarer Adapter) sind lesenswert. Die Garantie, dass 0.2.0-rc.1 in einem halben Jahr noch dieselbe Konfiguration frisst, gibt niemand, auch DeepSeek nicht.
Plugins, die Sie selbst schreiben, werden über das Topic dsh-plugin auffindbar. Das ist ein Ökosystem-Versprechen in einer Preview. Wir würden heute kein internes Plugin dagegen bauen, das nächste Quartal überleben muss, ohne einen Pin auf einen Commit und einen Test, der den Start prüft.
Häufig gestellte Fragen
Was ist DeepSeek Harness?
DeepSeek Harness, kurz dsh, ist der quelloffene Agent-Rahmen von DeepSeek AI. Alles ist ein Plugin, getragen vom Framework Cordis: Modelladapter, Werkzeuge, Sitzungslog und die Schleife selbst. Die Lizenz ist MIT. Stand 28.09.2026 ist das Paket @deepseek-ai/dsh beim Release-Kandidaten 0.2.0-rc.1, als Developer Preview mit angekündigten Bruchänderungen.
Was kostet DeepSeek Harness?
Die Software selbst ist kostenlos unter MIT. Kosten entstehen am Modell: API-Schlüssel von DeepSeek oder einem anderen Anbieter, den Sie in den Einstellungen hinterlegen. Der Startbefehl npx @deepseek-ai/dsh web verlangt Node.js, keine Lizenz. Was Sie nicht umsonst bekommen, ist der Betrieb. Eine Preview ohne Audit auf einem Rechner mit echten Daten ist die teure Variante.
Ist DeepSeek Harness produktionsreif?
Nein. Die Safety-Notiz sagt, es habe kein Sicherheitsaudit gegeben und dürfe nicht als sicher oder produktionsreif gelten. Sandbox und Freigaben senken das Risiko und garantieren keine Isolation. Test in einer VM. Nicht als alleinige Kontrolle für nicht vertrauenswürdige Aufträge.
DeepSeek Harness oder ein eigener Rahmen?
Für einen Nachmittag zum Verstehen der Plugin-Nähte reicht dsh. Sobald der Agent eine Fachprüfung bestehen muss, Rechte an Ihre Systeme bekommt oder ein Quartal lang dieselbe Konfiguration halten soll, ist die Preview das falsche Fundament. Dann bauen Sie den Rahmen um Ihre Domäne, und nutzen dsh als Anschauung, nicht als Laufzeit, die Sie einfrieren.
Wie starte ich DeepSeek Harness?
Mit Node.js: npx @deepseek-ai/dsh web. Die Oberfläche liegt standardmäßig auf http://127.0.0.1:3080. Danach einen Workspace wählen, sonst bleibt der Composer gesperrt, und unter Einstellungen einen Modellschlüssel speichern. Aus einem Checkout sind es pnpm install, pnpm run build und pnpm dsh web. Vorher die Safety-Notiz lesen.
Nächster Schritt
Wenn der Nachmittag in der VM gezeigt hat, dass der Rahmen zu Ihrer Domäne nicht passt, ist der nächste Schritt nicht ein zweites Plugin gegen eine Preview. Es ist die Entscheidung, welche Nähte Sie selbst besitzen wollen: Werkzeuge, Freigabe, Sitzungslog, Prüfung.
Verwandte Themen
→MCP, CLI und der Harness dazwischen
→Context Engineering: was ins Fenster gehört



