
DeepSeek Harness avec une API compatible OpenAI
Connecter DeepSeek Harness à une API compatible OpenAI, choisir entre Flash et Pro, vérifier les appels d'outils et estimer les coûts de boucle agent en cache.
DeepSeek Harness peut utiliser un point de terminaison de modèle compatible OpenAI lorsque son plugin fournisseur reçoit quatre valeurs : une URL de base, une clé API, un identifiant de modèle et un chemin Chat Completions. Pour reAPI, l'URL de base est https://api.reapi.ai/v1, et les identifiants de modèle actuels sont deepseek-v4-flash et deepseek-v4-pro.[1][2]
Le projet Harness porte encore le label de préversion pour développeurs, de sorte que ses noms de commande et son fichier de configuration peuvent changer. La partie stable est le contrat du fournisseur. Configurez celui-ci d'abord, puis vérifiez un message simple et un appel d'outil avant d'installer des plugins supplémentaires.
Les quatre valeurs à mapper
| Paramètre du fournisseur Harness | Valeur reAPI |
|---|---|
| Type de fournisseur | OpenAI-compatible |
| URL de base | https://api.reapi.ai/v1 |
| Clé API | Une clé API reAPI stockée dans une variable d'environnement |
| Modèle | deepseek-v4-flash ou deepseek-v4-pro |
Ne collez pas la clé dans un fichier du dépôt. Le plugin fournisseur doit la lire à partir d'une variable d'environnement ou du magasin de secrets pris en charge par la version actuelle de Harness.
Au niveau HTTP, la demande doit se résoudre en :
POST https://api.reapi.ai/v1/chat/completions
Authorization: Bearer YOUR_API_KEY
Content-Type: application/jsonCe corps minimal suffit pour tester l'accès au modèle en dehors de Harness avant de déboguer le comportement de l'agent :
{
"model": "deepseek-v4-flash",
"messages": [
{ "role": "user", "content": "Reply with exactly: provider ok" }
],
"stream": false,
"max_tokens": 64
}Si cette demande directe échoue, le problème n'est pas Harness. Commencez par corriger l'URL, la clé, l'identifiant du modèle, le solde ou l'accès réseau.
Commencez par Flash, promouvoir les étapes difficiles à Pro
Les deux variantes actuelles de DeepSeek V4 exposent une fenêtre de contexte de 1 million de jetons, jusqu'à 384 000 jetons de sortie, l'utilisation d'outils, le mode réflexion, l'entrée visuelle et la mise en cache du contexte sur la route reAPI.[2] Leurs prix et charges de travail prévues diffèrent considérablement.
| Modèle | Entrée cache-miss / 1M | Entrée cache-hit / 1M | Sortie / 1M | Premier travail Harness |
|---|---|---|---|---|
| DeepSeek V4 Flash | $0.14 | $0.0028 | $0.28 | recherche de fichiers, résumés, modifications courantes |
| DeepSeek V4 Pro | $1.74 | $0.0145 | $3.48 | architecture, débogage difficile, plans longs |
Une boucle d'agent répète les instructions, le contexte du dépôt et les schémas d'outils. Cela rend le comportement du cache particulièrement important. L'entrée cache-hit de Flash est 50 fois moins chère que son entrée cache-miss ; l'entrée cache-hit de Pro est 120 fois moins chère que son taux de non-atteinte.
Utilisez Flash comme valeur par défaut lors du câblage de l'agent. Acheminez une étape vers Pro uniquement lorsque son exigence de raisonnement justifie environ 12,4 fois le taux d'entrée et de sortie cache-miss.
Maintenez le préfixe stable stable
La mise en cache du contexte est plus utile lorsque le début des demandes consécutives reste identique. Dans un agent de codage, ce préfixe contient souvent :
- les instructions du système ;
- la politique du dépôt ;
- les définitions d'outils et les schémas JSON ;
- un document d'architecture inchangé ;
- la conversation antérieure avant le dernier résultat de l'outil.
La réorganisation des outils, l'ajout d'horodatages près du haut ou la régénération des mêmes instructions avec de légères modifications de formulation peuvent empêcher la réutilisation du préfixe. Placez l'état volatil après le bloc stable.
Par exemple, une boucle Pro avec 200 000 jetons d'entrée stables, 10 000 jetons d'entrée nouveaux et 8 000 jetons de sortie coûte approximativement :
200,000 cached input × $0.0145 / 1,000,000 = $0.0029
10,000 new input × $1.74 / 1,000,000 = $0.0174
8,000 output × $3.48 / 1,000,000 = $0.02784
-------
$0.04814Sans accès en cache, les mêmes 210 000 jetons d'entrée coûteraient 0,3654 $ avant la sortie. La disposition du contexte de l'agent peut être plus importante que de réduire quelques centaines de jetons du message le plus récent.
Vérifier les appels d'outils avant d'ajouter des plugins
Une réponse de chat réussie ne prouve pas qu'un agent peut agir. Exécutez ensuite un test d'appel d'outil sans danger :
{
"model": "deepseek-v4-flash",
"messages": [
{ "role": "user", "content": "What files are in the current directory?" }
],
"tools": [
{
"type": "function",
"function": {
"name": "list_files",
"description": "List files in the current working directory",
"parameters": { "type": "object", "properties": {} }
}
}
],
"tool_choice": "auto"
}Le modèle doit retourner un appel d'outil structuré. Harness exécute la fonction locale et fournit le résultat au tour suivant. Si le modèle imprime "je listerais les fichiers" en prose, inspectez si le plugin fournisseur a transféré tools et renvoyé les champs d'appel d'outil assistant intacts.
Cinq points de défaillance qui ressemblent à des problèmes de modèle
| Symptôme | Vérifier d'abord |
|---|---|
| Réponse 401 | La clé est absente ou Harness n'a pas hérité de la variable d'environnement |
| Réponse 404 | L'URL de base ou le chemin /v1/chat/completions a été dupliqué/omis |
| Modèle introuvable | Utilisez l'identifiant exact deepseek-v4-flash ou deepseek-v4-pro |
| L'agent parle mais n'agit jamais | L'adaptateur fournisseur a supprimé les définitions d'outils ou la sortie d'appel d'outil |
| La réponse s'arrête avant la fin | La réflexion a utilisé le budget de sortie ; augmentez max_tokens |
La réflexion est activée par défaut sur la route DeepSeek V4 actuelle. Les jetons de raisonnement comptent vers l'utilisation de la sortie, donc un petit plafond de sortie peut terminer un plan d'outil avant sa réponse visible par l'utilisateur.[2]
Testez la boucle d'agent complète avec un dépôt jetable
Une fois les sondes de message et d'appel d'outil réussies, fournissez à Harness un petit dépôt créé pour les tests d'intégration. Il doit contenir un fichier lisible, un test qui échoue, un chemin protégé et une commande inoffensive. Demandez à l'agent de diagnostiquer le test, de proposer un correctif, d'exécuter la vérification étroite et de s'arrêter avant toute validation ou action externe.
Cela révèle quatre défaillances d'intégration qu'un test d'appel d'outil JSON ne peut pas :
- les chemins relatifs se résolvent en dehors du répertoire de travail prévu ;
- la sortie de la commande est tronquée avant que le modèle voie l'erreur ;
- un outil de correctif change les terminaisons de ligne ou l'encodage du fichier ;
- la limite d'approbation est appliquée dans l'interface utilisateur mais pas dans le plugin.
Répétez la même tâche après le redémarrage de Harness. La récupération de session est importante dans un agent de codage car les longues exécutions échouent aux limites ordinaires : veille de l'ordinateur portable, redémarrage du processus, délai d'expiration du fournisseur ou sortie d'outil mal formée. Un premier tour qui fonctionne n'est pas suffisant.
Enregistrez assez pour séparer les défaillances du runtime et du modèle
Au minimum, conservez un identifiant de demande, un modèle sélectionné, une utilisation des jetons, des jetons cache-hit, un motif de fin, un nom d'outil, une durée d'outil et une erreur révisée. N'enregistrez pas les clés API ou le contenu des fichiers sans restriction.
Lorsqu'un agent s'arrête, ces champs répondent à des questions différentes :
| Observation | Couche probable |
|---|---|
| HTTP 401/404 avant toute sortie de modèle | Configuration du fournisseur |
finish_reason: length | Budget de sortie |
| Appel d'outil valide mais pas d'exécution | Runtime Harness/plugin |
| Outil exécuté, le résultat n'arrive jamais au modèle | Sérialisation de boucle |
| Entrée complète répétée avec zéro accès en cache | Construction du contexte |
| Le modèle choisit une commande risquée malgré un schéma correct | Politique modèle/invite/approbation |
Sans cette séparation, les équipes changent souvent de modèle pour corriger une variable d'environnement manquante ou réécrivent les invites pour corriger un résultat d'outil supprimé.
Ne pas transférer le raisonnement caché en tant qu'historique de conversation
La réponse DeepSeek V4 peut contenir le contenu du raisonnement séparément de la réponse finale. La documentation de l'API conseille de supprimer le contenu de raisonnement antérieur avant le tour suivant.[2] Stockez ce qui est nécessaire pour la facturation et le débogage selon la politique du produit, mais ne joignez pas le raisonnement caché à l'historique utilisateur/assistant suivant comme s'il s'agissait de contenu ordinaire.
La conversation doit préserver la réponse d'assistant visible, les appels d'outil structurés et les résultats d'outil requis par le protocole. Cela maintient la demande suivante valide et empêche le contexte de croître avec du matériel que le point de terminaison ne s'attend pas à recevoir en retour.
La sécurité du plugin appartient à la configuration, pas après
L'aperçu Harness prend en charge les plugins, ce qui signifie également que le code tiers peut recevoir des invites, des fichiers, la sortie d'outils ou l'accès au réseau. Avant d'en activer un :
- lisez la source et la surface des autorisations du plugin ;
- exécutez Harness dans un dépôt ou un bac à sable jetable ;
- commencez par les outils du système de fichiers en lecture seule ;
- bloquez les fichiers secrets et les répertoires parents ;
- exigez une confirmation pour le shell, l'installation de packages, les poussées git et les messages externes.
Le point de terminaison du modèle ne peut pas corriger un plugin local sur-autorisé. Cette limite appartient au runtime de l'agent.
Le contrat de modèle actuel et les exemples du SDK se trouvent dans la documentation de l'API DeepSeek V4, avec les prix actuels sur la page du modèle DeepSeek V4.
Références
- DeepSeek, "deepseek-harness" official repository, developer preview, accessed August 23, 2026.
- reAPI DeepSeek V4 API documentation, accessed August 23, 2026.
- DeepSeek Harness official product page, accessed August 23, 2026.
Auteur

Catégories
Plus d'articles

Kimi K3 : guide complet du modèle phare 2.8T de Moonshot
Architecture, tarifs et API de Kimi K3 : contexte 1M, raisonnement permanent, échantillonnage fixe et appel via une API compatible OpenAI.


Wan 3.0 Video Prime vs Wan 3.0 : vitesse contre prix
Un test appairé Wan 3.0 Video Prime vs standard a mesuré 86,7 s vs 141,1 s. Comparez coût, paramètres, limites et cas d'usage des deux routes.


Upscaler des vidéos avec Python : pipeline API et coûts batch
Traiter les vidéos en batch avec Python : pipeline de 80 lignes, budget de taux, tarification estimée à partir de $0.002/s et reprise sécurisée après crash.
