Ein OpenCode OpenAI-kompatibles Anbieter-Setup ist nützlich, wenn Sie möchten, dass OpenCode mit einer Modellroute kommuniziert, die sich wie die OpenAI Chat Completions API verhält, während Ihr Team den Schlüsselbesitz, das Modell-Routing und die Nutzungsüberprüfung in einem einzigen Gateway behält.
Der wichtige Teil ist, dass OpenCode einen dokumentierten Pfad für benutzerdefinierte Anbieter hat. In den OpenCode-Anbieterdokumenten, die am 8. Juli 2026 überprüft wurden, ist der Ablauf wie folgt: Fügen Sie mit /connect eine Anmeldeinformation hinzu, wählen Sie Other (Andere) für einen Anbieter, der noch nicht aufgeführt ist, geben Sie diesem Anbieter eine einprägsame ID, konfigurieren Sie den Anbieter in opencode.json und führen Sie dann /models aus, um aus den konfigurierten Modellen auszuwählen.
Flatkey passt als Gateway hinter dem Anbieter in dieses Muster. Sie behalten OpenCode als Coding-Agent bei, richten den Anbieter auf die OpenAI-kompatible API-Basis-URL von Flatkey aus und überprüfen, ob der OpenCode-Modellverkehr in den Nutzungs- oder Anforderungsprotokollen von Flatkey erscheint, bevor Sie es zur Standardroute machen.
Schnelle Antwort für das OpenCode OpenAI-kompatible Anbieter-Setup
Verwenden Sie diese Setup-Form, wenn der Modell-Endpunkt mit Chat Completions kompatibel ist.
| Entscheidung | Empfohlener Wert | Warum es wichtig ist |
|---|---|---|
| Anbieter-ID | flatkey |
Die ID muss zwischen /connect, opencode.json und den ausgewählten Modellen übereinstimmen. |
| NPM-Paket | @ai-sdk/openai-compatible |
Die OpenCode-Dokumentation gibt dieses Paket für OpenAI-kompatible Anbieter an, die /v1/chat/completions verwenden. |
| OpenCode API-Basis-URL | https://router.flatkey.ai/v1 |
Die öffentliche Website von Flatkey verweist OpenAI-kompatible Clients auf dieses API-Stammverzeichnis. |
| Modell-IDs | Aktuelle Flatkey-Modellaliase, die für Ihren Schlüssel verfügbar sind | OpenCode verwendet konfigurierte Modell-IDs in der /models-Auswahl. |
| Überprüfung | OpenCode-Antwort plus Flatkey-Anforderungs- oder Nutzungsprotokoll | Dies beweist, dass die Anfrage des Coding-Agents die beabsichtigte Gateway-Route verwendet hat. |
| Rollback | Behalten Sie den vorherigen model-Wert und die vorherige Anbieterkonfiguration bei |
Eine Anbieteränderung sollte ohne Refactoring Ihrer Prompts oder Ihres Agenten-Workflows rückgängig gemacht werden können. |
Diese OpenCode OpenAI-kompatible Anbieter-Anleitung verwendet Vorlagen. Überprüfen Sie die genauen Modellaliase und die Endpunktfamilie mit Ihrem Flatkey-Konto, bevor Sie produktive Arbeit des Coding-Agents weiterleiten.
Was OpenCode benötigt
OpenCode hat zwei separate Zustandsteile für einen benutzerdefinierten Anbieter.
| OpenCode-Ebene | Was Sie konfigurieren | Zu beachtendes Quellverhalten |
|---|---|---|
| Anmeldeinformation | API-Schlüssel, der über /connect unter Other (Andere) eingegeben wird |
Die hier eingegebene Anbieter-ID muss mit der Anbieter-ID in der Konfiguration übereinstimmen. |
| Anbieterkonfiguration | provider.<id> in opencode.json |
Die Konfiguration benennt das AI SDK-Paket, die Basis-URL, Modelle und optionale Header oder API-Schlüsselreferenzen. |
| Modellauswahl | /models-Auswahl oder Standard-model-Wert |
Konfigurierte Anbietermodelle erscheinen, nachdem der Anbieter konfiguriert wurde. |
| Laufzeit-Standardwerte | model und optional small_model |
Die OpenCode-Konfiguration unterstützt Anbieter-/Modell-Standardwerte für normale und leichtgewichtige Aufgaben. |
Die OpenCode-Konfiguration kann JSON oder JSONC sein. Sie können sie global unter ~/.config/opencode/opencode.json oder in einem Projektstammverzeichnis als opencode.json platzieren. Die Projektkonfiguration hat eine höhere Standardpriorität, verwenden Sie also eine Projektdatei, wenn Sie Flatkey in einem Repository testen möchten, ohne jeden OpenCode-Arbeitsbereich zu ändern.
Schritt 1: Erstellen Sie einen Flatkey-Schlüssel für OpenCode
Erstellen Sie einen Flatkey-Schlüssel für diesen Workload und notieren Sie drei Werte außerhalb der Quellcodeverwaltung.
FLATKEY_API_KEY=sk-fk-your-key
FLATKEY_BASE_URL=https://router.flatkey.ai/v1
FLATKEY_MODEL=your-current-flatkey-model-alias
Halten Sie das API-Stammverzeichnis vom Endpunktpfad getrennt. Die OpenCode-Anbieterkonfiguration sollte https://router.flatkey.ai/v1 als options.baseURL verwenden; direkte HTTP-Smoke-Tests fügen /chat/completions hinzu.
Bevor Sie OpenCode verbinden, führen Sie einen direkten Test mit demselben Flatkey-Schlüssel und Modellalias durch.
curl "$FLATKEY_BASE_URL/chat/completions" \
-H "Authorization: Bearer $FLATKEY_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "'"$FLATKEY_MODEL"'",
"messages": [
{ "role": "user", "content": "Antworten Sie mit genau: flatkey route ok" }
]
}'
Wenn diese direkte Anfrage fehlschlägt, korrigieren Sie den Flatkey-Schlüssel, das Modellalias, die Endpunktfamilie oder die Kontoroute, bevor Sie mit dem Debugging von OpenCode beginnen. Ein OpenCode OpenAI-kompatibler Anbieter kann ein Modellalias nicht kompensieren, das das Gateway-Konto nicht aufrufen kann.
Schritt 2: Fügen Sie die Flatkey-Anmeldeinformationen in OpenCode hinzu
OpenCode speichert Anbieter-Anmeldeinformationen über /connect. In der OpenCode-TUI:
/connect
Wählen Sie Other (Andere), geben Sie eine Anbieter-ID wie flatkey ein und fügen Sie dann den Flatkey-API-Schlüssel ein. Fügen Sie die Basis-URL nicht in die Eingabeaufforderung für Anmeldeinformationen ein. Der Schlüssel beweist die Identität; die Basis-URL gehört in opencode.json.
Verwenden Sie eine einfache Anbieter-ID. flatkey ist besser als flatkey-prod-openai-compatible-gateway-v2, da Sie sie in Modell-IDs und Rollback-Notizen eingeben werden.
Schritt 3: Fügen Sie die OpenCode-Anbieterkonfiguration hinzu
Erstellen oder aktualisieren Sie opencode.json im Projektstammverzeichnis, das Sie testen möchten.
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"flatkey": {
"npm": "@ai-sdk/openai-compatible",
"name": "Flatkey",
"options": {
"baseURL": "https://router.flatkey.ai/v1"
},
"models": {
"your-current-flatkey-model-alias": {
"name": "Flatkey primary model"
}
}
}
},
"model": "flatkey/your-current-flatkey-model-alias"
}
Dies ist die kleinste Konfiguration für einen OpenCode OpenAI-kompatiblen Anbieter. Sie gibt OpenCode einen Anbieter namens flatkey, weist OpenCode an, das OpenAI-kompatible AI SDK-Paket zu verwenden, und stellt einen Modell-Alias in der Modellauswahl zur Verfügung.
Wenn Sie möchten, dass OpenCode eine kleinere Route für einfachere Aufgaben verwendet, fügen Sie small_model erst hinzu, nachdem die primäre Route funktioniert.
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"flatkey": {
"npm": "@ai-sdk/openai-compatible",
"name": "Flatkey",
"options": {
"baseURL": "https://router.flatkey.ai/v1"
},
"models": {
"primary-flatkey-model-alias": {
"name": "Flatkey primary"
},
"lighter-flatkey-model-alias": {
"name": "Flatkey lightweight"
}
}
}
},
"model": "flatkey/primary-flatkey-model-alias",
"small_model": "flatkey/lighter-flatkey-model-alias"
}
Verwenden Sie die Modell-Aliase, die Ihr Flatkey-Schlüssel tatsächlich aufrufen kann. Wenn Ihr Konto eine authentifizierte /v1/models-Route bereitstellt, vergleichen Sie die konfigurierten Modell-IDs mit dieser Antwort. Andernfalls kopieren Sie Aliase aus dem aktuellen Flatkey-Dashboard oder Modellverzeichnis und überprüfen Sie sie mit einer echten Anfrage.
Schritt 4: Wählen Sie das Modell in OpenCode aus und testen Sie es
Öffnen Sie nach dem Speichern der Konfiguration die Modellauswahl.
/models
Wählen Sie das Flatkey-Anbietermodell aus. Führen Sie dann einen kleinen Prompt in OpenCode aus:
Reply with exactly: opencode flatkey route ok
Verschieben Sie noch keinen ganzen Coding-Workflow. Speichern Sie zuerst ein kompaktes Verifizierungspaket.
| Prüfung | Bedingung für Erfolg | Aufzubewahrender Nachweis |
|---|---|---|
| Anbieter erscheint | /models zeigt das konfigurierte Flatkey-Modell an |
Screenshot oder Terminalnotiz mit der ausgewählten Modell-ID. |
| Authentifizierung funktioniert | OpenCode erhält eine normale Modellantwort, nicht 401 oder 403 |
Geschwärzter Schlüsselbesitzer, Antwortzeit und Zeitstempel der Anfrage. |
| Basis-URL ist sauber | Kein doppeltes /v1/v1, kein fehlendes /chat/completions-Verhalten |
Finale options.baseURL und direkter curl-Endpunkt. |
| Flatkey sieht es | Die Anfrage erscheint in den Flatkey-Nutzungs- oder Anforderungsprotokollen | Zeitstempel der Anfrage, Modell-Alias, Token- oder Einheitenfelder, Schlüssel-/Workload-Bezeichnung. |
| Rollback existiert | Sie können mit einer einzigen Konfigurationsänderung zum vorherigen Anbieter/Modell zurückkehren | Vorheriges model, vorherige Anbieter-ID und vorheriger Schlüsselbesitzer. |
Dies verwandelt eine Migration eines OpenCode OpenAI-kompatiblen Anbieters in eine kleine operative Änderung anstelle eines blinden Anbieterwechsels.
Schritt 5: Halten Sie Chat Completions und Responses getrennt
Die Dokumentation für benutzerdefinierte Anbieter von OpenCode weist auf eine Paketgrenze hin: Verwenden Sie @ai-sdk/openai-compatible für OpenAI-kompatible Anbieter, die /v1/chat/completions verwenden; wenn ein Anbieter oder Modell /v1/responses verwendet, nutzen Sie @ai-sdk/openai.
Das bedeutet, dass die erste Flatkey-Route ein Modell im Stil von Chat Completions sein sollte, es sei denn, Sie haben aktuelle Nachweise dafür, dass Ihr ausgewähltes Modell und der Client-Pfad eine andere Endpunktfamilie verwenden.
Verwenden Sie diese Entscheidungstabelle, bevor Sie weitere Modelle hinzufügen.
| Modellroute | OpenCode-Paketanweisung | Was zu testen ist |
|---|---|---|
| Chat Completions-kompatibel | @ai-sdk/openai-compatible |
Einfacher Chat, Streaming, Tool-Aufruf-Verhalten bei Bedarf. |
| Route im Responses-Stil | @ai-sdk/openai gemäß OpenCode-Dokumentation |
Erstellung von Antworten, Handhabung von Tools und Parsen der Ausgabe. |
| Gemischte Routen unter einem Anbieter | Paketüberschreibung pro Modell, falls Ihre Konfiguration dies verwendet | Ein Modell nach dem anderen, mit separaten Protokollen. |
Beginnen Sie für die meisten Einrichtungsarbeiten mit einer Chat Completions-Route. Fügen Sie Streaming, Tool-Aufrufe und sekundäre Modell-Aliase hinzu, nachdem der erste Smoke-Test des OpenCode OpenAI-kompatiblen Anbieters in Flatkey sichtbar ist.
Schritt 6: Fügen Sie Team-Kontrollen hinzu, nachdem die Route funktioniert
Sobald OpenCode Flatkey aufrufen kann, machen Sie die Route beobachtbar.
| Kontrolle | Warum es hilft |
|---|---|
| Schlüsselbenennung | Benennen Sie den Schlüssel für OpenCode, die Umgebung, das Team oder das Repository. |
| Modellgenehmigung | Beschränken Sie die erste Konfiguration auf genehmigte Aliase, bevor Sie eine breite Modellauswahl hinzufügen. |
| Nutzungsüberprüfung | Überprüfen Sie nach jedem OpenCode-Test die Flatkey-Anfrage- oder Nutzungsprotokolle nach Zeitstempel. |
| Kostenüberprüfung | Gleichen Sie die Modell-, Token- und Schlüsselnutzung mit dem Budgetverantwortlichen ab. |
| Timeout-Richtlinie | Verwenden Sie die OpenCode-Anbieteroptionen erst, nachdem Sie wissen, dass die Basisroute funktioniert. |
| Rollback-Hinweis | Speichern Sie die vorherigen Anbieter- und Modellwerte, bevor Sie Flatkey zum Standard machen. |
An dieser Stelle wird Flatkey mehr als nur eine Basis-URL. Ein funktionierender OpenCode OpenAI-kompatibler Anbieter sollte auch Plattform-, Finanz- und Betriebsteams einen Ort bieten, an dem sie die Modellnutzung überprüfen und die Route ändern können, ohne jeden Entwickler bitten zu müssen, separate Anbieterkonten zu verwalten.
Für eine umfassendere Migrationsplanung kombinieren Sie diesen Leitfaden mit dem Flatkey Leitfaden zur Migration von OpenAI-kompatiblen APIs. Wenn Sie benachbarte Codierungstools vergleichen, sehen Sie sich den Leitfaden für den OpenAI-kompatiblen Anbieter von Continue.dev und den Einrichtungsleitfaden für Roo Code OpenAI-kompatible APIs an.
Fehlerbehebung bei einem OpenCode OpenAI-kompatiblen Anbieter
| Symptom | Wahrscheinliche Ursache | Was zu überprüfen ist |
|---|---|---|
Anbieter erscheint nicht in /models |
Anbieter-ID-Konflikt oder Konfiguration nicht geladen | Bestätigen Sie, dass die /connect-ID und der provider-Schlüssel beide flatkey sind; bestätigen Sie, dass sich die Konfigurationsdatei im Projektstammverzeichnis oder dem erwarteten globalen Konfigurationspfad befindet. |
401 oder 403 |
Fehlender, widerrufener oder falscher Flatkey-Schlüssel | Geben Sie die Anmeldeinformationen mit /connect erneut ein; geben Sie niemals den vollständigen Schlüssel in Protokollen aus. |
404 |
Falscher API-Stamm oder falsche Endpunktfamilie | options.baseURL sollte der API-Stamm sein, nicht eine vollständige /chat/completions-URL. |
| Modell nicht gefunden | Alias ist für den Schlüssel oder die Endpunktfamilie nicht verfügbar | Überprüfen Sie den Modellalias in Flatkey und testen Sie eine direkte Anfrage. |
| Streaming hängt | Problem mit Routenkapazität, Modellunterstützung oder Chunk-Timeout | Beweisen Sie zuerst den Nicht-Streaming-Chat und passen Sie dann nur bei Bedarf das OpenCode-chunkTimeout an. |
| Nutzung fehlt in Flatkey | Anfrage ging nicht über Flatkey oder Protokolle sind gefiltert | Suchen Sie nach Zeitstempel, Schlüsselbezeichnung, Modellalias und Umgebung. |
| Antwortfunktionen schlagen fehl | Falsches Paket für die Endpunktfamilie | Überprüfen Sie erneut, ob die ausgewählte Route /v1/chat/completions oder /v1/responses verwendet. |
Wenn die erste Anfrage fehlschlägt, ändern Sie noch keine Prompts, Agenten, Berechtigungen oder den Repository-Code. Halten Sie die Debugging-Oberfläche des OpenCode OpenAI-kompatiblen Anbieters klein: Anmeldeinformationen, Anbieter-ID, Basis-URL, Paket, Modellalias und eine einfache Chat-Anfrage.
Abschließende Checkliste
Bevor Sie Flatkey als Standardroute für OpenCode verwenden, bestätigen Sie:
/connecthat eine Flatkey-Anmeldeinformation unter derselben Anbieter-ID, die inopencode.jsonverwendet wird.provider.flatkey.npmist@ai-sdk/openai-compatiblefür die Chat-Completions-Route.provider.flatkey.options.baseURListhttps://router.flatkey.ai/v1.modelverweist auf einen konfiguriertenflatkey/<modell-alias>-Wert./modelszeigt das konfigurierte Flatkey-Modell an.- Ein einzeiliger OpenCode-Prompt wird erfolgreich zurückgegeben.
- Flatkey-Nutzungs- oder Anforderungsprotokolle zeigen die OpenCode-Testanforderung an.
- Die vorherige Anbieter-/Modellroute ist für ein Rollback dokumentiert.
Ein OpenCode OpenAI-kompatibles Anbieter-Setup ist abgeschlossen, wenn der Anbieter konfiguriert, auswählbar, in den Flatkey-Protokollen verifiziert und umkehrbar ist. Wenn Sie bereit sind, den Modellverkehr von Codierungsagenten über einen einzigen Schlüssel zu leiten, holen Sie sich einen Flatkey-Schlüssel und beginnen Sie mit einem einzigen risikoarmen OpenCode-Prompt.



