Développement IA ·

Tutoriel d’installation DeepSeek Harness (dsh) : Web, Headless et AI Coding

MacBook de face sur un bureau clair, lampe laiton à droite, terminal à gauche et banc dsh à droite

dsh sait déjà lancer le runtime officiel d’Agent Coding de DeepSeek ; en septembre 2026, c’est encore un developer preview. Ouvrez d’abord l’interface Web dans un répertoire isolé, ou faites passer une tâche headless en lecture seule — ne lui demandez pas tout de suite de réécrire le projet.

Le dépôt s’appelle deepseek-ai/deepseek-harness, la CLI dsh. Elle réunit sessions, outils, droits et banc de travail. En 30 minutes, vous savez si elle tient sur votre machine. Ça vaut le test ; ce n’est pas encore un agent de code en production.

Qu’est-ce que DeepSeek Harness (dsh) ?

DeepSeek Harness est le framework d’exécution d’agent publié par DeepSeek, licence MIT, ligne de commande dsh. La page produit : modèle, outils, Skills, sessions, bac à sable, stockage, boucle et UI sont des plugins remplaçables ; en dessous, Cordis, slogan Everything is a plugin. (deepseek.com/harness)

Quand on cherche « qu’est-ce que DeepSeek Harness », il faut séparer trois objets — pas réentendre le protocole d’appels de fonctions.

L’API est le moteur ; dsh est le runtime déjà équipé du volant, de la boîte à outils et de la logique de conduite. Écrire une boucle while sur chat/completions est une autre route ; l’article d’août Agent IA DeepSeek Harness : guide de développement décrit cette boucle maison. Ici, on n’accepte que le lanceur officiel : comment l’installer, où s’ouvre le Web, quand la première tâche de code compte.

Approche À quoi ça sert Pour qui
API DeepSeek Modèle, Tool Calling Qui construit l’agent soi-même
dsh Runtime, outils, sessions, droits, UI Qui veut lancer l’agent officiel
Boucle d’agent maison Architecture du cycle à soi Qui veut tout contrôler

Le site liste plusieurs modes. La première fois, l’interface Web de Standard suffit : agent de code complet, fichiers, shell, recherche. Le mode Code laisse le modèle orchestrer des appels d’outils en TypeScript — seulement quand 3080 est stable. Minimal ne garde presque que bash et l’éditeur ; utile pour comparer des modèles, pas comme IDE quotidien. Creator sert à inspecter le runtime et tester des plugins ; vous pouvez le sauter la première heure.

Que préparer avant d’installer dsh ?

Le chemin zéro installation du README officiel tient en deux phrases : installer Node.js, puis npx @deepseek-ai/dsh web. Des textes communautaires citent Node ^22.19.0 ou >=24.0.0 ; ce qui compte, c’est que votre npx local tire @deepseek-ai/dsh. Ne rétrogradez pas le Node système pour coller à un article de blog.

La CLI résout la clé ainsi : environnement du processus → ~/.dsh/.credentials.yaml.env du répertoire courant → ~/.dsh/.env. La première fois, une seule source, pas quatre copies qui se contredisent :

zsh
export DEEPSEEK_API_KEY=sk-votre-clé
mkdir -p ~/.dsh
printf 'DEEPSEEK_API_KEY=sk-votre-clé\n' >> ~/.dsh/.env
chmod 600 ~/.dsh/.env

L’adaptateur officiel s’appelle deepseek-official et passe par le routage de modèles officiel. Pointer vers une passerelle auto-hébergée, c’est l’étape deux ; voyez d’abord si OmniRoute sur le terrain est vraiment nécessaire. Ne changez pas l’URL de base la première heure.

La CLI prend le répertoire d’où vous lancez la commande comme workspace par défaut. Créez un dépôt vide ou une copie, par exemple ~/work/dsh-first-run. SAFETY.md recommande le moindre privilège et préfère une VM jetable, un conteneur ou un environnement dédié. Clé et répertoire isolé pas prêts : pas de npx. Une interface que vous ne contrôlez pas vaut pire qu’une installation ratée.

