{"id":201,"date":"2026-11-06T10:40:51","date_gmt":"2026-11-06T06:40:51","guid":{"rendered":"https:\/\/demensdeum.com\/blog\/2026\/11\/06\/deepseek-harness-install-usage\/"},"modified":"2026-11-06T17:04:10","modified_gmt":"2026-11-06T13:04:10","slug":"deepseek-harness-install-usage","status":"publish","type":"post","link":"https:\/\/demensdeum.com\/blog\/de\/2026\/11\/06\/deepseek-harness-install-usage\/","title":{"rendered":"DeepSeek Harness: Installation, Funktionen und erster Start"},"content":{"rendered":"<p>DeepSeek Harness, kurz dsh, ist ein Open-Source-KI-Agent-Harness von DeepSeek AI. Wenn das Modell Fragen beantwortet, gibt das Geschirr seine H\u00e4nde: liest und bearbeitet Dateien, f\u00fchrt Befehle aus, h\u00e4lt Sitzungen ab, zeigt den Ausf\u00fchrungsverlauf an und l\u00e4sst sich mit Plugins erweitern. Das Projekt wird unter der MIT-Lizenz vertrieben und befindet sich in der \u00f6ffentlichen Vorschau.<\/p>\n<p>Der Grundgedanke von DeepSeek Harness lautet \u201eAlles ist ein Plugin\u201c \u2013 w\u00f6rtlich \u201eAlles ist ein Plugin\u201c. Darauf baut das gesamte Produkt auf: Modelladapter, eine Tool-Registrierung, ein Sitzungsprotokoll, eine Schnittstelle und sogar der Agentenzyklus selbst. Es basiert auf dem Cordis-Framework, sodass ein Entwickler nicht nur einen neuen Befehl hinzuf\u00fcgen, sondern das gesamte Verhalten des Agenten ersetzen kann, ohne den Kernel zu forken.<\/p>\n<p>Sie k\u00f6nnen mit dsh auf verschiedene Arten arbeiten: \u00fcber die lokale Weboberfl\u00e4che, \u00fcber eine Desktop-Anwendung, \u00fcber die Befehlszeile im Headless-Modus oder \u00fcber das Python SDK. Nachfolgend finden Sie die Installation, den ersten Start und einen \u00dcberblick \u00fcber die Funktionen.<\/p>\n<h2>Was Sie brauchen<\/h2>\n<p>Die Weboberfl\u00e4che und die CLI erfordern Node.js. Das Projekt hat strenge Anforderungen:<\/p>\n<ul>\n<li><b>Node.js 22.19.0 oder h\u00f6her<\/b> in der 22.x-Zeile.<\/li>\n<li><b>Node.js 24.0.0 oder h\u00f6her<\/b> in der 24.x-Zeile.<\/li>\n<li><b>Node.js 23.x wird in keinem Patch unterst\u00fctzt<\/b>: Diese Linie ist nicht LTS und wurde bereits eingestellt.<\/li>\n<\/ul>\n<p>Zus\u00e4tzlich zu Node.js ben\u00f6tigen Sie den DeepSeek-API-Schl\u00fcssel. Es wird in Ihrem pers\u00f6nlichen Konto auf platform.deepseek.com erstellt. Die Desktop-Anwendung ben\u00f6tigt kein Node.js \u2013 die Umgebung ist bereits dort verpackt.<\/p>\n<p>Sie k\u00f6nnen die Version mit dem Befehl \u00fcberpr\u00fcfen:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism undefined-numbers lang-unknown\" data-lang=\"unknown\"><code>node -v\n<\/code><\/pre>\n<\/div>\n<h2>Installation \u00fcber npx<\/h2>\n<p>Der schnellste Weg, das Projekt kennenzulernen, besteht darin, \u00fcberhaupt nichts global zu installieren. F\u00fchren Sie einfach Folgendes aus:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism undefined-numbers lang-unknown\" data-lang=\"unknown\"><code>npx @deepseek-ai\/dsh web\n<\/code><\/pre>\n<\/div>\n<p>Der Befehl l\u00e4dt das Paket <b>@deepseek-ai\/dsh<\/b> von npm herunter, richtet einen lokalen Webserver ein und \u00f6ffnet die Schnittstelle im Browser. Standardm\u00e4\u00dfig lauscht es auf die Adresse:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism undefined-numbers lang-unknown\" data-lang=\"unknown\"><code><a href=\"https:\/\/127.0.0.1:3080\" rel=\"noopener\" target=\"_blank\">https:\/\/127.0.0.1:3080<\/a><\/code><\/pre>\n<\/div>\n<p>Wenn Sie den Browser nicht \u00f6ffnen m\u00fcssen, beispielsweise auf einem Remote-Computer, f\u00fcgen Sie das Flag <b>&#8211;no-open<\/b> hinzu:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism undefined-numbers lang-unknown\" data-lang=\"unknown\"><code>npx @deepseek-ai\/dsh web --no-open\n<\/code><\/pre>\n<\/div>\n<p>Beim Start \u00fcber SSH gibt dsh die Adresse aus, versucht jedoch nicht, den Browser zu \u00f6ffnen: Die lokale Adresse geh\u00f6rt dem SSH-Client oder -Editor.<\/p>\n<h2>Globale Installation<\/h2>\n<p>Wenn Sie ein Tool st\u00e4ndig ben\u00f6tigen, ist es bequemer, es global zu installieren. Das Paket stellt die <b>dsh<\/b>-Bin\u00e4rdatei bereit:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism undefined-numbers lang-unknown\" data-lang=\"unknown\"><code>npm install -g @deepseek-ai\/dsh\ndsh web\n<\/code><\/pre>\n<\/div>\n<p>Danach ist der Befehl dsh in jedem Verzeichnis verf\u00fcgbar. Das Update erfolgt wie gewohnt:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism undefined-numbers lang-unknown\" data-lang=\"unknown\"><code>npm install -g @deepseek-ai\/dsh@latest\n<\/code><\/pre>\n<\/div>\n<h2>Desktop-Anwendung<\/h2>\n<p>F\u00fcr diejenigen, die kein Terminal und Node.js besitzen m\u00f6chten, ver\u00f6ffentlicht DeepSeek Desktop-Builds. Sie sind auf der offiziellen Download-Seite verf\u00fcgbar:<\/p>\n<ul>\n<li><b>macOS<\/b> \u2013 Apple Silicon, macOS 13 oder h\u00f6her, DMG-Format.<\/li>\n<li><b>Windows<\/b> \u2013 64-Bit-Assembly, EXE-Format.<\/li>\n<\/ul>\n<p>Die Anwendung arbeitet mit denselben lokalen Dateien, kann Aufgaben im Hintergrund ausf\u00fchren und speichert Sitzungen auf die gleiche Weise wie die Webversion. Dies ist eine praktische Option f\u00fcr die t\u00e4gliche Arbeit, wenn Sie den Server nicht jedes Mal manuell hochfahren m\u00f6chten.<\/p>\n<h2>Aufbau aus Quellen<\/h2>\n<p>Wenn Sie die volle Kontrolle \u00fcber den Code, Ihre eigenen Patches oder die Plugin-Entwicklung ben\u00f6tigen, wird das Projekt aus dem Repository gesammelt. Sie ben\u00f6tigen pnpm und das Repository repariert eine bestimmte Version, daher sollten Sie zuerst Corepack aktivieren:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism undefined-numbers lang-unknown\" data-lang=\"unknown\"><code>corepack enable\ngit clone https:\/\/github.com\/deepseek-ai\/deepseek-harness.git\ncd deepseek-harness\npnpm install\npnpm run build\npnpm dsh web\n<\/code><\/pre>\n<\/div>\n<p>Der Befehl <b>pnpm run build<\/b> bereitet Paket- und Frontend-Artefakte vor und <b>pnpm dsh web<\/b> f\u00fchrt die bereits erstellte Version aus, ohne sie neu zu erstellen. F\u00fcr die Entwicklung gibt es einen Modus <b>pnpm run dev:web<\/b>: Er erstellt, startet den Server und erstellt Client-Bundles neu, wenn sich die Quellen \u00e4ndern.<\/p>\n<h2>Erster Start<\/h2>\n<p>Nach dem Starten der Weboberfl\u00e4che ist der Ablauf wie folgt.<\/p>\n<p>\u00d6ffnen Sie zun\u00e4chst <b>Einstellungen \u2192 Modelle<\/b> und geben Sie den DeepSeek-API-Schl\u00fcssel ein. Der Schl\u00fcssel wird in der Datei <b>$DSH_HOME\/.credentials.yaml<\/b> gespeichert und in den Einstellungen verbleibt nur ein Link dazu. Die Einstellungsseite erh\u00e4lt eine bereits maskierte Beschreibung des Geheimnisses, so dass es unm\u00f6glich ist, den Schl\u00fcssel von der Schnittstelle zur\u00fcckzulesen. Modell\u00e4nderungen werden ab der n\u00e4chsten Anfrage \u00fcbernommen; Es ist nicht erforderlich, den Server neu zu starten.<\/p>\n<p>Anschlie\u00dfend w\u00e4hlen Sie \u00fcber <b>Arbeitsbereich ausw\u00e4hlen<\/b> Ihren Arbeitsordner aus. Solange der Arbeitsbereich nicht ausgew\u00e4hlt ist, bleibt das Aufgabeneingabefeld ausgegraut. Dies geschieht mit Absicht: Der Agent muss die Grenzen verstehen, innerhalb derer er Dateien lesen und \u00e4ndern darf.<\/p>\n<p>Anschlie\u00dfend k\u00f6nnen Sie die erste Aufgabe abschicken. Zum Beispiel:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism undefined-numbers lang-unknown\" data-lang=\"unknown\"><code>Summarize this repository and identify its main packages.\n<\/code><\/pre>\n<\/div>\n<p>Der Agent liest das Projekt, erstellt einen Plan, ruft die erforderlichen Tools auf und zeigt das Ergebnis. Bei Vorg\u00e4ngen, die eine Best\u00e4tigung basierend auf der aktuellen Zugriffsrichtlinie erfordern, fragt dsh vor der Ausf\u00fchrung nach.<\/p>\n<h2>Modelle und Anbieter<\/h2>\n<p>DeepSeek verbindet sich in einem Schritt: Die Anbieterkarte in den Einstellungen enth\u00e4lt nur ein Feld f\u00fcr den API-Schl\u00fcssel. Dar\u00fcber hinaus k\u00f6nnen Sie Dienste von Drittanbietern hinzuf\u00fcgen. Das integrierte Verzeichnis kennt Bezeichner wie <b>anthropic<\/b>, <b>openai<\/b>, <b>moonshotai<\/b> f\u00fcr Kimi und <b>zai<\/b> f\u00fcr GLM.<\/p>\n<p>F\u00fcr Ihr eigenes Gateway, Ihren Unternehmens-Proxy oder lokalen Server gibt es einen <b>Custom Model API<\/b>-Modus. Es fragt:<\/p>\n<ul>\n<li>permanente Anbieterkennung;<\/li>\n<li>Anzeigename;<\/li>\n<li>API-Basisadresse;<\/li>\n<li>Protokoll: OpenAI-Chat-Abschl\u00fcsse, OpenAI-Antworten oder Anthropic-Nachrichten;<\/li>\n<li>Schl\u00fcssel und Liste der Modelle.<\/li>\n<\/ul>\n<p>Das Protokoll ist wichtig: Ein Anbieter spricht ein Protokoll. Wenn ein Gateway sowohl OpenAI als auch Anthropic unterst\u00fctzt, muss es von zwei Anbietern beschrieben werden. F\u00fcr Modelle k\u00f6nnen Sie die Gr\u00f6\u00dfe des Kontextfensters, die maximale Anzahl von Ausgabetokens und unterst\u00fctzte Eingabedatentypen, einschlie\u00dflich Bilder, angeben.<\/p>\n<p>DeepSeek-Modelle haben die Argumentationsstufen <b>aus<\/b>, <b>niedrig<\/b>, <b>hoch<\/b> und <b>max<\/b>. Die Stufe wird im Men\u00fc <b>Aufwand<\/b> neben dem Modell ausgew\u00e4hlt. F\u00fcr Routineaufgaben im Repository gen\u00fcgt ein schnelles Modell, bei komplexen Architekturaufgaben ist es jedoch sinnvoll, den Aufwand zu erh\u00f6hen oder ein h\u00f6herklassiges Modell zu nehmen.<\/p>\n<h2>Plugins und Creator-Modus<\/h2>\n<p>Plugins sind das Hauptmerkmal von DeepSeek Harness. Durch sie werden Werkzeuge, F\u00e4higkeiten, Schnittstellenelemente und ganze Anwendungen hinzugef\u00fcgt. Die Schnittstelle verf\u00fcgt \u00fcber einen Plugin-Manager mit offiziellen und experimentellen Sets: Agentenbefehle, automatische Best\u00e4tigung, geplante Aufgaben, Spracheingabe, Terminal, Subagenten.<\/p>\n<p>Der <b>Creator-Modus<\/b> sticht gesondert hervor. In diesem Modus k\u00f6nnen Sie den Agenten direkt im Chat bitten, ein Plugin zu schreiben. Es l\u00e4dt den Cordis-Plugin-Entwicklungsskill herunter, erstellt eine Paketstruktur, schreibt Code, installiert das Plugin und \u00fcberpr\u00fcft seinen Status. Auf der offiziellen Projektseite gibt es ein Beispiel, in dem ein schwebender Pomodoro-Timer auf diese Weise zusammengebaut wird.<\/p>\n<p>Plugins k\u00f6nnen auch \u00fcber die Befehlszeile installiert werden. F\u00fcr ein Webprofil sieht der Befehl so aus:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism undefined-numbers lang-unknown\" data-lang=\"unknown\"><code>dsh plugin --profile web add some-dsh-plugin\n<\/code><\/pre>\n<\/div>\n<p>Npm-Pakete, Links wie github:owner\/repo, lokale Verzeichnisse und TGZ-Archive werden unterst\u00fctzt. Nach der Installation ist es sinnvoll zu pr\u00fcfen, ob der Plugin-Layer tats\u00e4chlich in der Konfiguration enthalten ist:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism undefined-numbers lang-unknown\" data-lang=\"unknown\"><code>dsh --profile web --dump-config\n<\/code><\/pre>\n<\/div>\n<p>Der Befehl druckt den zusammengestellten Plugin-Baum, ohne den Server zu starten. Wenn keine neue Ebene vorhanden ist, hat das Bundle h\u00f6chstwahrscheinlich kein dsh.bundle-Manifest deklariert und als regul\u00e4re Bibliothek und nicht als enthaltenes Plugin installiert.<\/p>\n<p>Zu den experimentellen Einstellungen geh\u00f6ren <b>Benutzerdefinierte Plugin-M\u00e4rkte<\/b>. Dies ist eine Index-JSON-Datei mit einer Liste von Plugins, ihren Versionen, Symbolen und Quellen. Durch die Aktivierung des Sets erhalten Sie eine Registerkarte <b>Entdecken<\/b> auf der Plugins-Seite und die M\u00f6glichkeit, M\u00e4rkte von Drittanbietern zu verbinden. Wie jede Quelle Dritter sollte ein solcher Markt nur dann hinzugef\u00fcgt werden, wenn Sie seinen Autoren vertrauen.<\/p>\n<h2>Verlauf und Pr\u00fcfung<\/h2>\n<p>F\u00fcr jede Sitzung schreibt dsh ein Nur-Anh\u00e4nge-Ereignisprotokoll \u2013 <b>Trajectory<\/b>. Es speichert die Systemaufforderung, Argumentation, Toolaufrufe und deren Ergebnisse, Subagentenplanung und Kontexteinf\u00fcgungen. Sitzungswiederaufnahme, Forks, Suche und Wiedergabe basieren auf diesem Protokoll.<\/p>\n<p>Der praktische Vorteil besteht darin, dass das Gespr\u00e4ch keine Blackbox mehr ist. In der Schnittstelle k\u00f6nnen Sie die Trajektorie \u00f6ffnen und sehen, welche Tools aufgerufen wurden, wie lange jeder Schritt gedauert hat, welche Dateien ge\u00e4ndert wurden und wie viele Token f\u00fcr die Anfrage ausgegeben wurden. Sollte sich ein Agent merkw\u00fcrdig verhalten, ist der Grund meist hier sichtbar und nicht in einer kurzen Antwort im Chat.<\/p>\n<p>Sitzungen befinden sich in <b>~\/.dsh\/sessions<\/b> in Form von JSONL-Protokollen. Sie k\u00f6nnen sie lesen, danach suchen und Ihre eigenen Analysen erstellen. Dadurch ist es auch m\u00f6glich, Ausgaben und Cache-Treffer genau zu berechnen, die in einer regul\u00e4ren API-Rechnung nicht sichtbar sind.<\/p>\n<h2>Hintergrundaufgaben und Zeitpl\u00e4ne<\/h2>\n<p>DeepSeek Harness kann nicht nur im Modus \u201eFragen und eine Antwort erhalten\u201c arbeiten. Aufgaben k\u00f6nnen im Hintergrund gestartet und geplant werden. Bitten Sie den Agenten beispielsweise, jeden Freitag um 17:00 Uhr einen w\u00f6chentlichen Bericht aus den Projektnotizen zusammenzustellen. In der Benutzeroberfl\u00e4che sind solche Aufgaben separat sichtbar: Sie k\u00f6nnen den Status \u00fcberpr\u00fcfen, den Verlauf anzeigen und Ausf\u00fchrungsdetails \u00f6ffnen.<\/p>\n<p>F\u00fcr die Automatisierung gibt es ein Headless-Profil. Es startet eine Sitzung, gibt die endg\u00fcltige Antwort aus und wird beendet:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism undefined-numbers lang-unknown\" data-lang=\"unknown\"><code>dsh --profile headless \"run the tests\"\n<\/code><\/pre>\n<\/div>\n<p>Dieser Modus ist praktisch f\u00fcr CI, Cron und Skripte, bei denen kein Webinterface ben\u00f6tigt wird. Zus\u00e4tzlich zu Headless sind die Profile <b>sdk<\/b> und <b>acp<\/b> verf\u00fcgbar: Das erste bedient SDK-Clients \u00fcber JSON-RPC, das zweite bedient Automatisierungs-Clients \u00fcber ACP stdio.<\/p>\n<h2>Subagenten, MCPs und F\u00e4higkeiten<\/h2>\n<p>Eine komplexe Aufgabe kann auf Subagenten aufgeteilt werden. Der Hauptagent plant die Arbeit und einzelne Unteragenten arbeiten in ihren Bereichen. Dies tr\u00e4gt dazu bei, den Kontext kompakt zu halten und nicht den gesamten Verlauf in jede Anfrage zu ziehen.<\/p>\n<p>Externe Tools und Datenquellen werden \u00fcber MCP angebunden. Die Dokumentation enth\u00e4lt einen separaten Leitfaden f\u00fcr Speicher-MCP sowie Integrationen wie GitHub-\u00dcberpr\u00fcfungssitzungen. F\u00e4higkeiten beschreiben wiederholbare Verfahren, die der Agent nach Bedarf l\u00e4dt, anstatt st\u00e4ndig alle Anweisungen in einer Systemaufforderung zu speichern.<\/p>\n<h2>Profile, Bundles und Patches<\/h2>\n<p>Die dsh-Konfiguration besteht aus drei Schichten. <b>Bundle<\/b> ist eine Reihe von Konfigurationszeilen und Plugin-Code, also eine vorgefertigte Funktionalit\u00e4t. <b>Profil<\/b> ist eine benannte Zusammenstellung von Bundles, die in <b>$DSH_HOME\/profiles\/<name><\/b> gespeichert ist. <b>Patch<\/b> ist eine YAML-Datei, die bereits geladene Zeilen nach Kennung \u00e4ndert, deaktiviert oder neue hinzuf\u00fcgt.<\/p>\n<p>Die Reihenfolge der Anwendung ist wie folgt: zuerst die Bundles in Profilreihenfolge, dann der Profil-Patch, dann der allgemeine Patch <b>$DSH_HOME\/cordis.patch.yml<\/b> und am Ende die \u00fcber <b>&#8211;patch<\/b> \u00fcbertragenen Overlays. Dies bedeutet, dass fast jede Einstellung \u00fcberschrieben werden kann, ohne die Bundle-Quellen zu ber\u00fchren. Sie k\u00f6nnen den resultierenden Baum mit dem folgenden Befehl anzeigen:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism undefined-numbers lang-unknown\" data-lang=\"unknown\"><code>dsh --profile web --dump-config\n<\/code><\/pre>\n<\/div>\n<p>Ein Standard-Webprofil hei\u00dft <b>Web<\/b>, ein serverloses Profil hei\u00dft <b>Headless<\/b>. Ihre Einstellungsdateien befinden sich in <b>$DSH_HOME\/profiles\/web\/cordis.patch.yml<\/b> und <b>$DSH_HOME\/profiles\/headless\/cordis.patch.yml<\/b>. Hier schreibt dsh die \u00fcber die Einstellungsschnittstelle vorgenommenen \u00c4nderungen.<\/p>\n<h2>Python SDK<\/h2>\n<p>Es gibt ein offizielles SDK f\u00fcr Python-Projekte. Es wird in einer virtuellen Umgebung installiert und bringt eine native Laufzeit mit, sodass das System Node.js f\u00fcr die normale Arbeit nicht ben\u00f6tigt wird:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism undefined-numbers lang-unknown\" data-lang=\"unknown\"><code>python -m venv .venv\n.venv\\Scripts\\Activate.ps1\npython -m pip install deepseek-harness-sdk\n<\/code><\/pre>\n<\/div>\n<p>Ein minimales Startup-Beispiel sieht so aus:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism undefined-numbers lang-unknown\" data-lang=\"unknown\"><code>from pathlib import Path\n\nfrom deepseek_harness import DeepSeekHarness\n\nworkspace = Path(\"C:\/work\/disposable-workspace\").resolve()\ndsh_home = Path(\"C:\/work\/example-dsh-home\").resolve()\n\nwith DeepSeekHarness(\n    provider=\"deepseek-official\",\n    model=\"deepseek-v4-flash\",\n    max_tokens=49_152,\n    cwd=str(workspace),\n    dsh_home=str(dsh_home),\n    profile=\"sdk-minimal\",\n) as harness:\n    result = harness.run(\n        \"Inspect the repository and fix the failing tests.\",\n        session_id=\"example-001\",\n    )\n\nprint(result.final_response)\n<\/code><\/pre>\n<\/div>\n<p>Das SDK startet den geb\u00fcndelten DSH-Prozess mit dem SDK-Minimal-Profil und verwendet es erneut, bevor es den Kontextmanager verl\u00e4sst. Das Minimalprofil ist absichtlich eingeschr\u00e4nkt: Es verf\u00fcgt \u00fcber Bash oder PWSH, Bildlesen und ein Arbeitsverzeichnis, aber keine Web-Tools, Subagenten oder einige der Datei-Tools. Bei einmaligen Aufgaben ist das ein Plus: Es gibt weniger Kontrollfl\u00e4che.<\/p>\n<h2>Worauf Sie achten sollten<\/h2>\n<p>DeepSeek Harness ist eine <b>Entwicklervorschau<\/b> Version 0.1.0-rc.x. Die README-Datei warnt ausdr\u00fccklich davor, dass die Kompatibilit\u00e4t beeintr\u00e4chtigt wird. F\u00fcr Experimente, pers\u00f6nliche Projekte und Automatisierung ist das in Ordnung, aber f\u00fcr einen Prozess, der gerade jetzt Geld einbringt, lohnt es sich, das Risiko abzuw\u00e4gen und einen Backup-Plan zu erstellen.<\/p>\n<p>Der zweite Punkt ist Node.js. Wenn Sie 22.18 oder 23.x haben, st\u00fcrzt die Installation ab oder verh\u00e4lt sich unvorhersehbar. \u00dcberpr\u00fcfen Sie die Version im Voraus: Das Projekt verwendet node:sqlite und TypeScripts integriertes L\u00f6schen von Typen, die einen neuen Zweig ben\u00f6tigen.<\/p>\n<p>Der dritte Punkt ist die Sandbox und die Rechte. Standardm\u00e4\u00dfig arbeitet der Agent nach einer Richtlinie, die der von Workspace-Write \u00e4hnelt: Er kann Dateien im ausgew\u00e4hlten Ordner \u00e4ndern und potenziell gef\u00e4hrliche Vorg\u00e4nge erfordern eine Best\u00e4tigung. Der Danger-Full-Access-Modus bietet mehr Freiheit, aber das Risiko wird h\u00f6her. Bevor Sie mit einem echten Repository experimentieren, ist es sinnvoll, einen Commit oder ein Backup durchzuf\u00fchren.<\/p>\n<p>Der vierte Punkt sind die Kosten. DSH selbst ist kostenlos, aber f\u00fcr den R\u00fcckschluss zahlen Sie dem Anbieter Token. Bei langen Sitzungen ist das Pr\u00e4fix-Caching wichtig: dsh stellt Anfragen so zusammen, dass der Verlauf und die Tool-Schemata m\u00f6glichst lange unver\u00e4ndert bleiben. Wenn sich herausstellt, dass die Punktzahl h\u00f6her ist als erwartet, achten Sie nicht nur auf den Preis pro Token, sondern auch auf den Anteil der Cash-Hits an der Entwicklung.<\/p>\n<h2>Ist es einen Versuch wert?<\/h2>\n<p>DeepSeek Harness ist vor allem f\u00fcr diejenigen interessant, die nicht nur \u201eeinen weiteren Chat mit einem Model\u201c, sondern eine kontrollierte Umgebung f\u00fcr Agenten w\u00fcnschen. Es gibt eine transparente Flugbahn, normale Arbeit mit Dateien und Befehlen, Hintergrundaufgaben, Subagenten und eine wirklich tiefgreifende Erweiterung durch Plugins. Die M\u00f6glichkeit, eine Agentenschleife durch eine eigene zu ersetzen, ist selten und m\u00f6glicherweise f\u00fcr Forschung und benutzerdefinierte Orchestrierung sehr n\u00fctzlich.<\/p>\n<p>Wenn Sie ein stabiles Tool f\u00fcr die t\u00e4gliche bezahlte Arbeit ben\u00f6tigen, ist es jetzt kl\u00fcger, dsh als zweiten Agenten neben dem Hauptagenten zu behandeln: Probieren Sie es an einem pers\u00f6nlichen Projekt aus, vergleichen Sie die Kosten und Qualit\u00e4t Ihrer Aufgaben und \u00fcbertragen Sie es erst dann in den Workflow.<\/p>\n<h2>Links<\/h2>\n<p><a href=\"https:\/\/www.deepseek.com\/harness\/\" rel=\"noopener\" target=\"_blank\">https:\/\/www.deepseek.com\/harness\/<\/a><br \/>\n<a href=\"https:\/\/www.deepseek.com\/download\/\" rel=\"noopener\" target=\"_blank\">https:\/\/www.deepseek.com\/download\/<\/a><br \/>\n<a href=\"https:\/\/github.com\/deepseek-ai\/deepseek-harness\" rel=\"noopener\" target=\"_blank\">https:\/\/github.com\/deepseek-ai\/deepseek-harness<\/a><br \/>\n<a href=\"https:\/\/deepseek-harness.github.io\/deepseek-harness\/en\/guide\/quickstart\" rel=\"noopener\" target=\"_blank\">https:\/\/deepseek-harness.github.io\/deepseek-harness\/en\/guide\/quickstart<\/a><br \/>\n<a href=\"https:\/\/deepseek-harness.github.io\/deepseek-harness\/en\/guide\/providers\" rel=\"noopener\" target=\"_blank\">https:\/\/deepseek-harness.github.io\/deepseek-harness\/en\/guide\/providers<\/a><br \/>\n<a href=\"https:\/\/deepseek-harness.github.io\/deepseek-harness\/en\/guide\/python-sdk\" rel=\"noopener\" target=\"_blank\">https:\/\/deepseek-harness.github.io\/deepseek-harness\/en\/guide\/python-sdk<\/a><br \/>\n<a href=\"https:\/\/platform.deepseek.com\/\" rel=\"noopener\" target=\"_blank\">https:\/\/platform.deepseek.com\/<\/a><\/p>\n<h2>Quellen<\/h2>\n<p><a href=\"https:\/\/github.com\/deepseek-ai\/deepseek-harness\/blob\/master\/README.md\" rel=\"noopener\" target=\"_blank\">https:\/\/github.com\/deepseek-ai\/deepseek-harness\/blob\/master\/README.md<\/a><br \/>\n<a href=\"https:\/\/github.com\/deepseek-ai\/deepseek-harness\/blob\/master\/apps\/cli\/README.md\" rel=\"noopener\" target=\"_blank\">https:\/\/github.com\/deepseek-ai\/deepseek-harness\/blob\/master\/apps\/cli\/README.md<\/a><br \/>\n<a href=\"https:\/\/deepseek-harness.github.io\/deepseek-harness\/en\/guide\/quickstart\" rel=\"noopener\" target=\"_blank\">https:\/\/deepseek-harness.github.io\/deepseek-harness\/en\/guide\/quickstart<\/a><br \/>\n<a href=\"https:\/\/deepseek-harness.github.io\/deepseek-harness\/en\/guide\/providers\" rel=\"noopener\" target=\"_blank\">https:\/\/deepseek-harness.github.io\/deepseek-harness\/en\/guide\/providers<\/a><br \/>\n<a href=\"https:\/\/deepseek-harness.github.io\/deepseek-harness\/en\/guide\/python-sdk\" rel=\"noopener\" target=\"_blank\">https:\/\/deepseek-harness.github.io\/deepseek-harness\/en\/guide\/python-sdk<\/a><br \/>\n<a href=\"https:\/\/deepseek-harness.github.io\/deepseek-harness\/en\/guide\/plugin-market\" rel=\"noopener\" target=\"_blank\">https:\/\/deepseek-harness.github.io\/deepseek-harness\/en\/guide\/plugin-market<\/a><br \/>\n<a href=\"https:\/\/dshdocs.com\/getting-started\/installation\/\" rel=\"noopener\" target=\"_blank\">https:\/\/dshdocs.com\/getting-started\/installation\/<\/a><br \/>\n<a href=\"https:\/\/dshdocs.com\/concepts\/profiles-bundles-patches\/\" rel=\"noopener\" target=\"_blank\">https:\/\/dshdocs.com\/concepts\/profiles-bundles-patches\/<\/a><br \/>\n<a href=\"https:\/\/dshdocs.com\/guides\/dsh-vs-claude-code\/\" rel=\"noopener\" target=\"_blank\">https:\/\/dshdocs.com\/guides\/dsh-vs-claude-code\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>DeepSeek Harness, kurz dsh, ist ein Open-Source-KI-Agent-Harness von DeepSeek AI. Wenn das Modell Fragen beantwortet, gibt das Geschirr seine H\u00e4nde: liest und bearbeitet Dateien, f\u00fchrt Befehle aus, h\u00e4lt Sitzungen ab, zeigt den Ausf\u00fchrungsverlauf an und l\u00e4sst sich mit Plugins erweitern. Das Projekt wird unter der MIT-Lizenz vertrieben und befindet sich in der \u00f6ffentlichen Vorschau. Der [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8],"tags":[],"class_list":["post-201","post","type-post","status-publish","format-standard","hentry","category-notes"],"translation":{"provider":"WPGlobus","version":"3.0.6","language":"de","enabled_languages":["en","ru","zh","de","ja","fr","es","pt","hi"],"languages":{"en":{"title":true,"content":true,"excerpt":false},"ru":{"title":true,"content":true,"excerpt":false},"zh":{"title":true,"content":true,"excerpt":false},"de":{"title":true,"content":true,"excerpt":false},"ja":{"title":true,"content":true,"excerpt":false},"fr":{"title":true,"content":true,"excerpt":false},"es":{"title":true,"content":true,"excerpt":false},"pt":{"title":true,"content":true,"excerpt":false},"hi":{"title":true,"content":true,"excerpt":false}}},"_links":{"self":[{"href":"https:\/\/demensdeum.com\/blog\/de\/wp-json\/wp\/v2\/posts\/201","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/demensdeum.com\/blog\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/demensdeum.com\/blog\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/demensdeum.com\/blog\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/demensdeum.com\/blog\/de\/wp-json\/wp\/v2\/comments?post=201"}],"version-history":[{"count":2,"href":"https:\/\/demensdeum.com\/blog\/de\/wp-json\/wp\/v2\/posts\/201\/revisions"}],"predecessor-version":[{"id":203,"href":"https:\/\/demensdeum.com\/blog\/de\/wp-json\/wp\/v2\/posts\/201\/revisions\/203"}],"wp:attachment":[{"href":"https:\/\/demensdeum.com\/blog\/de\/wp-json\/wp\/v2\/media?parent=201"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/demensdeum.com\/blog\/de\/wp-json\/wp\/v2\/categories?post=201"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/demensdeum.com\/blog\/de\/wp-json\/wp\/v2\/tags?post=201"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}