Skip to Content
IntégrationsDeepSeek Harness

Configuration de DeepSeek Harness

DeepSeek Harness  (nom de commande dsh) est le harness d’agent open source officiel de DeepSeek, bâti sur une architecture où tout est plugin — modèles, outils, skills, sessions, sandboxes et interface sont autant de plugins interchangeables. Il appelle l’API officielle DeepSeek par défaut ; pointez son plugin de modèles vers OfoxAI et le même harness accède à plus de 100 modèles.

dsh est en preview développeur et ses mainteneurs indiquent que des changements incompatibles sont à prévoir. Ce guide se base sur @deepseek-ai/dsh 0.1.2-rc.1.

Étapes de configuration

1. Installer dsh

Installez d’abord Node.js. dsh est publié sur npm sous le nom @deepseek-ai/dsh et fournit la commande dsh une fois installé.

npm install -g pnpm # ignorer si déjà installé pnpm add -g @deepseek-ai/dsh dsh --version

Le répertoire bin global de pnpm doit figurer dans votre PATH ; exécutez pnpm bin -g pour le localiser.

pnpm peut afficher l’avertissement Ignored build scripts: node-pty, koffi … pendant l’installation. Ignorez-le — ces deux paquets fournissent des binaires précompilés pour toutes les plateformes et ne nécessitent aucune compilation locale.

Pour l’essayer sans installation globale :

npx @deepseek-ai/dsh web

2. Configurer le provider OfoxAI

dsh conserve sa configuration dans $DSH_HOME~/.dsh sur macOS et Linux, %USERPROFILE%\.dsh sur Windows. Choisissez l’une des deux méthodes ci-dessous.

Choisissez la Base URL adaptée à votre réseau : utilisez api.ofox.ai sur les réseaux internationaux et api.ofox.io depuis la Chine continentale. Les deux sont le miroir d’un même service — la même clé API fonctionne sur les deux et le chemin est /v1 dans les deux cas.

dsh web

