Configuration d’une clé tierce DeepSeek Harness — fournisseur personnalisé APIMaster.ai
Comment ajouter une clé API compatible OpenAI d’APIMaster.ai dans DeepSeek Harness (dsh). Ouvrez Settings → Models → Add a custom provider, renseignez Base URL, clé et IDs de modèles, puis sélectionnez le modèle dans le chat.
DeepSeek Harness (dsh) est le framework d’agents local open source de DeepSeek. L’UI web est par défaut sur http://127.0.0.1:3080. La carte DeepSeek n’accepte que la clé officielle. Pour GPT / Claude / DeepSeek et les autres modèles du marketplace via APIMaster, ajoutez un custom provider.
Obtenez une clé API d’abord. La clé reste dans
$DSH_HOME/.credentials.yaml(défaut~/.dsh/). Ne la partagez pas dans un chat ni une capture.
Prérequis
- Node.js
22.19+ou24+. - UI web lancée :
npx @deepseek-ai/dsh web
Ouvrez l’URL du terminal (souvent http://127.0.0.1:3080).
3. Clé copiée depuis la console APIMaster.
4. model id du marketplace (ex. gpt-5.6-sol, claude-sonnet-4-6, deepseek-v4-pro).
Étape 1 — Ouvrir Models
- Ouvrez Settings.
- Choisissez Models.
- Ne cliquez pas sur Edit de la carte DeepSeek — c’est la clé officielle.

| Bouton | Usage |
|---|---|
| + Add provider | Catalogue (Anthropic, OpenAI, …) |
| + Add a custom provider | APIMaster (celui-ci) |
Étape 2 — Remplir le fournisseur personnalisé
| Champ | Valeur |
|---|---|
| Provider ID | apimaster (minuscules ; non renommable après enregistrement) |
| Display name | apimaster ou APIMaster.ai |
| Base URL | https://apimaster.ai/v1 (inclure /v1) |
| API protocol | openai-completions |
| API key | Votre clé APIMaster |
Ajoutez au moins un modèle (gauche = model id, droite = nom affiché, ex. gpt-5.6-sol) ou Fetch available models. Cliquez sur Create provider.

Un id absent de la liste échoue en local avec UNKNOWN_MODEL. Sans /v1, fetch et chat échouent.
- Pour les modèles de vision, vérifiez également la configuration d'entrée d'image ci-dessous. L'ajout d'un modèle uniquement via l'interface peut ne pas activer les images.
Vision / Modèles multimodaux avec des fournisseurs personnalisés
Si un modèle que vous ajoutez manuellement prend en charge les images, vous devrez peut-être déclarer cette capacité dans .dsh/settings.yaml. Le formulaire des fournisseurs personnalisés ne comporte actuellement aucun champ pour les types d'entrée de modèle : configurer le modèle uniquement via l'interface ne suffit donc pas lorsque sa capacité de vision est absente du catalogue de modèles.
Ouvrez $DSH_HOME/settings.yaml (par défaut ~/.dsh/settings.yaml) et modifiez l'entrée existante du fournisseur et du modèle. Conservez l'ID du fournisseur, les identifiants, l'URL de base et les autres paramètres déjà configurés ; fusionnez les champs ci-dessous dans cette entrée au lieu de remplacer le fichier.
Activer les images pour un modèle spécifique
Ajoutez input: [text, image] au modèle qui prend en charge la vision :
llm-pi-ai:
providers:
my-gateway:
apiKeyEnv: GATEWAY_API_KEY
api: openai-completions
baseURL: https://your-api-endpoint/v1
models:
- id: legacy-chat
- id: vision-model
input: [text, image]
Les ID de fournisseur et de modèle ci-dessus sont des espaces réservés. Pour votre configuration APIMaster, utilisez votre ID de fournisseur enregistré (par exemple apimaster), https://apimaster.ai/v1 et les ID de modèle réels. apiKeyEnv désigne une variable d'environnement contenant votre clé ; si vous avez enregistré la clé via l'interface, conservez la configuration des identifiants existante.
input: [text, image]déclare la prise en charge des entrées texte et image pour ce modèle uniquement. Dans cet exemple, elle s'applique àvision-modelet ne modifie paslegacy-chat.- Si
inputest omis ou défini sur[], Harness utilise les informations de capacité du catalogue de modèles. Si le catalogue ne contient aucune information correspondante, il utilise ledefaultInputdu fournisseur / de la route comme solution de secours. - Une déclaration explicite au niveau du modèle est particulièrement utile pour les modèles ajoutés manuellement dont le catalogue ne reconnaît pas la capacité de vision.
Définir une valeur par défaut pour les modèles d'un fournisseur
Si tous les modèles ajoutés manuellement sous un fournisseur personnalisé prennent en charge les images, définir defaultInput: [text, image] sur le fournisseur est plus concis :
llm-pi-ai:
providers:
vision-gateway:
apiKeyEnv: GATEWAY_API_KEY
api: openai-completions
baseURL: https://your-api-endpoint/v1
defaultInput: [text, image]
models:
- id: first-model
- id: second-model
| Champ | Portée | Quand l'utiliser |
|---|---|---|
input |
Capacités d'entrée d'un seul modèle | Privilégiez-le lorsque seuls certains modèles prennent en charge les images |
defaultInput |
Capacités d'entrée par défaut pour les modèles de ce fournisseur / de cette route | Pratique lorsque tous les modèles ajoutés manuellement prennent en charge les images |
Ordre de résolution : input du modèle non vide → informations de capacité du catalogue de modèles → defaultInput du fournisseur / de la route (qui prend [text] par défaut). defaultInput est une solution de secours ; il ne remplace pas une déclaration explicite du modèle ni les capacités connues du catalogue. Si le catalogue décrit un modèle de vision comme étant texte uniquement, définissez explicitement input: [text, image] sur ce modèle.
Ces paramètres déclarent des capacités ; ils n'ajoutent pas la prise en charge de la vision à un modèle texte uniquement. Le modèle et l'API du fournisseur personnalisé doivent tous deux prendre en charge le format d'entrée d'image envoyé.
Enregistrez le fichier et envoyez une nouvelle requête avec une image. Harness relit les paramètres à la requête suivante ; un redémarrage n'est donc normalement pas nécessaire. Si la modification ne prend pas effet, rechargez l'interface ou redémarrez DeepSeek Harness, puis sélectionnez à nouveau le modèle configuré.
Étape 3 — Vérifier l’enregistrement
Vous devez voir DeepSeek et apimaster avec le badge gris Custom.

Étape 4 — Choisir le modèle dans le chat
Dans le sélecteur, prenez le modèle du groupe apimaster, pas du groupe DeepSeek.

Étape 5 — Message de test
Envoyez hi. Une réponse normale accompagnée des métriques de pied de page (LLM / TTFT / tok) signifie que la clé et l'URL de base fonctionnent pour les requêtes texte. Pour vérifier la vision, envoyez également une image après avoir configuré l'entrée d'image.

Dépannage
| Problème | Correction |
|---|---|
| Formulaire introuvable | Settings → Models → + Add a custom provider |
401 / MISSING_CREDENTIAL |
Recoller la clé dans Edit |
| Pas de connexion | https://apimaster.ai/v1 |
UNKNOWN_MODEL |
Ajouter l’id à Models |
| Trafic DeepSeek officiel | Choisir la ligne du groupe apimaster |
| Provider ID incorrect | Créer un nouveau puis Delete l’ancien |
| Images refusées | Vérifiez la capacité de vision du modèle ainsi que input / defaultInput dans ~/.dsh/settings.yaml ; consultez la liste de contrôle de dépannage des images ci-dessous |
Les images ne fonctionnent pas avec un modèle ajouté manuellement
Si les requêtes texte fonctionnent mais que les requêtes contenant des images échouent, vérifiez :
- Prise en charge du modèle : le modèle sélectionné prend effectivement en charge la vision / les entrées d'image.
- Configuration du modèle : son entrée dans
.dsh/settings.yamldéclareinput: [text, image]si le catalogue n'identifie pas sa capacité de vision. - Valeur par défaut du fournisseur : sinon, le fournisseur possède
defaultInput: [text, image], la solution de secours s'appliquant alors. Si une déclaration de modèle ou une entrée du catalogue indique texte uniquement, utilisezinputau niveau du modèle pour activer explicitement les images pour un modèle pris en charge. - Configuration chargée : enregistrez le fichier de paramètres utilisé par l'instance en cours et réessayez. Si la modification n'est pas répercutée, rechargez l'interface ou redémarrez DeepSeek Harness.
- Compatibilité de l'API : le protocole API et le point de terminaison du fournisseur personnalisé acceptent le format d'entrée d'image envoyé par Harness. Une requête texte réussie, à elle seule, ne vérifie pas la compatibilité des images.
Voir Vision / Modèles multimodaux avec des fournisseurs personnalisés pour les deux exemples YAML.
Liste de contrôle
-
npx @deepseek-ai/dsh webest lancé - + Add a custom provider utilisé
- API protocol =
openai-completions - Base URL =
https://apimaster.ai/v1 - Le modèle du groupe apimaster répond
- Pour les modèles de vision, l'entrée d'image est déclarée ou résolue à partir du catalogue, et une requête contenant une image aboutit