Premier lancement
  • Workspace à part, pas $HOME ni un dépôt de production
  • Première tâche en lecture seule ; droits par défaut, pas de danger-full-access
  • Clé seulement dans l’environnement ou ~/.dsh/.env ; gardez ~/.dsh/sessions/ pour relire les appels
Toujours un developer preview
Il peut exécuter des commandes, modifier des fichiers et charger des plugins. La première fois : dépôt vide ou machine dédiée. Notice officielle : SAFETY.md.

Comment installer DeepSeek Harness et ouvrir l’interface Web ?

Inutile de cloner la première fois. Dans le répertoire isolé :

zsh
cd ~/work/dsh-first-run
npx @deepseek-ai/dsh web

C’est l’entrée d’installation du README officiel. dsh web est l’alias de --profile web ; au premier lancement, ~/.dsh/profiles/web/ est initialisé depuis un modèle. Par défaut, le banc s’ouvre sur http://127.0.0.1:3080 ; en local, le navigateur par défaut s’ouvre aussi. Via SSH, seule l’URL hôte s’affiche ; le transfert local est à la charge du client SSH ou de l’éditeur. En preview, les commandes bougent ; suivez le README et l’aide CLI de deepseek-ai/deepseek-harness du jour.

Paramètres fréquents
npx @deepseek-ai/dsh web --no-open
npx @deepseek-ai/dsh web --port 8080

Par défaut, écoute sur loopback seulement. Pour l’UI à distance, un transfert SSH local suffit ; n’exposez pas l’interface sur le LAN le premier jour. Le guide utilisateur officiel : le workspace se choisit dans l’interface Web via le sélecteur de dossier, pas un drapeau CLI. Une fois 3080 ouvert, vérifiez que le répertoire courant est bien le dépôt isolé avant d’envoyer une tâche.

La config vit sous ~/.dsh/ : laissez le répertoire personnel se créer ; sessions/ pour relire les appels d’outils ; .env uniquement la clé, mode 600 ; profiles/web/ : pas de patch à la main le premier jour.

Trois cas justifient un clone : suivre un commit, modifier un plugin, ou npx n’arrive pas à tirer le paquet et vous avez besoin des artefacts. Alors git clone du dépôt officiel, pnpm install, pnpm run build, pnpm dsh web. pnpm dsh web utilise les artefacts sans reconstruire. Dans l’arbre source, suivez AGENTS.md ; ne copiez pas les démos du README dans un script de production.

Comment utiliser dsh en headless ?

dsh run a disparu. Pour une tâche unique : profil headless, nouvelle session, dernier texte assistant non vide sur stdout, puis sortie.

zsh
cd ~/work/dsh-first-run
npx @deepseek-ai/dsh --profile headless "Listez les noms de fichiers du répertoire courant et ne modifiez aucun fichier"

C’est le premier résultat à noter : code de sortie, présence d’une réponse finale sur stdout, apparition d’un journal relisible dans ~/.dsh/sessions/. La tâche doit rester en lecture seule. Il existe aussi les profils sdk / sdk-minimal / acp pour qu’un autre processus s’attache en JSON-RPC ou ACP — semaine deux, pas en parallèle la première heure.

Comment faire de l’AI Coding avec DeepSeek Harness ?

Que le Web ou le headless parle ne veut pas dire « il a le droit de réécrire le dépôt ». En Standard officiel, il peut modifier des fichiers, lancer un shell, chercher et démarrer des sous-agents ; un logiciel en preview plus un modèle qui écrit des commandes imposent une première tâche de code confrontable à git diff. Ce n’est pas un benchmark : c’est vérifier que dsh change la bonne fonction dans le répertoire que vous avez choisi.

Préparez un petit dépôt où le vrai et le faux se voient à l’œil : greet.ts renvoie exprès hi Ada, le test attend Hello, Ada. Vous n’avez pas besoin que le modèle « sonne juste ».

