Traduction française fournie à titre informatif. L’original russe fait foi.
CasusLegal CasusLegal Corpus de jurisprudence des juridictions supérieures ← Accueil

Connexion à DeepSeek Harness

Quatre étapes pour les personnes qui travaillent dans un terminal. DeepSeek Harness (la commande dsh) est l’environnement agentique ouvert de DeepSeek, entièrement organisé autour de plugins. Il connecte les serveurs MCP en tant que client client, avec une entrée dans le fichier de profil. Il n’y a pas de fenêtre de connexion ici ; l’accès est transmis au moyen d’un jeton personnel.

L’instruction a été vérifiée sur la version dsh 0.1.0-rc.7, les captures d’écran ayant été réalisées dans son interface web.

Quelle adresse connecter. Toutes les bases sont accessibles à une seule adresse : juridictions suprêmes, Cour des droits de propriété intellectuelle, KAS, KUD et dix districts de cassation. Seules les bases effectivement payées sont ouvertes ; le réseau neuronal sélectionne lui-même le modèle approprié selon le sujet de la question.
Élément requisAdresse (URL)
Toutes les bases payées, y compris les districtshttps://mcp.casus.legal/one/mcp
Ancienne adresse des districts /okrug/mcp continue de fonctionner ; il n’est pas nécessaire de la reconnecter. Si les deux adresses sont connectées, désactivez /okrug/mcp: sinon le réseau neuronal verra les outils des districts en double.
⚠️ Environnement non garanti. Pris en charge de manière garantie Claude, ChatGPT, Grok et Hermes — le connecteur y a été testé. DeepSeek Harness a été ouvert en août 2026 et évolue rapidement. Les noms des champs des nouvelles versions peuvent différer de ceux de l’instruction ; dans ce cas, consultez la documentation du plugin @deepseek-ai/dsh-mcp-client.
Accès à la base. Les requêtes gratuites de bienvenue dans le chat web et le bot Telegram ne s’appliquent pas au connecteur. Avant la connexion, activez dans votre espace personnel la période d’essai gratuite de trois jours ou souscrivez à l’abonnement de la base souhaitée.

Ce dont vous aurez besoin

Du côté de CasusLegal
Accès actif et token

Un abonnement ou une période d’essai pour la base souhaitée, ainsi qu’un token personnel du type vasrf_conn_… depuis l’espace personnel.

Du côté de DeepSeek
dsh et profil installés

Installation en une seule commande : npm i -g @deepseek-ai/dsh. Le profil web est créé automatiquement lors du premier lancement dsh web.

La clé du modèle DeepSeek est nécessaire uniquement pour les réponses de l’agent ; le connecteur lui-même se connecte indépendamment de celle-ci.

1
Générez un jeton et placez-le dans la variable d’environnement

Ouvrez espace personnel, l’onglet « Connecteurs », le bloc « Autres environnements » et cliquez sur « Générer un token ». Le jeton s’affiche une seule fois.

Conservez-le dans la variable d’environnement plutôt que dans le texte de configuration, car les fichiers de profil se retrouvent facilement dans des sauvegardes et des dépôts.

export CASUSLEGAL_TOKEN=vasrf_conn_ваш_токен

Le token reste valide tant que l’abonnement est actif et ouvre l’accès à toutes les bases payées. Il ne perturbe pas les connexions Claude et ChatGPT il ne le casse pas.

2
Ajoutez le serveur à la couche de correctifs du profil

Les modifications personnalisées du profil se trouvent dans le fichier cordis.patch.yml dans le répertoire du profil. Pour le profil web il s’agit de ~/.dsh/profiles/web/cordis.patch.yml. Celui d’à côté cordis.yml — c’est la racine du profil, elle ne doit pas être modifiée, comme cela est également indiqué dans le fichier lui-même.

Une nouvelle entrée est ajoutée via insert. C’est le point essentiel. Un correctif sans insert est considéré comme une modification d’une entrée existante, et dsh il l’ignorera silencieusement avec un avertissement patch: entry … not found.

~/.dsh/profiles/web/cordis.patch.yml

- insert: - id: mcp-casuslegal name: '@deepseek-ai/dsh-mcp-client' config: serverName: casuslegal transport: streamable-http url: https://mcp.casus.legal/one/mcp headers: Authorization: !!js '`Bearer ${process.env.CASUSLEGAL_TOKEN}`' # une recherche prend environ 30 secondes : la valeur par défaut (60 000 ms) ne suffit pas toolCallTimeoutMs: 180000

L’adresse de connexion est — https://mcp.casus.legal/one/mcp. Il s’agit de l’adresse unique: elle donne accès à toutes les bases auxquelles vous êtes abonné, et le réseau neuronal sélectionne lui-même celle qui convient au sujet de la question. Si vous avez besoin d’un connecteur pour une seule base, il existe également des adresses distinctes (IP Court — https://sip.casus.legal/mcp, KAS — https://kas.casus.legal/mcp, KUD — https://kud.casus.legal/mcp), mais l’adresse doit alors correspondre à la base souscrite, faute de quoi le serveur répondra « abonnement inactif ou expiré ». Il n’est pas nécessaire de conserver simultanément l’adresse unique et les adresses distinctes : le réseau neuronal verra deux ensembles d’outils identiques et effectuera la recherche deux fois. Le tableau complet des adresses se trouve ci-dessous, sous les étapes.

Dans serverName les lettres latines, les chiffres, le trait d’union et le caractère de soulignement sont autorisés, jusqu’à 32 caractères, et la valeur doit être unique parmi les serveurs connectés. Les noms des outils sont générés à partir de celle-ci mcp__casuslegal__….

