DeepSeek Harness (CLI: dsh) behandelt den Agent als Zusammensetzung von Plugins: Shell, Editor, MCP, Browser, Speicher und Skill-Kataloge hängen an einem Cordis-Graphen. Das offizielle Repo deepseek-ai/deepseek-harness sagt das Design klar—Everything is a Plugin. Es ist noch eine Entwickler-Vorschau und wird Kompatibilität brechen. Was ihn zum Alltagswerkzeug macht, ist nicht der nächste Modellwurf, sondern welche Plugins Sie einhängen, wo Skills gefunden werden und wie weit Berechtigungen reichen.
Die Community füllte das Thema dsh-plugin in Wochen mit Tausenden Repos. Diese Rundschau ist eine arbeitsfähige Kurzliste: Kernfähigkeiten, Skill-Märkte, Suche/Vision/Speicher/Browser, und wie der Werkzeugkatalog nicht überläuft. Kanonische Docs: DeepSeek Harness Docs und der Plugin-Leitfaden.
Was der Harness ist: Plugins, Profile, Skills
Denken Sie an eine Agent-Laufzeit, nicht an eine weitere Chat-Website.
- Kernel-Pakete
@deepseek-ai/*kommen mit der Distribution: Bash, Editor, MCP-Ressourcen, plugin_manager und das offizielleskill-Werkzeug. - Community-Pakete (npm-Name oder
github:owner/repo) landen im aktuellen Profil mitdsh plugin --profile web add …. Bündel-Installationen brauchen einen Neustart vondsh web. - Skills sind optionale Anweisungsdateien (
SKILL.md), keine Sitzungsereignisse. Der Dateisystem-Anbieter scannt Projekt- und Benutzerwurzeln in Rangfolge; der modellseitige Katalog zeigt meist nurnameunddescriptionund lädt den Körper bei Bedarf.
Mitgelieferte lokale Scanreihenfolge (dsh-skill-filesystem): Projekt .dsh/skills → Projekt .agents/skills → eigene Verzeichnisse → Benutzer-DSH-Skills → Benutzer .agents/skills → gebündelt. Bei Namenskollision gewinnt die projektnähere Kopie. Die Projektwurzel ist der nächste Vorfahre mit .git.
Layout ist my-skill/SKILL.md. Frontmatter braucht mindestens name und description. Namen sind Kleinbuchstaben, Ziffern und Bindestriche. Rekursives **/SKILL.md-Finden wird nicht unterstützt.
Starten: Web-Profil und Installationsbefehle
Sie brauchen Node.js (Community-Plugins wollen oft 22+). Lokale Vorschau:
npx @deepseek-ai/dsh web
Die Web-UI liegt standardmäßig auf http://127.0.0.1:3080. Docs und Plugin-Autoren sind einig: an Loopback binden und unauthentifiziertes dsh web nicht auf 0.0.0.0 lauschen lassen. Über SSH den Port weiterleiten; das Plugin-Panel nicht auf eine öffentliche IP legen.
Standard-Bündel-Installation:
dsh plugin --profile web add skillhub-plugin
# oder eine Git-Quelle (in Produktion einen Commit festnageln)
dsh plugin --profile web add "github:minivv/dsh-agent-skills"
# neu starten
# dsh web / dsh --profile web
dsh plugin add reicht die Spezifikation an pnpm weiter: npm, Git oder link:-Lokalpfade. Monorepo-Unterpakete nutzen die Repository-Quelle in den Einstellungen (github:owner/repo#ref&path:/packages/foo); plugin add parst &path: nicht.
Die Zusammensetzung prüfen mit dsh web --dump-config | grep name. dsh plugin --profile web remove pkg entfernt die Abhängigkeit, schreibt aber nicht um, was Sie von Hand in $DSH_HOME/profiles/web/cordis.patch.yml eingefügt haben—diese Zeilen selbst löschen.
2026-Startstapel (behalten)
Klicken Sie nicht zwanzig Karten auf einem Plugin-Radar. Friere dieses Set eine Woche ein, dann ergänzen:
| Schicht | Eins wählen | Aufgabe |
|---|---|---|
| Laufzeit | Offizielles dsh web | Kernel-Werkzeuge + offizielles skill-Werkzeug + Plugin-Verwalter |
| Skill-Entdeckung | dsh-agent-skills oder dsh-skills-anywhere | Claude- / Codex- / Cursor- / OpenCode-Skill-Verzeichnisse einziehen |
| Installations-UI | skillhub-plugin oder offizielles Discover | Skills/Plugins im Chat oder in den Einstellungen suchen, bestätigen, dann installieren |
| Websuche | modsearch (oder ein MCP, das Sie schon betreiben) | Strukturierte Suche, wenn das Modell keine native Suche hat |
| Vision | Entweder modlens oder dsh-vision-toolkit | Eingefügte Bilder OCR/Layout; nicht beide laufen lassen |
| Speicher | Ein offizielles MCP-Overlay aus den Beispielen | Memorix / MCP Reference Memory / Engram |
Zwei Plugins derselben Kategorie lassen das Modell doppelte Werkzeuge durchsuchen und füllen den Kontext mit Zusammenfassungen. Fügen Sie nur HTTPS-Marktindizes hinzu, denen Sie vertrauen.
Agent Skills: Scanreihenfolge und drei Verwalter
Sie haben wahrscheinlich schon SKILL.md-Bäume unter ~/.claude/skills, ~/.codex/skills oder ~/.cursor/skills. DSH selbst bevorzugt .dsh/skills und .agents/skills. Community-Plugins registrieren weitere Anbieter auf ctx.skills.
dsh-agent-skills: Einstellungsseite über lokale Verzeichnisse
Repo: minivv/dsh-agent-skills.
dsh plugin --profile web add dsh-agent-skills
Dann Einstellungen → Agent Skills, Übernahme aktivieren, neu starten. Es scannt ~/.agents/skills, ~/.claude/skills, ~/.codex/skills, ~/.config/opencode/skills, ~/.gemini/skills. Verzeichnisse oder einzelne Skills umschalten, ohne die Originaldateien umzuschreiben. Zustand liegt in $DSH_HOME/agent-skills/state.json. Kompatibilitätshinweise stehen in der README (0.1.x und 0.2.x).
dsh-skills-anywhere: Nullkopie, viele Agenten, Git-Skill-Repos
Inoffiziell: noteflowai/dsh-skills-anywhere. Es registriert einen weiteren Anbieter; das offizielle skill-Werkzeug bleibt:
- 60+ Skill-Verzeichnisse auf Benutzer- und Projektebene (Claude Code, Codex, Cursor, Gemini CLI, OpenCode und mehr).
- Skills, die in Claude-Code-Plugin-Marktplätzen verschachtelt sind.
- Beliebiges Git-Skill-Repo flach in einen Cache klonen; eine Bearbeitung in Cursor ist beim nächsten DSH-Laden sichtbar.
- Web-UI Pin / Hide / Exclude nach Herkunft. Auch als MCP nutzbar:
npx dsh-skills-anywhere mcp.
dsh plugin --profile web add dsh-skills-anywhere
npx dsh-skills-anywhere list
npx dsh-skills-anywhere add anthropics/skills
npx dsh-skills-anywhere doctor
Skills, die Sie für DSH im Projekt geschrieben haben, rangieren höher als Marktplatz-Duplikate. Stapeln Sie nicht zwei „Übernahme“-Entdeckungs-Plugins; wählen Sie einen primären Finder.
skillhub-plugin: suchen, prüfen, im Chat installieren
cocofhu/skillhub. Der npm-Name ist skillhub-plugin (nicht das unzugehörige Paket skillhub; eine rohe Git-Quelle mit prepare überspringen):
dsh plugin --profile web add skillhub-plugin
Chat-Karten für Skills, Versionen, Sicherheitsflags, Zip-Installation in ein auffindbares Verzeichnis; Einstellungen können GitHub-Releases anheben. Ein Plugin-Platz sucht DSH-Plugins und installiert von der Karte, dann bittet um Neustart. Braucht Node 22+. Binden Sie dsh web an 127.0.0.1.
Skill-Märkte gegen den offiziellen Plugin-Markt
Zwei verschiedene „Märkte“:
- Skill-Markt: legt
SKILL.md-Bündel in~/.dsh/skills(die user-dsh-Wurzel, die das offizielle Werkzeug schon liest). - Plugin-Markt: ein JSON-Index installierbarer DSH-Bündel (npm oder ein festgenagelter Git-Commit).
Community-Skill-Märkte
- dsh-skill-market (QQ-M/dsh-skill-market): GitHub-Skill-Repos aus den Einstellungen suchen.
dsh plugin --profile web add "github:QQ-M/dsh-skill-market", dann neu starten. - dsh-skills-marketplace (cxdyun/dsh-skills-marketplace): Git-URL + Ref + Sparse-Pfad, flach in
~/.dsh/skills/…, gruppierte Schalter; Deinstallation berührt nur, was es selbst installiert hat.
Dieselbe SKILL.md kann DSH, Claude und Codex dienen. Sterne, aktuelle Commits und Installationsskripte prüfen, bevor Sie in die Benutzerwurzel schreiben.
Offizielle Custom plugin markets
Leitfaden: Plugin markets. DSH liefert keine Indexquelle. Custom plugin markets unter experimentellen Plugins einschalten, dann eine https://-Index-URL unter Discover hinzufügen. Bestätigen läuft weiter über die normalen Kompatibilitätsprüfungen. Markttexte sind Drittanbieter; der Kernel prüft die JSON-Form, nicht die Wahrheit der Kurztexte.
Verzeichnisse wie dshmarketplace.dev bieten eine Such-API und optional dshmarketplace-plugin (/store). Als Katalog behandeln; aus der npm-/Git-Spezifikation der Bestätigung installieren und Versionen festnageln.
Fähigkeits-Plugins: Suche, Vision, Sitzungen, Browser, Speicher
Suche: modsearch
liustack/modsearch füllt Modelle ohne native Websuche: das Web oder X fragen, strukturierte JSON-Belege bekommen. Wenn Sie schon ein stabiles Brave-/Tavily-MCP betreiben, überspringen Sie eine zweite Schicht.
Vision: modlens oder dsh-vision-toolkit
Für Nur-Text-Modelle:
- modlens (liustack/modlens): Bild einfügen → OCR / Layout / semantisches JSON.
- dsh-vision-toolkit (Anionex/dsh-vision-toolkit): Mehrbild-Q&A, Langscreenshot-OCR, UI-Wiederherstellung, Pixel-Diff.
Ein Set einschalten. Überlappende Werkzeugschemas lassen das Modell das falsche anklicken.
Sitzungssuche: dsh-session-search
Docs-Beispiel: dsh plugin --profile web add "github:dsh-external/dsh-session-search#main". Die modellseitige sitzungsübergreifende Abfrage ist opt-in und will eine exakte cwd-Übereinstimmung—entscheiden Sie zuerst die Privatsphäregrenze. Der sqlite-Index kann existieren, ohne das Abfragewerkzeug dem Modell zu zeigen.
Browser: offizielles browser-use plus ein Anbieter
dsh-browser-use einhängen und genau einen Anbieter: Playwright MCP, Chrome DevTools MCP oder Stagehand. Ein zweiter Anbieter wird abgelehnt. Ein gestarteter Browser gehört zu diesem Agent/Session; das Beenden der Sitzung verwirft den gestarteten Zustand (ein angebundener externer Browser bleibt oben).
Speicher: offizielle MCP-Beispiele, alle standardmäßig aus
examples/mcp-memory/ liefert Memorix-, MCP-Reference-Memory- und Engram-Overlays. Es sind Interoperabilitätsproben, keine Empfehlung. Nur eines patchen:
dsh web --patch "$PWD/examples/mcp-memory/memorix.cordis.yml"
Damit es über Läufe bleibt, den Insert ins Profil-cordis.patch.yml mergen—eine vorhandene Patch-Datei nicht überschreiben. Die stdio-Brücke streift credential-artige Umgebungsvariablen und DSH_*; Geheimnisse ins Overlay-config.env, nicht in Prompts.
Kanäle und Desktop: IM, Telegram, dsh-desktop
- dsh-im: QR oder Anmeldedaten für Feishu, WeChat, DingTalk, WeCom, QQ, Slack, Telegram, Discord, WhatsApp. Größte ausgehende Netzwerkfläche—Quellcode und Token-Ablage lesen.
- Eigenständige Telegram-/qqbot-Plugins brauchen dieselbe Prüfung von Ausgang und Webhook-Bindadressen.
- dsh-desktop: Desktop-Umgebung als Plugin-Host; gut auf einem Laptop. Auf einem Cloud-Host lieber Web + SSH-Weiterleitung.
Kanal-Plugins holen Nachrichten herein. Sie ersetzen nicht Ihre Geschäfts-Zustandsmaschine. Tickets, Builds und Abrechnung gehören weiter ins Repo und die Datenbank.
Auswählen, entfernen und schlechte Installationen vermeiden
dsh.bundleund die README lesen; bestätigen, dass der Profilnamewebist (oder Ihrer).- Versionen festnageln:
name@x.y.zodergithub:owner/repo#<40-char sha>in Produktion. - Installationsskripte beobachten: braucht Git
allowBuilds/prepare, lieber ein vorgebautes npm-Paket. - Werkzeugnamen-Kollisionen: nicht zwei Vision-Plugins oder zwei Skill-Übernahmen;
--dump-configprüfen. - Deinstallieren:
remove, den passenden Patch-Insert löschen, neu starten. Sind die Einstellungen leer, Client-Halbpaket und Browserkonsole prüfen. - Marktindizes: nur HTTPS; ein http-Index kann Installationsquellen auf dem Pfad tauschen.
Die offizielle README sagt THERE WILL BE COMPATIBILITY-BREAKING CHANGES. Nach einem dsh-Upgrade jedes Plugin-engines.dsh lesen, bevor Community-Pakete massenweise aktualisiert werden. Nützliche Skills in Git halten (Projekt .dsh/skills); das ganze Profil-node_modules nicht als Sicherung behandeln.
Auf einem Cloud Mac betreiben
Der Harness passt zu 7×24-Cron, MCP-stdio und langen Sitzungen. Ein Cloud Mac in fester Region mit SSH kann dsh web auf Loopback laufen lassen, während Sie 3080 zum Laptop-Browser weiterleiten. Skills und cordis.patch.yml committen; Geheimnisse im Schlüsselbund oder einem KMS, nicht im Repo.
iOS-/Xcode-Arbeit nutzt weiter Xcode und Simulatoren auf diesem Mac; DSH orchestriert nur Agent und Werkzeuge. Einen Browser-Anbieter wählen, damit er nicht mit headless CI um dasselbe Chromium-Profil kämpft.
FAQ
Vollständige Fragen und Antworten stehen im JSON-LD der Seite. Kurzfassung: Skills sind keine Plugins; Claude-Skill-Verzeichnisse funktionieren nach einem Entdeckungs-Plugin; nicht zwei Skill-Märkte stapeln; ein Speicher-Overlay; die Web-UI auf 127.0.0.1 halten und per SSH weiterleiten.