DeepSeek Harness Drittanbieter-Key einrichten — APIMaster.ai Custom Provider
So fügen Sie in DeepSeek Harness (dsh) einen OpenAI-kompatiblen API-Schlüssel von APIMaster.ai hinzu. Öffnen Sie Settings → Models → Add a custom provider, tragen Sie Base URL, Key und Modell-IDs ein und wählen Sie das Modell im Chat.
DeepSeek Harness (dsh) ist DeepSeeks Open-Source-Agent-Framework. Die Web-UI läuft standardmäßig unter http://127.0.0.1:3080. Die eingebaute Karte DeepSeek akzeptiert nur den offiziellen Key. Für GPT / Claude / DeepSeek und andere Marktplatz-Modelle über APIMaster brauchen Sie Add a custom provider.
Holen Sie sich zuerst den API-Schlüssel. Der Key liegt lokal in
$DSH_HOME/.credentials.yaml(Standard~/.dsh/). Nicht in Chats oder Screenshots teilen.
Voraussetzungen
- Node.js
22.19+oder24+. - Web-UI gestartet:
npx @deepseek-ai/dsh web
URL aus dem Terminal öffnen (meist http://127.0.0.1:3080).
3. Key aus der APIMaster-Konsole kopiert.
4. model id vom Marktplatz (z. B. gpt-5.6-sol, claude-sonnet-4-6, deepseek-v4-pro).
Schritt 1 — Models öffnen
- Settings öffnen.
- Links Models wählen.
- Edit auf der Karte DeepSeek nicht klicken — das ist der offizielle Key.

| Schaltfläche | Zweck |
|---|---|
| + Add provider | Katalog (Anthropic, OpenAI, …) |
| + Add a custom provider | APIMaster (diese) |
Schritt 2 — Custom Provider ausfüllen
| Feld | Wert |
|---|---|
| Provider ID | apimaster (Kleinbuchstaben; nach dem Speichern nicht umbenennbar) |
| Display name | apimaster oder APIMaster.ai |
| Base URL | https://apimaster.ai/v1 (/v1 erforderlich) |
| API protocol | openai-completions |
| API key | Ihr APIMaster-Key |
Mindestens ein Modell hinzufügen (links model id, rechts Anzeigename, z. B. gpt-5.6-sol) oder Fetch available models. Dann Create provider.

Eine nicht gelistete ID schlägt lokal mit UNKNOWN_MODEL fehl. Ohne /v1 scheitern Fetch und Chat.
- Überprüfen Sie für Vision-Modelle auch die Konfiguration der Bildeingabe unten. Das Hinzufügen eines Modells nur in der Benutzeroberfläche aktiviert möglicherweise keine Bilder.
Vision / multimodale Modelle mit benutzerdefinierten Anbietern
Wenn ein manuell hinzugefügtes Modell Bilder unterstützt, müssen Sie diese Fähigkeit möglicherweise in .dsh/settings.yaml deklarieren. Das Formular für benutzerdefinierte Anbieter hat derzeit kein Feld für Modelleingabetypen. Daher reicht es nicht aus, das Modell nur in der Benutzeroberfläche zu konfigurieren, wenn seine Vision-Fähigkeit im Modellkatalog fehlt.
Öffnen Sie $DSH_HOME/settings.yaml (Standard: ~/.dsh/settings.yaml) und bearbeiten Sie den vorhandenen Anbieter- und Modelleintrag. Behalten Sie die Provider-ID, Anmeldedaten, Basis-URL und andere Einstellungen, die Sie bereits konfiguriert haben. Fügen Sie die untenstehenden Felder in diesen Eintrag ein, anstatt die Datei zu ersetzen.
Bilder für ein bestimmtes Modell aktivieren
Fügen Sie dem Modell, das Vision unterstützt, input: [text, image] hinzu:
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]
Die obigen Anbieter- und Modell-IDs sind Platzhalter. Verwenden Sie für Ihr APIMaster-Setup Ihre gespeicherte Provider-ID (z. B. apimaster), https://apimaster.ai/v1 und die tatsächlichen Modell-IDs. apiKeyEnv benennt eine Umgebungsvariable, die Ihren Schlüssel enthält. Wenn Sie den Schlüssel über die Benutzeroberfläche gespeichert haben, behalten Sie die vorhandene Konfiguration der Anmeldedaten bei.
input: [text, image]deklariert die Unterstützung für Text- und Bildeingabe nur für dieses Modell. In diesem Beispiel gilt es fürvision-modelund ändertlegacy-chatnicht.- Wenn
inputweggelassen oder auf[]gesetzt wird, verwendet Harness die Fähigkeitsinformationen des Modellkatalogs. Wenn der Katalog keine entsprechenden Informationen enthält, wird auf dasdefaultInputdes Anbieters/der Route zurückgegriffen. - Eine explizite Deklaration auf Modellebene ist besonders nützlich für manuell hinzugefügte Modelle, deren Vision-Fähigkeit der Katalog nicht erkennt.
Standard für die Modelle eines Anbieters festlegen
Wenn alle manuell hinzugefügten Modelle unter einem benutzerdefinierten Anbieter Bilder unterstützen, ist es prägnanter, defaultInput: [text, image] auf dem Anbieter zu setzen:
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
| Feld | Geltungsbereich | Verwendung |
|---|---|---|
input |
Eingabefähigkeiten eines einzelnen Modells | Bevorzugen Sie dies, wenn nur einige Modelle Bilder unterstützen |
defaultInput |
Standard-Eingabefähigkeiten für Modelle auf diesem Anbieter/dieser Route | Praktisch, wenn alle manuell hinzugefügten Modelle Bilder unterstützen |
Auflösungsreihenfolge: Nicht leeres Modell-input → Fähigkeitsinformationen des Modellkatalogs → defaultInput des Anbieters/der Route (Standard: [text]). defaultInput ist eine Rückfallebene; es überschreibt weder eine explizite Modell-Deklaration noch bekannte Katalogfähigkeiten. Wenn der Katalog ein Vision-Modell als textbasiert beschreibt, setzen Sie input: [text, image] explizit für dieses Modell.
Diese Einstellungen deklarieren Fähigkeiten; sie fügen einem textbasierten Modell keine Vision-Unterstützung hinzu. Das Modell und die API des benutzerdefinierten Anbieters müssen beide das gesendete Bild-Eingabeformat unterstützen.
Speichern Sie die Datei und senden Sie eine neue Anfrage mit einem Bild. Harness liest die Einstellungen bei der nächsten Anfrage erneut, sodass ein Neustart normalerweise nicht erforderlich ist. Wenn die Änderung nicht wirksam wird, laden Sie die Benutzeroberfläche neu oder starten Sie DeepSeek Harness neu und wählen Sie das konfigurierte Modell erneut aus.
Schritt 3 — Speichern prüfen
Sie sollten DeepSeek und apimaster mit grauem Custom-Badge sehen.

