DeepSeek Harness
DeepSeek Harness (dsh) est le harness d'agent open source de DeepSeek. Il fait tourner une interface web locale pour les sessions d'agent, l'exécution d'outils et le travail sur les dépôts, et peut aussi être intégré via sa CLI ou son SDK Python.
DeepSeek Harness est neutre vis-à-vis des fournisseurs: les endpoints personnalisés compatibles OpenAI sont pris en charge aux côtés de l'API de DeepSeek. Connecté à notre Everyware AI API hébergée en Suisse, vos prompts et votre code source sont traités sur notre infrastructure GPU suisse.
Fonctionnalités clés
- Interface web locale: sessions d'agent, modifications de fichiers et sorties d'outils dans une interface navigateur.
- Fournisseurs personnalisés: enregistrez des endpoints compatibles OpenAI dans un fichier de patch Cordis.
- Sélection de modèle: les modèles configurés apparaissent dans l'interface web et deviennent le modèle par défaut des nouvelles sessions.
- Contrôle du raisonnement: déclarez des niveaux d'effort par modèle; l'interface affiche un menu Effort.
- Souveraineté totale des données: les requêtes de modèle passent par notre Everyware AI API suisse.
Aperçu développeur
DeepSeek Harness est publié comme aperçu développeur. Les clés de configuration et le comportement peuvent changer d'une version à l'autre. Vérifiez la documentation actuelle avant un déploiement à grande échelle.
Installation
DeepSeek Harness nécessite Node.js. Démarrez l'interface web directement avec npx:
npx @deepseek-ai/dsh web
L'interface web s'ouvre à l'adresse http://127.0.0.1:3080. Options utiles: --port 8080, --host, --no-open.
git clone https://github.com/deepseek-ai/deepseek-harness.git
cd deepseek-harness
pnpm install
pnpm run build
pnpm dsh web
Configuration
1. Enregistrer la clé API
Exportez votre clé API virtuelle comme variable d'environnement avant de démarrer le harness:
export EW_AI_API_KEY="sk-bf-..."
Vous pouvez aussi enregistrer la clé via l'interface web sous Settings → Models; elle est conservée dans $DSH_HOME/.credentials.yaml.
2. Enregistrer le gateway
Créez ou modifiez ~/.dsh/profiles/web/cordis.patch.yml:
- id: llm-pi-ai
config:
providers:
ew:
displayName: Everyware AI API
apiKeyEnv: EW_AI_API_KEY
api: openai-completions
baseURL: https://ai.ewcs.ch/v1
compat:
supportsDeveloperRole: false
maxTokensField: max_tokens
models:
- id: ew/flagship
name: Everyware Flagship
contextWindow: 1048576
maxTokens: 131072
input: [text, image]
reasoningEfforts:
low: low
high: high
- id: ew/balanced
name: Everyware Balanced
contextWindow: 1000000
maxTokens: 131072
input: [text, image]
reasoningEfforts:
low: low
high: high
- id: ew/fast
name: Everyware Fast
contextWindow: 262144
maxTokens: 131072
input: [text, image]
reasoningEfforts:
low: low
high: high
apiKeyEnv est le nom de la variable d'environnement, pas la clé elle-même. Une clé littérale n'est pas écrite dans le YAML.
Le bloc compat est le premier correctif habituel pour les gateways non OpenAI: supportsDeveloperRole: false évite le rôle developer, et maxTokensField: max_tokens évite max_completion_tokens.
La configuration est remplacée, pas fusionnée
Une surcharge Cordis remplace l'entrée de configuration complète. Lorsque vous modifiez un bloc llm-pi-ai existant, conservez tous les autres fournisseurs et champs du fichier.
3. Démarrer et sélectionner un modèle
npx @deepseek-ai/dsh web
Dans l'interface web, sélectionnez le modèle via le sélecteur de modèle. La sélection en fait aussi le modèle par défaut des nouvelles sessions. Si l'endpoint /v1/models du gateway renvoie une liste standard, Fetch available models peut remplir la liste automatiquement; sinon, saisissez les IDs de modèle manuellement.
Flux de travail typiques
- Interface web interactive:
npx @deepseek-ai/dsh web - Changer le port:
npx @deepseek-ai/dsh web --port 8080 - Exécution unique:
npx @deepseek-ai/dsh --profile headless "Explain the architecture of this repository." - Interface terminal optionnelle (plugin externe):
npx @deepseek-ai/dsh plugin --profile tui add github:deepseek-harness/turtle-ui npx @deepseek-ai/dsh --profile tui
Télémétrie et journaux de session
DeepSeek Harness téléverse par défaut les journaux de session vers DeepSeek, y compris les sessions qui utilisent un gateway configuré. Pour la souveraineté des données suisses, désactivez Settings → General → Upload Session Log (ou mettez la télémétrie sur enabled: false) et définissez DSH_TELEMETRY_MODE=DISABLED pour les téléversements OpenTelemetry.