Zuletzt geprüft am 18. September 2026 anhand des offiziellen DeepSeek-Harness-Repositoriums, des Plugin Config Catalog, der Pack-und-Install-Dokumentation sowie der DeepSeek-API-Preisseite.
Im Konfigurationskatalog stehen Dutzende Pakete unter @deepseek-ai/dsh-*. Der erste Impuls ist oft: alles aktivieren, dann schreibt der Agent besser. In der Praxis passiert das Gegenteil. Die Werkzeugnamen füllen das Kontextfenster, MCP-Prozesse laufen nackt außerhalb der Sandbox, das Sitzungsprotokoll quillt über, die Rechnung klingelt zuerst – und die Patchqualität steigt nicht mit.
Vorweg: DeepSeek Harness (dsh) wirbt mit Everything is a Plugin. Beim Schreiben von Code kaufen Sie aber nicht die Anzahl der Pakete, sondern sechs Fähigkeiten: Repository lesen, Dateien ändern, Tests ausführen, Anleitungen erst bei Bedarf laden, Sitzungen zurückspielen, Token messen. Die zehn Pakete unten decken genau das. Der Rest ist Oberfläche, Demo oder austauschbares Backend – den holen Sie, wenn die Szene ihn wirklich braucht.
Im August haben wir die Nahtstellen in Plugins und Workflows des Agent Frameworks zerlegt. Im September folgte die Praxis zu Harness, Skill und Sandbox. Beide Texte erklären, warum die Ausführungsschicht getrennt bleibt. Hier geht es um den Alltag: Sie haben sich für dsh entschieden – welche Pakete gehören ins Profil, wie stapeln sie sich, und was kostet ein Monat ungefähr.
Nicht das ganze Regal: Plugins sind ein Bausatz
Offiziell sind Modelladapter, Werkzeugregistrierung, Sitzungsprotokoll und Agent-Schleife tauschbare Pakete. Cordis legt sie in ein Profile. Der Installationsweg heißt dsh plugin --profile web add <Paket>: Der Befehl geht an das pnpm im Profile-Verzeichnis und schiebt nur Pakete mit dsh.bundle auf den Stapel. Danach überschreiben der jüngere Bundle, das eigene cordis.patch.yml des Profiles, Patches im Home-Verzeichnis und zuletzt --patch.
Für Leute, die Code schreiben, folgen daraus drei Regeln.
- Geladen heißt nicht: dem Modell zeigen. Der MCP-Client hängt externe Werkzeuge als
mcp__server__toolein, etwamcp__github__create_issue. Die Dokumentation ist eindeutig: Jeder MCP-Server ist vertrauenswürdiger Code außerhalb der Sandbox. Standard ist keiner aktiv. - Die Schichtreihenfolge entscheidet. Modell, Sandbox oder ein einzelnes Werkzeug tauschen Sie per Patch, nicht durchs Kopieren eines Kernpakets.
dsh --profile web --dump-configzeigt den Baum, den die Maschine wirklich startet – genauer als jeder Katalogscreenshot. - Das Repositorium ist Developer Preview. Bruchstellen sind möglich. Als prüfbare Ausführungsschicht taugt es. Als fertig zertifizierte Produktionsplattform nicht.
Die zehn Pakete hier sind also kein „vollständiger Shop“. Es ist die kleinste Menge, die beim AI Coding häufig genug vorkommt. Läuft die Werkzeugschleife einmal aus dem Ruder, unterscheiden sich nur Feldnamen; das Ausfallbild bleibt gleich. Zuerst die Schleife stoppen, dann über weitere Plugins reden.
Zehn Plugins, die beim AI Coding wirklich tragen
Zu jedem Paket steht nur, welche Klasse von Unfällen es abfängt. Die Namen folgen dem Konfigurationskatalog. Paare gehören zur selben Naht – Definition, Anbieter oder Verbraucher. Nur die Hälfte zu installieren, lässt genau diese Naht offen.
1. dsh-tool-fs + dsh-tool-fs-search: zuerst das Repository sehen
Das Modell „refaktoriert“, bevor es ein Verzeichnis gelesen hat. Dateien öffnen und nach Symbol oder Text suchen ist die Voraussetzung für jeden späteren Edit. Fehlt dieses Paar, ersetzt der Editor selbstbewusst den falschen Pfad.
2. dsh-tool-str-replace-editor: blöcke tauschen, keine Datei neu schreiben
Der teuerste Fehler beim Coden ist nicht „nichts geändert“, sondern ein Aufruf, der die ganze Datei durch die Erinnerung des Modells ersetzt. Der String-Replace-Editor verlangt altes und neues Fragment und scheitert bei Konflikt, statt still zu überschreiben. Bei Mehrdatei-Umbauten ist das billiger als „komplette Datei erzeugen“ und leichter zurückzunehmen.
3. dsh-tool-bash + dsh-bash-sandbox: Tests müssen laufen und sich schließen lassen
Rote Tests, Linter, Build-Logs landen am Ende in einer Shell. Die offizielle Process Sandbox regelt nur Dateiwirkungen von Kindprozessen auf demselben Host: read-only verweigert Schreibzugriffe, workspace-write erlaubt Schreiben nur im Sitzungs-Workspace, danger-full-access umgeht die Isolation. Wurde Isolation verlangt und kein Backend kann sie halten, muss SANDBOX_UNAVAILABLE fallen – nacktes Durchreichen ist verboten. Netzisolation gehört nicht zu diesem Wortschatz. read-only sperrt keinen Ausgangsverkehr.
4. dsh-tool-lsp + dsh-lsp-stdio: den Compiler in die Schleife hängen
„Die Typen wirken stimmig“ und eine Diagnosemeldung des Language Servers sind zwei Welten. stdio-LSP macht Sprung zur Definition, Diagnosen und Symbolsuche zu Werkzeugen. Das lohnt bei TypeScript, Go oder Rust. Skript-Repos oder reine Dokumentaufgaben können das Paar weglassen und sparen eine Runde Werkzeugnamen.
5. dsh-tool-skill + dsh-skill-filesystem: Handbücher erst bei Bedarf
Stilregeln, Release-Checklisten und Testeinstiege leben als Skill. Das Modell sieht gewöhnlich nur den Katalog und ruft skill({ name }), wenn die Arbeit beginnt. Unter der Projektwurzel gewinnt .dsh/skills vor .agents/skills. Ein Skill ist kein Rechtesystem: Je klarer das Handbuch, desto gefährlicher ohne Sandbox. Details stehen in der Praxis-Artikel; hier zählt nur: Beim Coden ersetzt das Paar den Stapel „unbedingt einhalten“ im Systemprompt.
6. dsh-mcp-client: GitHub und ähnliche Außenwelt andocken
Eine Instanz, ein MCP-Server. Über stdio lässt sich @modelcontextprotocol/server-github ziehen; das Modell sieht begrenzte Namen wie mcp__github__create_issue. Gut für PR-Kommentare, Issue-Listen und Checks. Schlecht als Standard-Werkzeugkasten für jeden Edit. Geheimnisse gehören in Umgebungsvariablen. Der Prozess läuft außerhalb der Sandbox. Jeder weitere Server ist eine weitere Vertrauensfläche.
7. dsh-plan-mode: Plan schreiben, bevor der Workspace wackelt
Querschnittsrefactors, öffentliche APIs, Migrationsskripte – hier darf das Modell nicht nebenbei schreiben. Plan mode macht „Schritte listen und auf Freigabe warten“ zum Plugin-Verhalten, nicht zur Höflichkeitsbitte im Prompt. Einzelne Testfixes brauchen das nicht. Sobald drei Verzeichnisse oder mehr betroffen sind, zuerst einschalten.
8. dsh-tool-todo: Mehrschrittarbeit in der Sitzung festnageln
„Flaky Test, Regression, README“ nur im Chatgedächtnis endet oft ohne den letzten Schritt. Das Todo-Werkzeug macht die Liste zu einem Objekt, das die Sitzung aktualisieren kann. Es ersetzt weder Skill (wie) noch Plan (ob und in welcher Reihenfolge).
9. dsh-compaction-tool-result-pruner + dsh-token-meter: erst Ergebnisse schneiden, dann das Modell tauschen
AI-Coding-Rechnungen sterben selten in Runde eins. Sie sterben in Runde zehn, weil vollständige Testlogs, komplette Diffs und ganze Seitengrabs noch im Fenster liegen. Der Pruner wirft Werkzeugausgaben weg, die niemand mehr zitiert. Der Token-Meter zeigt, was jede Runde gekostet hat. Ohne Messung wissen Sie nicht, ob das Modell teuer ist oder die Plugins das Fenster vollgefüttert haben.
10. dsh-session-persistence-sqlite: Sitzungen zum Zurückspielen, nicht nur im RAM
Prozessneustart, Tabwechsel, jemand anderes debugt: Die nächste Runde muss aus dem Protokoll auf der Platte entstehen. JSONL kann mitschreiben; SQLite eignet sich besser zum Abfragen nach Sitzung und zum Nachvollziehen, warum genau diese Zeile geändert wurde. Fehlt diese Schicht, bleiben von den anderen neun Plugins nur Screenshots.
Vier Coding-Szenen, welche Plugins wann
Dieselben zehn Pakete müssen nicht in jedem Auftrag offen sein. Nach Aufgabe wählen ist billiger als nach „wirkt professionell“.
Szene A: roten Test flicken. Das Minimum ist fs / search, str-replace, bash+sandbox. Erst das Fehlerprotokoll lesen, dann den kleinsten Bereich ändern, dann denselben Test noch einmal. Ein Skill lohnt nur, wenn das Repo eine feste „zuerst diese Kommandozeile“-Regel hat. Plan und MCP sind hier Rauschen.
Szene B: Refactor über Dateigrenzen. Auf A kommen plan-mode, todo und LSP. Das Modell listet betroffene Symbole und Tests, die grün bleiben müssen – erst danach Schreibfreigabe. Ohne Plan endet der öffentliche Funktionsname oft halb umbenannt, während Aufrufer den alten Namen behalten.
Szene C: Review oder Patch gegen GitHub. MCP-Client dazu, genau ein Server. Darüber PR-Diff, Checks und Kommentare holen. Dateien ändern weiter editor + sandbox. Issue anlegen, mergen, Branch löschen gehört nicht auf dieselbe Standardliste wie der Alltagseditor.
Szene D: lange Sitzung, viele Explorationsrunden. Compaction und token-meter dazu, Sitzung nach SQLite. Hat das Modell zwanzig Dateien gelesen und Sie schneiden die Werkzeugresultate nicht, zahlt jede Folge-Runde die abgelaufenen Logs noch einmal. Ein stärkeres Modell heilt kein geblähtes Fenster.
Drei Profile: Alltag, Team, Kostenbremse
Die Szenen lassen sich in drei kopierbare Profile gießen. Das hält besser als jedes Mal cordis.yml per Hand zu verbiegen.
| Profil | Standard an | Erstmal aus | Für wen |
|---|---|---|---|
| Alltagscode | fs / search, editor, bash+sandbox, skill | MCP, Kind-Agenten, volle Websuche | Eine Person, Bugs, kleine Features |
| Team | Alltag + plan + todo + SQLite + ein GitHub-MCP | zweiter MCP, danger-full-access | Replay und Arbeit am PR |
| Kostenbremse | Alltag + token-meter + Ergebnis-Schnitt + Flash | Pro als Default, lange Logs ungeschnitten | Dutzende Schleifen pro Tag |
Websuche und Kind-Agenten sind erlaubt, aber teuer und großflächig im Fehler. Im Katalog stehen dsh-web-search-deepseek, dsh-tool-web und mehrere Subagent-Varianten. Wenn Dokumentation nachgeschlagen oder eine nur-lesende Recherche abgespalten werden soll, per Patch öffnen – nicht ins Alltagsbundle schreiben.
Bei der Installation die Schichtreihenfolge halten: zuerst @deepseek-ai/dsh-base, dann dsh plugin --profile <Name> add für Ihre Pakete, zuletzt mit dem Profile-Patch Werkzeuge verstecken, die das Modell nicht sehen soll. Quell-Plugins von GitHub mit prepare-Skript blockiert pnpm 10; dem offiziellen Hinweis folgen und freigeben, statt globale Gefahrrechte zu setzen.
Was die Bereitstellung kostet: Token, Maschine, Steuer
Die Plugins selbst haben praktisch keine Lizenzgebühr. Bezahlt werden Modelltoken, eine Maschine, die nicht einschläft, und jeder externe Prozess außerhalb der Sandbox.
Token sind der große Posten. Die offizielle Karte vom September 2026 rechnet je 1 Million Token: deepseek-flash (V4.1-Flash) Cache-Treffer etwa 0,003 / 0,006 Dollar, Cache-Verfehlung 0,15 / 0,30, Ausgabe 0,60 / 1,20 (Nebenzeit / Spitze); deepseek-v4-pro Verfehlung 0,66 / 1,32, Ausgabe 1,98 / 3,96. Spitze ist Montag bis Freitag UTC 01:00–04:00 und 06:00–10:00 – in Berlin grob die frühe Nacht plus der Vormittag, in Peking die beiden klassischen Büroblöcke. Nebenzeit kostet die Hälfte. Ein Lauf „acht Dateien lesen, zwei Testlogs, kleiner Patch“ frisst leicht zehntausende Eingabetoken. Ohne Schnitt zahlt Runde zehn die Logs der ersten neun noch einmal.
Alltagsrechnung: 30 Schleifen am Tag, im Schnitt 20 000 Eingabe (Cache-Verfehlung) plus 1 000 Ausgabe. Mit Flash in der Nebenzeit etwa 0,11 Dollar pro Tag, rund 3 Dollar im Monat. Dieselbe Frequenz mit Pro als Default und vollen Testausgaben im Fenster landet leicht bei einigen Dutzend Dollar. Sparen in dieser Reihenfolge: Werkzeugresultate schneiden und Cache treffen, dann entscheiden, ob Pro für diesen einen Auftrag nötig ist – nicht zuerst das Modell tauschen.
Die Maschine ist der zweite Posten. npx @deepseek-ai/dsh web öffnet die Oberfläche standardmäßig nur unter 127.0.0.1:3080. Tagsüber entwickeln, abends zu ist in Ordnung. Sollen SQLite-Sitzungen, Skill-Verzeichnisse und Sandbox-Politik rund um die Uhr erreichbar bleiben, braucht es einen Knoten, der nicht schläft. Klappdeckel, wechselndes Heim-NAT: Remote-Kollegen sehen dieselbe Sitzung nicht. Ein Cloud-Mac-mini macht das Preview-Harness nicht klüger als die API. Er zieht es von der Maschine runter, die gerade Builds ausliefert. Seatbelt-Sandbox, Unix-Werkzeuge und festes cwd sind planbarer als ein Windows-Notebook, das in den Ruhezustand fällt.
Die Plugin-Steuer ist der dritte Posten. Jeder weitere MCP-Server ist ein Prozess außerhalb der Sandbox plus ein Satz Geheimnisse. LSP hält einen Language Server warm. Web-Grabs gießen ganze HTML-Seiten ins Fenster. Nichts davon steht auf der DeepSeek-Karte, aber es frisst den Preisvorteil von Flash. Das Alltagsquartett kostet fast keine Steuer. Das Teamprofil mit einem GitHub-MCP bleibt meist sinnvoll. Suche, Kind-Agenten und zweiten MCP dauerhaft auf Default zu legen, verschiebt Kosten von Token in den Betrieb.
Preview bleibt Preview. Harness und Kundenprojekt auf derselben Build-Maschine zu schweißen, stapelt Schleife, Handbuch und Dateiisolation auf den Release-Pfad. Ein isolierter Knoten darf weggeworfen, zurückgerollt und in Rechten begrenzt werden. Das ist der gesamte Einsatz, den „Bereitstellung“ hier kaufen soll.
Wann ein Plugin dazukommt – und wann nicht
| Ihre Lage | Tun | Warum |
|---|---|---|
| Eine Funktion, ein Test | Alltagsquartett | Plan, MCP und LSP sind Extra-Werkzeugnamen |
| Öffentliche API oder mehr als drei Verzeichnisse | plan + todo + LSP dazu | Schritte klären, dann schreiben lassen |
| Arbeit an PR-Kommentaren oder Checks | Genau ein GitHub-MCP | Externe Werkzeuge sind Vertrauensfläche, nicht stapeln |
| Dutzende Runden, Rechnung zuckt | meter + Schnitt + Flash | Zuerst das Fenster lesen, dann das Modell tauschen |
| Skill und Sandbox noch vermischt | Keine Plugin-Erweiterung | Je voller das Handbuch, desto gefährlicher ohne Käfig |
Gegen eine selbst gebaute while-Schleife plus zwei, drei Tools kauft dsh getrennte Nähte für Schichtreihenfolge, Sitzung und Isolation. Bezahlt wird das Preview-Risiko und die Disziplin, den Katalog nicht leerzuräumen. Die zehn Pakete lohnen, wenn Sie in diesem Jahr wirklich Modell-Backends, Sandbox oder denselben Skill-Katalog über mehrere Repos tauschen. Wer nur sehen will, ob das Modell plaudern kann, braucht den vollen Stapel nicht.
Kurz: 2026 gewinnt beim Coden mit DeepSeek Harness nicht, wer am meisten installiert. Es gewinnt, wer für diesen einen Auftrag sagen kann, welche Schichten nötig sind. Lesen, ändern, ausführen, Anleitung bei Bedarf; Sitzung zurückspielbar, Token messbar. Plugins sind ein Bausatz, keine Sammlung.
Häufige Fragen
Müssen alle zehn Plugins auf einmal installiert werden?
Nein. Zuerst fs / search, editor, bash+sandbox und skill. Plan, LSP, MCP, Schnitt und SQLite kommen mit der Szene. Die übrigen Katalogpakete sind meist austauschbare Backends oder Oberfläche, kein Muss fürs Coden.
Ist das MCP-Plugin sicher?
Offiziell ist jeder MCP-Server vertrauenswürdiger Code außerhalb der Sandbox; standardmäßig ist keiner an. Nur den einen öffnen, den Sie brauchen, Geheimnisse in Umgebungsvariablen, nicht auf derselben Standardliste wie der Alltagseditor.
Warum kein Pro-Modell als Coding-Default?
Die Kosten entstehen über viele Runden Werkzeugresultate, nicht weil „das Modell zu dumm“ ist. Offiziell kostet Flash-Ausgabe in der Nebenzeit etwa 0,60 Dollar je Million Token, Pro etwa 1,98. Erst Logs schneiden und Cache treffen, dann entscheiden, ob dieser eine Auftrag Pro braucht.
Können wir das heute als Produktions-Coding-Plattform fahren?
Als Ausführungsmuster zum Prüfen und Isolieren ja. Nicht als fertig zertifizierte Plattform. Das offizielle Repo bleibt Developer Preview. Preview und ausliefernde Build-Maschine zu trennen, ist praktischer als die Debatte „dürfen wir live“.
Eine wegwerfbare dsh-Box auf einem Cloud-Mac-mini
Der AI-Coding-Stapel will festes cwd, dauerhafte SQLite-Sitzungen und unter macOS Seatbelt. Preview-dsh plus GitHub-MCP auf der einzigen Auslieferungsmaschine zu fahren, stapelt Schleife, Handbuch und externe Prozesse auf Kundenarbeit. Unified Memory eines M4 Mac mini trägt eine stabile Build-Spur und eine beschränkbare, rollbackbare Harness-Box nebeneinander. Rund 4 W Ruheleistung, natives Unix und SSH halten Skill-Verzeichnis und Sandbox-Workspace auf einer Maschine, die nicht einschläft.
Sollen Alltags-Coding-Knoten und Release-Build auseinander, kann Kvmkit Cloud-Mac-mini M4 eine isolierte Maschine nach Bedarf stellen—Tarife ansehen, damit Plugin-Bausatz und Token-Versuche einen Ort haben, ohne die ausliefernde Maschine zu belasten.