Schritt 4 — Modell im Chat wählen
Im Selektor das Modell in der Gruppe apimaster wählen, nicht in DeepSeek.

Schritt 5 — Testnachricht
Senden Sie hi. Eine normale Antwort plus Fußzeilenmetriken (LLM / TTFT / tok) bedeutet, dass der Schlüssel und die Basis-URL für Textanfragen funktionieren. Um die Vision-Funktion zu überprüfen, senden Sie nach der Konfiguration der Bildeingabe auch ein Bild.

Fehlerbehebung
| Problem | Lösung |
|---|---|
| Formular fehlt | Settings → Models → + Add a custom provider |
401 / MISSING_CREDENTIAL |
Key erneut in Edit einfügen |
| Keine Verbindung | https://apimaster.ai/v1 |
UNKNOWN_MODEL |
ID zur Models-Liste hinzufügen |
| Offizielles DeepSeek | Zeile in der Gruppe apimaster wählen |
| Falsche Provider ID | Neu anlegen und alte Delete |
| Bilder werden abgelehnt | Prüfen Sie die Vision-Fähigkeit des Modells sowie input / defaultInput in ~/.dsh/settings.yaml; siehe die Checkliste zur Fehlerbehebung für Bilder unten |
Bilder funktionieren mit einem manuell hinzugefügten Modell nicht
Wenn Textanfragen funktionieren, aber Anfragen mit Bildern fehlschlagen, überprüfen Sie:
- Modellunterstützung: Das ausgewählte Modell unterstützt tatsächlich Vision / Bildeingabe.
- Modellkonfiguration: Sein Eintrag in
.dsh/settings.yamldeklariertinput: [text, image], falls der Katalog seine Vision-Fähigkeit nicht erkennt. - Anbieter-Standard: Alternativ hat der Anbieter
defaultInput: [text, image], wo die Rückfallebene greift. Wenn eine Modell-Deklaration oder ein Katalogeintrag „textbasiert“ angibt, verwenden Sieinputauf Modellebene, um Bilder für ein unterstütztes Modell explizit zu aktivieren. - Konfiguration geladen: Speichern Sie die von der laufenden Instanz verwendete Einstellungsdatei und versuchen Sie es erneut. Wenn die Änderung nicht berücksichtigt wird, laden Sie die Benutzeroberfläche neu oder starten Sie DeepSeek Harness neu.
- API-Kompatibilität: Das API-Protokoll und der Endpunkt des benutzerdefinierten Anbieters akzeptieren das von Harness gesendete Bild-Eingabeformat. Eine erfolgreiche Textanfrage allein bestätigt keine Bildkompatibilität.
Siehe Vision / multimodale Modelle mit benutzerdefinierten Anbietern für beide YAML-Beispiele.
Checkliste
-
npx @deepseek-ai/dsh webläuft - + Add a custom provider verwendet
- API protocol =
openai-completions - Base URL =
https://apimaster.ai/v1 - Modell in der Gruppe apimaster antwortet
- Für Vision-Modelle ist die Bildeingabe deklariert oder wird aus dem Katalog aufgelöst, und eine Anfrage mit einem Bild ist erfolgreich
