Skip to main content
Verwende diese Anleitung, um OpenCode mit CometAPI auszuführen. Die Konfiguration stellt vier API-Formate über separate benutzerdefinierte Provider bereit. Diese Konfiguration wurde mit OpenCode 1.18.16 getestet. Offizielle Referenzen:
Ersetze jeden Wert your-model-id durch eine Modell-ID von der CometAPI Models-Seite. Wähle ein Modell, das das API- Format des umgebenden Provider-Eintrags unterstützt.

Voraussetzungen

  • Node.js und npm oder eine andere Installationsmethode aus dem OpenCode-Leitfaden
  • Ein CometAPI-Konto mit einem aktiven API-Schlüssel aus dem Dashboard
  • Eine oder mehrere Modell-IDs von der CometAPI Models-Seite

API-Formate verstehen

Jede Provider-ID wählt einen SDK-Adapter und ein API-Format aus. Diese Anleitung überprüft den Gemini-Streaming-Vorgang, der während eines normalen OpenCode-Agent-Durchlaufs verwendet wird. Der Google-Adapter fügt :streamGenerateContent?alt=sse dem Modellpfad hinzu. Füge /chat/completions, /responses, /messages oder einen Gemini-Modellpfad nicht zu baseURL hinzu. Jeder Adapter fügt seinen erforderlichen Operationspfad hinzu.

Laufzeitberechtigungen verstehen

OpenCode wird mit den Berechtigungen des Prozesses ausgeführt, der es startet. Starte OpenCode im vorgesehenen Projektverzeichnis und halte einen Rücksetzpfad wie git bereit. Verwende einen Container oder eine Sandbox, wenn du strengere Grenzen für Dateisystem, Prozesse, Netzwerk oder API-Schlüssel benötigst.

OpenCode konfigurieren

1

OpenCode installieren

Installieren Sie OpenCode mit dem offiziellen npm-Paket:
Bestätigen Sie, dass die CLI verfügbar ist:
Siehe den OpenCode-Installationsleitfaden für Homebrew, Windows, Docker und andere Installationsmethoden.
2

Ihren CometAPI API-Schlüssel festlegen

Speichern Sie Ihren CometAPI API-Schlüssel in der Umgebungsvariable COMETAPI_KEY.
Lesen Sie den API-Schlüssel, ohne ihn im Terminal anzuzeigen:
Legen Sie die Variable in jeder Shell-Sitzung fest, die OpenCode startet. Übertragen Sie API-Schlüssel nicht in die Versionsverwaltung.
3

Einen Konfigurationsspeicherort auswählen

Verwenden Sie einen dieser unterstützten Speicherorte:
  • Globale Konfiguration: ~/.config/opencode/opencode.json
  • Projektkonfiguration: opencode.json im Projektstammverzeichnis
OpenCode führt Konfigurationsdateien zusammen. Eine Projektkonfiguration überschreibt widersprüchliche Werte aus der globalen Konfiguration.Verwenden Sie die globale Datei, wenn Sie die Anbieter in jedem Projekt verwenden möchten. Verwenden Sie die Projektdatei, wenn ein Repository eigene Modelleinträge benötigt.
4

Die CometAPI-Anbieter hinzufügen

Erstellen Sie die ausgewählte Konfigurationsdatei. Wenn die Datei bereits ein provider Objekt enthält, führen Sie diese vier Einträge mit diesem Objekt zusammen:
Ersetzen Sie jeden Schlüssel your-model-id unabhängig. Die vier Einträge können unterschiedliche Modell-IDs verwenden.Die Konfiguration legt kein übergeordnetes model fest. Dadurch können Sie das erforderliche API-Format und Modell über /models auswählen.
Verwenden Sie /connect nicht für diese Konfiguration. Die Felder apiKey lesen COMETAPI_KEY aus der Umgebung. Eine nicht gesetzte Variable wird als leerer Wert statt als gespeicherter /connect API-Schlüssel aufgelöst.
5

Jeden Anbieter auswählen und überprüfen

Starten Sie OpenCode in dem Projekt, auf das es zugreifen soll:
Führen Sie /models aus und wählen Sie dann einen Eintrag provider/model aus. Bei den vier Verifizierungs durchläufen dieses Leitfadens verwendete jeder Modellaufruf das zum ausgewählten Eintrag passende API Format. Es wurde keine formatübergreifende Anfrageverteilung oder automatische Aushandlung des API-Formats beobachtet.Führen Sie zum Überprüfen von Chat Completions über die Befehlszeile Folgendes aus:
Führen Sie zum Überprüfen von Responses über die Befehlszeile Folgendes aus:
Führen Sie zum Überprüfen von Anthropic Messages über die Befehlszeile Folgendes aus:
Führen Sie zum Überprüfen von Gemini generateContent über die Befehlszeile Folgendes aus:

Fehlerbehebung

Vergewissern Sie sich, dass die Konfiguration gültiges JSON ist. Jeder benutzerdefinierte Eintrag muss sich im provider-Objekt der obersten Ebene befinden, und jede Modell-ID muss sich im entsprechenden models-Objekt befinden. Starten Sie OpenCode neu und öffnen Sie dann /models erneut.
Vergewissern Sie sich, dass COMETAPI_KEY in der Shell gesetzt ist, die OpenCode startet. Ein nicht gesetzter Verweis auf {env:COMETAPI_KEY} wird zu einem leeren Wert. Öffnen Sie eine neue Shell, nachdem Sie ein Shell-Profil geändert haben.
Prüfen Sie die CometAPI-Modellseite, und ersetzen Sie dann die Modell- ID im Eintrag des ausgewählten Anbieters. Vergewissern Sie sich, dass das Modell das API-Format dieses Anbieters unterstützt.
Belassen Sie baseURL für Chat Completions, Responses und Messages auf /v1. Verwenden Sie /v1beta für Gemini. Fügen Sie keinen Vorgangspfad in baseURL ein.
Verwenden Sie eine Modell-ID, die das API-Format des ausgewählten Anbieters unterstützt. Gehen Sie nicht davon aus, dass eine Modell-ID alle vier Formate unterstützt.
OpenCode führt die globale und die Projektkonfiguration zusammen. Benennen Sie die Anbieter-ID des Projekts um oder entfernen Sie die widersprüchlichen Werte, wenn Sie möchten, dass der globale Anbietereintrag unverändert bleibt.
OpenCode verwendet die Berechtigungen des Prozesses, der es gestartet hat. Führen Sie OpenCode in einem Container oder einer Sandbox aus, wenn Sie stärkere Zugriffsgrenzen benötigen.

Weiterführende Ressourcen

Zuletzt geändert am 13. August 2026