Le terminal affiche une URL contenant un token (http://127.0.0.1:3080 par défaut) et ouvre votre navigateur. Cliquez sur Settings en bas à gauche :

Ouvrir les paramètres de dsh

Passez à Models dans la navigation de gauche :

Le volet de paramètres Models

L’entrée intégrée deepseek-official s’adresse directement à DeepSeek : passer par OfoxAI suppose donc d’ajouter un provider personnalisé — cliquez sur Add a custom provider :

Ajouter un provider personnalisé

Renseignez les champs ci-dessous, puis cliquez sur Fetch available models :

ChampValeur
Provider IDofox
Display nameofox
Base URLhttps://api.ofox.ai/v1
API protocolopenai-completions
API keyvotre clé API OfoxAI

Renseignement du provider personnalisé

Sur la capture, API protocol est réglé sur openai-responses : c’est la valeur par défaut du formulaire, et seuls les modèles DeepSeek l’acceptent. Choisissez openai-completions pour couvrir tout le catalogue.

Cochez les modèles souhaités, cliquez sur Add selected, puis, de retour sur le formulaire, cliquez sur Create provider :

Choix des modèles à ajouter

De retour dans la vue session, la première fois, vous devez choisir un espace de travail (le répertoire du projet que dsh est autorisé à lire et écrire). Tous les modèles du groupe ofox sont alors disponibles dans le sélecteur de modèles, en bas à droite de la zone de saisie :

Sélection d'un modèle ofox dans une session

La clé est écrite dans $DSH_HOME/.credentials.yaml (lisible uniquement par votre propre utilisateur système) et la configuration du provider dans $DSH_HOME/settings.yaml. Les deux prennent effet immédiatement, sans redémarrage.

Les identifiants de modèles doivent inclure le préfixe du fournisseur — anthropic/claude-sonnet-5, et non claude-sonnet-5 seul, qui est rejeté. Parcourez le catalogue complet dans le Marché des modèles .

3. Définir la clé API

apiKeyEnv désigne un identifiant au lieu de contenir la clé elle-même. dsh le résout dans un ordre fixe : l’environnement dans lequel dsh a été lancé, puis $DSH_HOME/.credentials.yaml, puis le .env de votre projet, puis le .env de votre répertoire personnel. Si vous avez utilisé la Web UI, la clé est déjà enregistrée et vous pouvez sauter cette étape.

~/.zshrc
export OFOX_API_KEY=<votre OFOXAI_API_KEY>

4. Vérifier

dsh --profile headless "Réponds exactement : OK. N'appelle aucun outil."

Un OK en retour signifie que la couche modèle atteint bien OfoxAI. Au quotidien, lancez l’interface web avec dsh web, ou exécutez une tâche unique puis quittez avec dsh --profile headless "run the tests".

Différences entre plateformes

Le contenu du fichier de configuration est identique sur les trois plateformes — seuls les chemins et la syntaxe des variables d’environnement diffèrent.

macOSLinuxWindows
Racine de configuration $DSH_HOME~/.dsh~/.dsh%USERPROFILE%\.dsh
Persistance de la clé API~/.zshrc~/.bashrcsetx
Sandbox de l’outil shellBashBashPowerShell (la sandbox Bash est désactivée automatiquement)

Dépannage

TIMEOUT: Request timed out. — dsh est une application Node et ne lit pas http_proxy / all_proxy : un proxy système fonctionnel ne garantit donc pas que dsh puisse se connecter. Si le domaine indiqué dans baseURL est inaccessible depuis votre réseau, les utilisateurs de Chine continentale doivent basculer sur le miroir https://api.ofox.io/v1.

MISSING_CREDENTIAL — l’identifiant désigné par apiKeyEnv n’a rien renvoyé. Vérifiez que la variable d’environnement est bien active dans le terminal qui a lancé dsh, ou que la clé est enregistrée dans $DSH_HOME/.credentials.yaml. L’autre cause est un mauvais choix de modèle : la route intégrée deepseek-official affiche ses modèles dans le sélecteur même sans clé configurée, sous des noms très proches de ceux de votre route personnalisée.

La réponse est vide et aucune erreur n’est signalée — le piège le plus facile à déclencher : associer api: openai-responses à un modèle Anthropic termine la requête normalement (finish reason: stop) mais ne renvoie aucun contenu. Déplacez ce modèle vers une route openai-completions, ou vers une route anthropic-messages pointant sur https://api.ofox.ai/anthropic.

INVALID_REQUEST / HTTP 400 endpoint_not_supported — la charge utile indique Model '…' does not support the /v1/responses endpoint on this platform. Please use /v1/chat/completions instead. Les modèles Google et Qwen se comportent ainsi sous openai-responses. Là encore, passez api à openai-completions.

Le chargement d’un plugin échoue avec une erreur de route dupliquée — le même nom de route a été enregistré deux fois. Vérifiez si $DSH_HOME/cordis.patch.yml et settings.yaml définissent tous deux ofox.

Avancé : configuration via la couche patch

settings.yaml contient les paramètres utilisateur d’exécution et prend effet à la requête suivante. Pour modifier la composition des plugins elle-même — remplacer ou désactiver un plugin —, utilisez la couche patch dans $DSH_HOME/cordis.patch.yml :

~/.dsh/cordis.patch.yml
- id: llm-pi-ai config: providers: ofox: apiKeyEnv: OFOX_API_KEY api: openai-completions baseURL: https://api.ofox.ai/v1 - id: agent-default-model config: provider: ofox model: deepseek/deepseek-v4-pro-0813

Exécutez dsh web --dump-config pour afficher l’arbre de plugins composé et confirmer que votre configuration a bien été appliquée.

Modèles recommandés

Pour les modèles recommandés, consultez le Marché des modèles .

dsh évolue rapidement et ses champs de configuration peuvent changer d’une version à l’autre. Vérifiez-les auprès du dépôt officiel de DeepSeek Harness .

Last updated on