Vier Schritte für alle, die im Terminal arbeiten. DeepSeek Harness (der Befehl dsh) ist die offene agentische Umgebung DeepSeek, in der alles über Plugins organisiert ist. MCP-Server bindet sie als Client, mit einem Eintrag in der Profildatei. Ein Anmeldefenster gibt es hier nicht; der Zugriff wird über ein persönliches Token übergeben.
Die Anleitung wurde mit der Version dsh 0.1.0-rc.7, die Screenshots wurden in deren Weboberfläche erstellt.
| Was benötigt wird | Adresse (URL) |
|---|---|
| Alle bezahlten Datenbanken einschließlich der Bezirke | https://mcp.casus.legal/one/mcp |
Ein Abonnement oder eine Probephase für die benötigte Datenbank sowie ein persönliches Token der Form vasrf_conn_… aus dem Benutzerkonto.
Installation mit einem einzigen Befehl: npm i -g @deepseek-ai/dsh. Das Profil web wird beim ersten Start automatisch erstellt dsh web.
Der DeepSeek-Modellschlüssel wird nur für die Antworten des Agenten benötigt; der Konnektor selbst wird unabhängig davon verbunden.
Öffnen Sie persönliches Konto, den Tab „Konnektoren“, den Block „Andere Umgebungen“ und klicken Sie auf „Token ausgeben“. Das Token wird angezeigt einmalig.
Bewahren Sie es in einer Umgebungsvariablen und nicht im Konfigurationstext auf, da Profildateien leicht in Backups und Repositories gelangen.
Das Token ist gültig, solange das Abonnement aktiv ist, und öffnet alle bezahlten Datenbanken. Bereits eingerichtete Claude und ChatGPT es nicht beeinträchtigt.
Benutzerdefinierte Änderungen des Profils befinden sich in der Datei cordis.patch.yml im Profilverzeichnis. Beim Webprofil ist dies ~/.dsh/profiles/web/cordis.patch.yml. Der benachbarte cordis.yml — ist das Stammverzeichnis des Profils und wird nicht bearbeitet, worauf auch in der Datei selbst hingewiesen wird.
Ein neuer Eintrag wird über insert. Das ist die wichtigste Feinheit. Ein Patch ohne insert gilt als Änderung eines bestehenden Eintrags, und dsh wird stillschweigend übersprungen, mit dem Hinweis patch: entry … not found.
~/.dsh/profiles/web/cordis.patch.yml
Die Verbindungsadresse lautet — https://mcp.casus.legal/one/mcp. Dies ist eine einheitliche Adresse: Über sie werden alle von Ihnen bezahlten Datenbanken geöffnet; das benötigte neuronale Netz wird anhand des Themas der Frage automatisch ausgewählt. Wenn Sie einen Connector für eine einzelne Datenbank benötigen, gibt es auch separate Adressen (IP Court — https://sip.casus.legal/mcp, KAS — https://kas.casus.legal/mcp, KUD — https://kud.casus.legal/mcp), dann muss die Adresse jedoch mit der bezahlten Datenbank übereinstimmen; andernfalls antwortet der Server mit „Abonnement nicht aktiv oder abgelaufen“. Die einheitliche Adresse und separate Adressen müssen nicht gleichzeitig verwendet werden: Das neuronale Netz sieht zwei identische Werkzeugsätze und führt die Suche doppelt aus. Die vollständige Adressentabelle finden Sie unten, unter den Schritten.
In serverName Zulässig sind lateinische Buchstaben, Ziffern, Bindestrich und Unterstrich, maximal 32 Zeichen; der Wert muss unter den verbundenen Servern eindeutig sein. Daraus werden die Namen der Tools mcp__casuslegal__….
Wenn Sie mehrere Datenbanken benötigen, fügen Sie derselben Liste für jede einen Block hinzu, wobei Sie id, serverName und die Adresse aus der nachstehenden Tabelle ändern. Das Token ist in allen Blöcken identisch.
Die zusammengestellte Profilkonfiguration gibt ein eigener Befehl aus. Dabei wird die Umgebung nicht gestartet:
Am Ende der Ausgabe sollte Ihr Eintrag mit einer Quellenkennzeichnung erscheinen # == ~/.dsh/profiles/web/cordis.patch.yml. Wenn stattdessen eine Warnung ausgegeben wurde patch: entry … not found, bedeutet dies, dass insert aus Schritt 2 fehlt.
Starten Sie die Umgebung: dsh web — sie startet eine lokale Weboberfläche und gibt deren Adresse aus.