Si plusieurs bases sont nécessaires, ajoutez dans la même liste un bloc pour chacune, en modifiant id, serverName et l’adresse du tableau ci-dessous. Le jeton est le même dans tous les blocs.

3
Vérifiez que l’entrée figure dans l’arborescence du profil

La configuration assemblée du profil est affichée par une commande distincte. Celle-ci ne lance toutefois pas l’environnement :

dsh --profile web --dump-config | tail -20

À la fin de la sortie, votre entrée doit apparaître avec l’indication de sa source # == ~/.dsh/profiles/web/cordis.patch.yml. Si un avertissement s’est affiché à la place patch: entry … not found, cela signifie que insert de l’étape 2 a été perdu.

4
Lancez dsh et vérifiez que le plug-in est actif

Lancez l’environnement : dsh web — il ouvrira une interface web locale et en affichera l’adresse.

Écran principal de l’interface web de DeepSeek Harness : à gauche, la liste des sessions et le bouton Settings ; au centre, le champ de saisie.
Écran principal DeepSeek Harness. Le bouton Settings — en bas à gauche.

Ouvrez Settings → Plugins: cette page répertorie les plug-ins de l’assemblage installé.

Section Plugins dans les paramètres de DeepSeek Harness, avec les onglets Plugin configuration et Plugin list.
La section Plugins: l’onglet Plugin configuration — paramètres, Plugin list — liste complète.

Accédez à l’onglet Plugin list et saisissez dans la recherche mcp. L’entrée mcp-client à l’état Enabled signifie que le client est monté et se connecte à notre serveur.

Onglet Plugin list avec le filtre mcp : une entrée mcp-client trouvée, avec le statut Enabled.
Filtre par mot mcp: mcp-client — Enabled. Voici à quoi ressemble le connecteur monté.

Posez ensuite à l’agent une question substantielle, par exemple : « Trouve la jurisprudence de la Cour suprême de la Fédération de Russie concernant la réduction de la clause pénale au titre de l’article 333 du Code civil de la Fédération de Russie ». Les outils du connecteur seront transmis au modèle sous les noms mcp__casuslegal__….

Adresses : adresse unique et adresses par base

BaseserverNameAdresse (url)
Toutes les bases souscrites immédiatementcasuslegalhttps://mcp.casus.legal/one/mcp
Districts de cassation (tous)casuslegal_okrugahttps://mcp.casus.legal/okrug/mcp
Hautes juridictions : Cour constitutionnelle · Cour suprême · Cour suprême d’arbitrage (arbitrazh)casuslegalhttps://mcp.casus.legal/mcp
Cour des droits de propriété intellectuelle (IP Court)casuslegal_siphttps://sip.casus.legal/mcp
Affaires administratives (KAS · Collège judiciaire des affaires administratives de la Cour suprême de la Fédération de Russie)casuslegal_kashttps://kas.casus.legal/mcp
Affaires pénales (KUD · Collège judiciaire des affaires pénales de la Cour suprême de la Fédération de Russie)casuslegal_kudhttps://kud.casus.legal/mcp

Champs utiles du plug-in

ChampObjet
toolCallTimeoutMsDélai d’expiration d’un appel d’outil. Par défaut, 60 000 ms ; pour une recherche dans le corpus, définissez 180 000.
failOnStartupErrorAvec la valeur true l’assemblage ne démarrera pas si le connecteur est indisponible. Pratique pour éviter de travailler « sans jurisprudence » sans s’en apercevoir.
reconnect.enabledReconnexion automatique après une coupure. Activée par défaut.

Erreurs fréquentes

Au démarrage, avertissement « patch: entry … not found »

Le correctif ne contient pas insert. Sans celui-ci, l’entrée est considérée comme une modification d’un plug-in existant portant ce id, et dsh elle est ignorée. Le connecteur n’apparaît alors tout simplement pas, sans erreur explicite.

Comparez avec le bloc de l’étape 2 et recommencez dsh --profile web --dump-config.

Le plug-in est Enabled, mais le modèle ne dispose d’aucun outil

Le client s’active même si la connexion échoue, c’est prévu ainsi : l’assemblage ne doit pas s’arrêter en raison d’un serveur indisponible. Vérifiez que la variable CASUSLEGAL_TOKEN est visible par le processus, c’est-à-dire exportée dans le même shell que celui depuis lequel dsh.

Pour que ces cas soient immédiatement visibles, définissez dans la configuration failOnStartupError: true.

Transport : streamable-http ou sse ?

Uniquement streamable-http. Notre adresse fonctionne avec Streamable HTTP ; avec la valeur sse ou stdio la connexion ne s’établit pas.

L’appel de l’outil s’interrompt à l’expiration du délai

Une recherche dans le corpus prend environ 30 secondes, et une question complexe déclenche plusieurs recherches successives. Les 60 000 ms standard ne suffisent pas ; définissez toolCallTimeoutMs: 180000.

Le connecteur répond par un refus lié à l’abonnement

Ouvrez l’onglet « Connecteurs » dans votre espace personnel et vérifiez la durée de validité de l’abonnement à la base souhaitée. Chaque corpus est facturé séparément ; « Hautes juridictions » est inclus dans tout forfait.

Token perdu

Il ne s’affiche pas une deuxième fois. Générez-en un nouveau dans votre espace personnel et remplacez la valeur de la variable d’environnement ; les connexions existantes ne seront pas interrompues pour autant.

FR