DeepSeek Harness-Modellkonfiguration
DeepSeek Harness kann die offizielle DeepSeek-Konfiguration oder Modelle von Drittanbietern verwenden.
| Anbietertyp | Was ist es | Anforderungen an Anmeldedaten | Anwendbare Szenarien |
|---|---|---|---|
| DeepSeek | Offizieller DeepSeek-Endpunkt | DeepSeek-API-Schlüssel (nur schreibbar) | Standard, schnellster Einstieg |
| Kataloganbieter | Anbieter im installierten Katalog, wie Anthropic, OpenAI | API-Schlüssel für jeden Anbieter; native Authentifizierung erfordert die jeweiligen Anmeldedaten. | Verbindung zu bereits enthaltenen Mainstream-Anbietern |
| Benutzerdefinierter Anbieter | Selbst gehostete Endpunkte, wie Unternehmens-Gateways oder selbst gehostete Server. | Provider-ID, baseURL, Protokoll, Anmeldedaten, Modell | Endpunkte nicht im Katalog |
Öffnen Sie http://127.0.0.1:3080/. Die gesamte Oberfläche sieht wie folgt aus. Wir können zuerst auf Einstellungen klicken, um den API-Schlüssel zu konfigurieren:

Wenn Sie noch keinen API-Schlüssel haben, können Sie unterhttps://platform.deepseek.com/api_keyseinen beantragen.
Öffnen Sie als Nächstes Einstellungen → Modelle. Auf der DeepSeek-Karte gibt es ein Eingabefeld für den API-Schlüssel. Füllen Sie es aus und speichern Sie.

Katalog-Provider hinzufügen
Katalog-Provider beziehen Endpunkte, Protokolle und Modelllisten aus dem installierten Katalog von dsh.
Wählen Sie Provider hinzufügen, wählen Sie einen Provider wie Anthropic oder OpenAI aus, geben Sie dessen API-Schlüssel ein und speichern Sie.
Der installierte Katalog bringt Endpunkte, Protokolle und Modelllisten automatisch mit; keine manuelle Eingabe erforderlich.

Zum Beispiel richten wir das Coding-Plan-Paket von Zhipu ein:

Nach Abschluss der Einrichtung können wir die hinzugefügten Modelle in der Modellliste des Chat-Dialogs sehen:

Provider, die native Authentifizierung verwenden, benötigen ihre eigenen nativen Anmeldedaten; nur das Ausfüllen des API-Schlüsselfelds reicht nicht aus, um die Konfiguration abzuschließen.
| Provider | Erforderliche native Anmeldeinformationen |
|---|---|
| Bedrock | AWS-Anmeldeinformationen und Region |
| Knoten | ADC-Projekt |
| Azure | api-version |
| Codex | OAuth |
Benutzerdefinierten Anbieter hinzufügen
Verwenden Sie für Endpunkte, die nicht im Katalog enthalten sind, z. B. Unternehmens-Gateways oder selbst gehostete Server, einen benutzerdefinierten Anbieter.

Wählen Sie Benutzerdefinierten Anbieter hinzufügen und füllen Sie die folgenden Felder aus.