zsh
mkdir -p ~/work/dsh-first-run && cd ~/work/dsh-first-run
git init
printf '%s\n' 'export function greet(name: string): string {' '  return "hi " + name' '}' > greet.ts
printf '%s\n' 'import { greet } from "./greet.ts"' 'if (greet("Ada") !== "Hello, Ada") {' '  throw new Error("unexpected greeting")' '}' > greet.test.ts
git add . && git commit -m "chore: isolated dsh first-run repo"
  1. Lecture seule : Lisez greet.ts et greet.test.ts et expliquez pourquoi le test échoue. Ne modifiez aucun fichier. Réussi : il pointe l’écart entre retour et test, git status reste propre.
  2. Un fichier : Modifiez uniquement greet.ts pour que greet("Ada") renvoie Hello, Ada. Ne touchez pas au test et ne commitez pas. Ensuite, lancez le test vous-même ; sans runner, regardez la valeur de retour, puis git diff. Réussi : le diff ne touche que greet.ts, le retour colle au test.
  3. Si le test échoue encore, renvoyez la sortie et faites-le retravailler le même fichier. Avant de committer, lisez le diff. Si la tâche de code échoue, ouvrez ~/.dsh/sessions/ ou Trajectory sur le site : mauvais outil, arguments illégaux, approbation refusée, ou le workspace n’est pas ce répertoire.

La première fois, outils Standard / native. Quand la tâche sur un fichier est stable, envisagez DSH_TOOLS_MODE=code ou both pour que le modèle orchestre plusieurs tours en TypeScript. Dans la référence officielle, le repli processus de DSH_PERMISSION_MODE est proche de workspace-write ; danger-full-access ne demande presque plus d’approbation — la liste du premier lancement l’exclut. Bloqué sur les arguments JSON d’un outil : lisez d’abord JSON Schema pour les agents IA, puis changez de modèle. Tâche trop large, allers-retours : workflow AI Coding — dsh ne répond qu’à « le runtime officiel est-il là ».

L’installation de DeepSeek Harness a-t-elle réussi ?

« Pratique » dans le titre n’est pas un classement : c’est une liste d’une demi-heure. Les cinq lignes doivent passer avant de dire que dsh est utilisable sur cette machine. Une ligne manque : revenez à l’étape, n’élargissez pas encore les modifications de fichiers.

Contrôle Réussi Si ça échoue, d’abord
Processus npx @deepseek-ai/dsh web reste au premier plan Vérifier Node, le cache npx, le port
Interface 127.0.0.1:3080 s’ouvre --no-open puis visite manuelle ; vérifier --port
Clé Plus de message sur des identifiants official provider manquants Ne garder qu’une DEEPSEEK_API_KEY valide
Tâche lecture seule Le headless imprime une réponse et sort, pas de nouveau diff Raccourcir la tâche
Trajectoire ~/.dsh/sessions/ permet de relire cet appel Vérifier DSH_HOME

S’il manque une des cinq, n’enchaînez pas sur « modifier automatiquement des dizaines de fichiers ». La preview bouge vite. Notez commande, version de Node, version du paquet dsh et la date : la semaine suivante, vous saurez si c’est votre environnement ou un breaking change amont.

Erreurs fréquentes de dsh et que faire

npx échoue ou est très lent. Le premier lancement tire @deepseek-ai/dsh. Réseau instable : passez par une compilation source, ou confirmez le registre npm. Un cache à moitié écrit n’est pas « déjà installé ».

3080 ne s’ouvre pas. Ajoutez --no-open et ouvrez à la main ; port occupé, ou vous avez passé --port et ouvrez encore 3080.

L’interface est là, le modèle ne fait rien. Le plus souvent, la couche clé. L’environnement du processus gagne ; ~/.dsh/.env n’est qu’un repli. Redémarrez le processus web après un changement ; la clé n’est pas rechargée à chaud.

