DeepSeek Harness: Installation, Profile und erster Lauf
Updated August 16, 2026 · first published August 16, 2026
Dies ist die praktische Hälfte unserer Berichterstattung zu DeepSeek Harness: wie Sie dsh zum Laufen bringen, was das Kompositionsmodell von Ihnen erwartet und welche Demos zehn Minuten wert sind.
Der schnellste Weg
npx @deepseek-ai/dsh web
Das startet die Web-Oberfläche unter http://127.0.0.1:3080. Von dort müssen zwei Dinge geschehen, bevor der Sitzungs-Composer nutzbar wird:
- Einstellungen → Modelle und den DeepSeek-API-Schlüssel eintragen. Die Route wird sofort aktiv, ohne Neustart.
- Arbeitsbereich wählen, um das Projektverzeichnis hinzuzufügen und zu aktivieren. Solange kein Arbeitsbereich aktiv ist, bleibt der Composer gesperrt.
Sobald es läuft, kann der Agent Dateien lesen und bearbeiten, Befehle ausführen, Aufgaben an Unteragenten abgeben und planen. Er fragt gemäß der aktiven Berechtigungsrichtlinie nach Bestätigung.
Aus dem Quellcode
git clone https://github.com/deepseek-ai/deepseek-harness
pnpm install
pnpm run build
pnpm dsh web
Zu beachtende Untergrenzen: Node 22.19 oder neuer (die CI deckt 22.19, 24 und 26 ab), Git 2.26 oder neuer und Corepack mit pnpm auf pnpm@11.7.0 festgelegt. Ein DEEPSEEK_API_KEY ist optional und wird aus der Umgebung oder einer gitignorierten .env im Wurzelverzeichnis gelesen; daneben kann DEEPSEEK_BASE_URL auf einen anderen Endpunkt zeigen. Die End-to-End-Suiten gegen die echte API überspringen sich selbst, wenn der Schlüssel fehlt, sodass ein Checkout ohne Schlüssel sauber baut und testet.
Profile und Bundles: das Kompositionsmodell
Da jeder Teil des Harness ein Plugin ist, muss irgendetwas festlegen, welche Plugins geladen werden. Das ist ein Profil: eine benannte Komposition, die eine geordnete Liste von Bundles plus eigene Patches speichert. Ein Bundle verteilt Cordis-Konfigurationszeilen und Code.
Drei Vorlagenprofile werden mitgeliefert:
| Profil | Was es komponiert |
|---|---|
dsh-base | Modelladapter, Werkzeuge, Persistenz |
dsh-web-app | Die Browser-Oberfläche |
dsh-headless | Einmal-Ausführung |
Die vierschichtige Überschreibungsreihenfolge
Die Konfiguration löst in fester Reihenfolge auf, spätere Schichten gewinnen:
- Profil-Bundles
- Profil-Patches
- Patches auf Home-Ebene
- Overlays von der Kommandozeile
Lernen Sie diese Reihenfolge, bevor Sie mit der Fehlersuche beginnen. Fast jede Frage der Art „warum nimmt es dieses Modell“ in einem geschichteten Konfigurationssystem beantwortet sich damit, welche Schicht den Wert zuletzt angefasst hat — und ein CLI-Overlay schlägt alles darunter.
Die Subsysteme, denen Sie begegnen
Sechs Registrierungsschlüssel tragen den Großteil des Verhaltens: ctx.sessions (das reine Anhänge-Ereignisprotokoll), ctx.systemPrompt, ctx.tools (eine gescopte Registry mit bewachter Ausführung), ctx.agents, ctx.agentLoop und ctx.llm. Wer das Harness erweitert, sucht zuerst nach diesen Namen.
Drei Demos, die sich lohnen
- Headless-Einmallauf:
pnpm dsh --profile headless "summarize this workspace". Die Form, die Sie in CI oder einen Cron-Job verdrahten würden. - Cordis-Introspektion:
pnpm run demo:cordis. Selbstbezüglich — sie inspiziert und verändert ihre eigene laufende Plugin-Laufzeit. Das ist der klarste Beleg, dass der Plugin-Anspruch strukturell und nicht werblich ist. - ACP-Automatisierung:
pnpm run demo:acp. Ein Automatisierungsserver, der JSON-RPC über stdio spricht — die Integrationsfläche, um das Harness aus einem anderen System heraus zu steuern.
Wenn Sie beitragen wollen
Ein paar Konventionen sparen Zeit. TODO-Markierungen sind nach Dringlichkeit abgestuft: FIXME blockiert ein Release, TODO heißt bald, XXX heißt irgendwann. Lefthook führt pre-commit aus (Staged-Pairing-Einträge, .oxlintrc.staged.json, Neuerzeugung der Drittanbieterhinweise, Whitespace, Vendor-Manifest-Wächter), dazu pre-merge-commit und pre-push (pnpm run typecheck). Die Hooks lassen Tests und Builds bewusst aus — die CI besitzt die vollständige Abdeckung, und pnpm run check:all ist das freiwillige umfassende lokale Tor.
Zwei Eigenheiten erklären sonst verwirrende Strukturen. Der Build teilt sich in Host- und Client-tsconfig-Aggregate, weil beide Seiten die Cordis-Context-Schnittstelle unter denselben Schlüsseln deklarationsverschmelzen und ein einzelnes TypeScript-Programm, das beide Verschmelzungen sieht, eine Kollision meldet. Und Codebeispiele in der Dokumentation werden durch ts type-equiv-Blöcke plus pnpm run verify-type-equiv ehrlich gehalten, damit eingefügte Deklarationen nicht stillschweigend vom Quellcode abdriften.
Erwartungen setzen
Die README sagt es deutlich: Dies ist ein Developer Preview, und es wird kompatibilitätsbrechende Änderungen geben. Die Plugin-Entdeckung läuft über das GitHub-Thema dsh-plugin, das Projekt ist MIT-lizenziert und Drittanbieter-Abhängigkeiten stehen in THIRD_PARTY_NOTICES.md. Evaluieren Sie jetzt, standardisieren Sie später.
Related
- Was ist DeepSeek Harness? Der Leitfaden
- Was „alles ist ein Plugin“ wirklich bringt (EN)
- Wo Ausgaben-Leitplanken hingehören (EN)
- Das Sitzungsprotokoll als Kostennachweis (EN)
Want this applied to your own LLM spend? FinOps LLM runs a free audit of your AI costs and shows where the savings are. Book free audit →