| Fields | Beschreibung | Erforderlich? |
|---|---|---|
| Anbieter-ID | Kleingeschriebene, permanente Kennung | Erforderlich |
| Anzeigename | Der in der UI angezeigte Name | Optional |
| Basis-URL | baseURL des Endpunkts | Erforderlich |
| API-Protokoll | z. B. openai-completions | Erforderlich |
| Zugangsdaten | Referenz auf API-Schlüssel oder Umgebungsvariable | Erforderlich |
| Modell | Mindestens ein Modell | Erforderlich |
Die Provider-ID ist dauerhaft, weil Anfragen, gespeicherte Sitzungen, Modell-Standardwerte und Verweise auf Anmeldedaten sie alle verwenden.
Wenn Sie einen Provider umbenennen müssen, fügen Sie einen neuen Provider hinzu und löschen Sie den alten.
Anzeigename, Basis-URL, Protokoll, Anmeldedaten und Modelle bleiben bearbeitbar.
Wählen Sie im Modellkatalog "verfügbare Modelle abrufen" aus, um die Basis-URL und die Anmeldedaten abzufragen, die derzeit im Formular angezeigt werden.
Die Auswahl eines Kandidaten aktualisiert nur den Entwurf; der Provider wird erst beim Speichern übernommen.
Katalog-Anbieter verwenden den installierten Katalog und führen keine Netzwerkanfragen aus.
Bildeingabe: Modalität für Vision-Modelle deklarieren
Manuell eingegebene Modelle werden standardmäßig als Nur-Text behandelt; um Bilder zu unterstützen, musst du dies explizit deklarieren.
Da kein Teil des Prozesses den Endpunkt fragen kann, welche Modalitäten er akzeptiert, verwendet dsh eine Strategie „erst deklarieren, dann verwenden“.
Das Anhängen von Bildern an solche Modelle wird vor dem Senden abgelehnt, und das Modell wird genannt.
Vision-Modelle unter einem benutzerdefinierten Anbieter benötigen eine zusätzliche Zeile; das Formular hat kein entsprechendes Feld.
Bitte füge input für dieses Modell in $DSH_HOME/settings.yaml hinzu.
# 文件路径:$DSH_HOME/settings.yaml
# 顶层键 llm-pi-ai 是模型路由插件的 id,providers 下按提供方 id 组织
llm-pi-ai:
providers:
my-gateway:
apiKeyEnv: GATEWAY_API_KEY # 凭据引用:从 GATEWAY_API_KEY 环境变量读取
api: openai-completions # API 协议:OpenAI 兼容的补全协议
baseURL: https://gateway.example.example/v1 # 你的网关端点
models:
- id: legacy-chat # 纯文本模型,不写 input 即按纯文本对待
- id: vision-preview # 视觉模型
input: [text, image] # 声明同时接受文本与图片
input akzeptiert text und image und gilt nur für dieses Modell, sodass eine einzelne Route beide Modelltypen bedienen kann.
Es wegzulassen oder eine leere Liste zu schreiben, ist gleichbedeutend.
In diesem Fall die im installierten Katalog für dieses Modell aufgezeichnete Modalität beibehalten; Modelle, die nicht im Katalog beschrieben sind, fallen auf defaultInput der Route zurück.
Wenn alle deine manuell eingegebenen Modelle Bilder akzeptieren, kannst du einmal einen Fallback-Wert auf der Route festlegen.
# 文件路径:$DSH_HOME/settings.yaml
# defaultInput 是回退值而不是覆盖值,默认为 [text]
llm-pi-ai:
providers:
vision-gateway:
apiKeyEnv: GATEWAY_API_KEY
api: openai-completions
baseURL: https://vision.example.example/v1
defaultInput: [text, image] # 对本路由下目录未描述的模型生效
models:
- id: first-model
- id: second-model
Um die Modalität eines Modells in einem Katalog-Anbieter einzuschränken, schreibe sie unter modelOverrides, mit der Modell-ID als Schlüssel.
# 文件路径:$DSH_HOME/settings.yaml
# 目录提供方没有可填写的 models 列表,覆盖走 modelOverrides
llm-pi-ai:
providers:
anthropic:
modelOverrides:
claude-sonnet-4-5:
input: [text] # 把该模型的图片能力去掉
input und defaultInput sind Zusicherungen über deinen Endpunkt, keine Prüfungen gegen ihn.
Ein Modell, das Bildfähigkeiten deklariert, die der Endpunkt tatsächlich nicht bereitstellt, wird hier nicht blockiert; stattdessen lehnt der Anbieter die Anfrage ab.
Tabelle zur Fehlerbehebung
Wenn bei der Modellkonfiguration etwas schiefgeht, gibt dsh klare Fehlermeldungen aus. Verwende die folgende Tabelle zur Fehlerbehebung.
| Fehler | Bedeutung | Herrschen |
|---|---|---|
| MISSING_CREDENTIAL | Fehlender Provider-Schlüssel | Speichere den Provider-Schlüssel über die Models-Seite, oder gib die referenzierte Umgebungsvariable an. |
| UNKNOWN_MODEL | Das angeforderte Modell ist nicht konfiguriert | Wähle ein konfiguriertes Modell aus, oder füge das fehlende Modell einem benutzerdefinierten Provider hinzu. |
| Das Abrufen verfügbarer Modelle gibt 401 zurück. | Der Schlüssel ist ungültig, oder der Endpunkt unterstützt keine Modellerkennung. | Überprüfe den Schlüssel; die Modellerkennung ruft das OpenAI-kompatible GET /models auf. Bei Diensten, die diesen Endpunkt nicht bereitstellen, gib das Modell manuell ein. |
| Bild vor dem Senden abgelehnt | Das Modell deklariert keine Bildmodalität | Füge input: [text, image] zu den Modellen des benutzerdefinierten Anbieters hinzu; DeepSeeks eigene Routen sind nur Text und können nicht über die Konfiguration geändert werden. |
| Der Anbieter hat die Anfrage mit Bildern abgelehnt | Das Modell deklariert Bildfähigkeiten, die der Endpunkt tatsächlich nicht bereitstellt. | Entferne image aus der Liste, die ihm Bildfähigkeiten gewährt, und starte eine neue Sitzung. |