Mauvais répertoire modifié. Regardez le répertoire courant au lancement et le dépôt choisi dans l’interface. L’erreur la plus fréquente : prendre le home comme workspace.

Vous utilisez encore dsh run, ou le headless ne sort pas. Le guide utilisateur : sous-commande retirée, tâches uniques via --profile headless. Réduisez la tâche à une consigne en lecture seule, vérifiez que le processus n’attend pas une approbation, puis voyez où le journal de session bloque.

dsh n’est pas une peau de Claude Code ou de Codex. Éditeurs : DeepSeek, Anthropic, OpenAI ; dsh est un runtime indépendant plus Web / headless, les deux autres des CLI distinctes. Les répertoires de config ne se parlent pas : dsh vit dans ~/.dsh. Première acceptation : 3080 ou une tâche headless ; les autres stacks, leurs smokes officiels. On peut les installer ensemble ; ne supposez pas que clés, droits et sessions sont communs. Unifier les trois flux derrière une passerelle seulement si vous en avez vraiment besoin ; le premier jour, faites tourner dsh tout seul.

Ce n’est pas un runtime de production aujourd’hui. Le README le classe en developer preview, avec des changements cassants. SAFETY.md est plus dur : pas d’audit ; il exécute des commandes générées par le modèle, charge des plugins tiers, touche le réseau et les fichiers que vous lui donnez. Bac à sable et approbation réduisent le risque, ce n’est pas le seul contrôle. Convient maintenant : acceptation d’installation dans un dépôt isolé, AI Coding au niveau d’une fonction, expériences contre les journaux de session. Ne convient pas : hauts privilèges sur un dépôt de production, réécriture non surveillée d’un monorepo, preview dans un SLA externe.

Questions fréquentes

Qu’est-ce que dsh ?

dsh est la ligne de commande du framework d’agent open source DeepSeek Harness. Elle gère les sessions, les outils, les droits et l’interface Web — ce n’est pas l’API Chat.

Comment installer dsh ?

Installez d’abord Node.js, puis lancez npx @deepseek-ai/dsh web dans un répertoire isolé. Clonez et lancez pnpm run build seulement pour modifier un plugin, suivre un commit ou comparer les artefacts.

dsh a-t-il besoin d’une clé API ?

Oui. Sans clé, l’interface s’ouvre, les tâches de code ne tournent pas. Placez DEEPSEEK_API_KEY dans l’environnement du processus, ou écrivez ~/.dsh/.env puis chmod 600.

dsh prend-il en charge une interface Web ?

Oui. npx @deepseek-ai/dsh web ouvre le banc à http://127.0.0.1:3080. Ajoutez --no-open pour ne pas lancer le navigateur ; --port si le port est pris.

dsh peut-il faire de l’AI Coding ?

Il peut modifier des fichiers, lancer un shell et chercher, mais en septembre 2026 c’est encore un developer preview. La première fois, dans un dépôt isolé : analyse en lecture seule, une fonction, les tests, le git diff — puis seulement élargir.

Quelle différence entre dsh et Claude Code ?

dsh est un runtime DeepSeek indépendant, configuré dans ~/.dsh. Il ne partage ni clé ni session avec Claude Code ou Codex. Vous pouvez les installer ensemble ; le premier jour, faites d’abord tourner dsh tout seul.

Pour faire tourner dsh plus longtemps, isolez l’environnement de test

dsh touche le workspace, la clé API, la session et l’exécution de commandes. Fermez le capot : 3080 et les sessions headless s’arrêtent. Garder un agent en preview dans un répertoire dont on peut faire un instantané et retirer les droits se réinitialise plus facilement que d’occuper en permanence votre répertoire personnel.

Une fois les tâches locales en lecture seule et le diff d’une fonction validés, si vous avez encore besoin d’un macOS dédié joignable en continu, regardez alors un nœud cloud — plus proche d’une expérience reproductible que de livrer tout de suite un dépôt de production à un logiciel en preview. Voir les offres Mac mini cloud ZekVPS

Offre limitée