Öffnen Sie Settings → Plugins: Auf dieser Seite sind die Plugins der installierten Version aufgeführt.

Wechseln Sie zur Registerkarte Plugin list und geben Sie in die Suche ein mcp. Der Eintrag mcp-client mit dem Status Enabled bedeutet, dass der Client eingebunden ist und eine Verbindung zu unserem Server herstellt.

Stellen Sie dem Agenten anschließend eine inhaltliche Frage, zum Beispiel: „Finde die Rechtsprechung des ВС РФ zur Herabsetzung der Vertragsstrafe nach Artikel 333 ГК РФ.“ Die Tools des Connectors werden dem Modell unter den Namen mcp__casuslegal__….
| Datenbank | serverName | Adresse (URL) |
|---|---|---|
| Alle bezahlten Datenbanken sofort | casuslegal | https://mcp.casus.legal/one/mcp |
| Kassationsbezirke (alle) | casuslegal_okruga | https://mcp.casus.legal/okrug/mcp |
| Oberste Gerichte: Verfassungsgericht · Oberstes Gericht · Oberstes Schiedsgericht | casuslegal | https://mcp.casus.legal/mcp |
| Gericht für geistige Eigentumsrechte (IP Court) | casuslegal_sip | https://sip.casus.legal/mcp |
| Verwaltungsrechtliche Sachen (KAS · SKAD des Obersten Gerichts der Russischen Föderation) | casuslegal_kas | https://kas.casus.legal/mcp |
| Strafsachen (KUD · SKUD des Obersten Gerichts der Russischen Föderation) | casuslegal_kud | https://kud.casus.legal/mcp |
| Feld | Zweck |
|---|---|
| toolCallTimeoutMs | Timeout für einen Tool-Aufruf. Standardmäßig 60 000 ms; für die Suche im Korpus setzen Sie 180 000. |
| failOnStartupError | Bei dem Wert true startet die Version nicht, wenn der Connector nicht verfügbar ist. Praktisch, damit man nicht unbemerkt „ohne Rechtsprechung“ arbeitet. |
| reconnect.enabled | Automatische Wiederverbindung nach einem Verbindungsabbruch. Standardmäßig aktiviert. |
Im Patch fehlt insert. Ohne ihn gilt der Eintrag als Änderung eines bereits vorhandenen Plugins mit diesem id, und dsh überspringt ihn. Der Connector erscheint dabei einfach nicht, ohne ausdrückliche Fehlermeldung.
Vergleichen Sie dies mit dem Block aus Schritt 2 und wiederholen Sie den Vorgang dsh --profile web --dump-config.
Der Client wird auch bei einem fehlgeschlagenen Verbindungsaufbau aktiviert; das ist beabsichtigt: Die Version soll nicht wegen eines nicht verfügbaren Servers abbrechen. Überprüfen Sie, dass die Variable CASUSLEGAL_TOKEN für den Prozess sichtbar ist, also in derselben Shell exportiert wurde, aus der dsh.
Damit solche Fälle sofort auffallen, setzen Sie in der Konfiguration failOnStartupError: true.
Nur streamable-http. Unsere Adresse arbeitet mit Streamable HTTP; mit dem Wert sse oder stdio wird keine Verbindung hergestellt.
Eine Suche im Korpus dauert etwa 30 Sekunden, und eine komplexe Frage löst mehrere Suchvorgänge hintereinander aus. Die standardmäßigen 60 000 ms reichen dafür nicht aus; setzen Sie toolCallTimeoutMs: 180000.
Öffnen Sie im persönlichen Konto und prüfen Sie die Laufzeit des Abonnements für die benötigte Datenbank. Jeder Korpus wird separat bezahlt; „Höchste Gerichte“ ist in jedem Paket enthalten.
Er wird nicht erneut angezeigt. Erstellen Sie im Benutzerkonto einen neuen Token und ersetzen Sie den Wert der Umgebungsvariable; die bisherigen Verbindungen bleiben dabei bestehen.