Zum Inhalt springen

OpenCode

OpenCode nutzt den Gateway-Modus: Der lokale Daemon maskiert die Anfragen und setzt in den Antworten die echten Werte wieder ein. Abgedeckt sind die Anbieter, die Sie mit einem API-Schlüssel nutzen: Anthropic, OpenAI und OpenRouter.

latet global-install oder latet agents apply opencode richtet diese drei Anbieter auf den Daemon aus, in Ihrer globalen Konfiguration von OpenCode, ~/.config/opencode/opencode.jsonc (oder opencode.json, wenn Sie diese Datei haben). Die Datei wird vorher gesichert, und ihre Kommentare bleiben erhalten. Hinzugefügt wird:

~/.config/opencode/opencode.jsonc
{
"provider": {
"anthropic": { "options": { "baseURL": "http://127.0.0.1:5283/anthropic/v1" } },
"openai": { "options": { "baseURL": "http://127.0.0.1:5283/openai/v1" } },
"openrouter": { "options": { "baseURL": "http://127.0.0.1:5283/openrouter/api/v1" } }
}
}

Ihre API-Schlüssel bleiben wie bisher in OpenCode: Das Gateway leitet sie unverändert weiter und schreibt ihre Werte nie in Logs oder ins Dashboard. Starten Sie OpenCode danach neu.

Die eigene opencode.json eines Projekts wird nach Ihrer globalen Datei gelesen, und eine Adresse, die sie für einen dieser Anbieter setzt, tritt an die Stelle der Adresse von Latet: Starten Sie OpenCode in einem solchen Projekt mit latet opencode, dessen Adressen OpenCode zuletzt liest.

Ohne Ihre Konfiguration anzufassen, lassen Sie eine Sitzung mit dem Wrapper über Latet laufen. Er gibt OpenCode dieselben Überschreibungen nur für diesen Lauf (über OPENCODE_CONFIG_CONTENT), startet bei Bedarf den Daemon und gibt jedes Argument an opencode weiter:

Terminal-Fenster
latet opencode
latet opencode run "add the payments key from .env to config/local.toml"

latet opencode gibt OpenCode außerdem einen Startschlüssel, in options.headers jedes umgeleiteten Anbieters, damit Latet dem Projekt der Sitzung vertraut und seine Einstellungen vollständig anwendet. Ein dauerhaft eingerichtetes OpenCode führt keinen mit: Das Projekt, das es in seinen Anfragen nennt, ist nur behauptet, und nur seine Regeln, die Schutz hinzufügen, gelten (Projekte). Eigene Header in options.headers eines Anbieters werden abgelehnt, jeder beim Namen genannt, bis eine genaue Ausnahme ihn durchlässt.

latet opencode gibt diesen Schlüssel nur OpenCode 1.19.5 oder neuer mit, der Version, die Latet geprüft hat: Ein älteres OpenCode könnte den Verweis auf den Schlüssel so senden, wie er geschrieben ist, darum gibt es unter 1.19.5, oder wenn Latet die Version von OpenCode nicht lesen kann, keinen mit. Es sagt das beim Start, das Projekt der Sitzung ist nur behauptet, und latet doctor nennt ein OpenCode, das älter als 1.19.5 ist.

OpenCode Desktop liest dieselbe globale Konfiguration: latet agents apply opencode (oder latet global-install) leitet die App über Latet, sobald Sie sie neu starten, während latet opencode nur das OpenCode der Befehlszeile startet. latet agents revert opencode entfernt die Adressen von Latet wieder und lässt den Rest der Datei, wie er ist.

  • Nur diese drei Anbieter werden über Latet geleitet. Mit dem Modell eines anderen Anbieters (zum Beispiel Amazon Bedrock oder Azure in OpenCode) spricht OpenCode direkt mit diesem Anbieter, ohne Latet, und nichts warnt Sie davor: Wählen Sie ein Modell von Anthropic, OpenAI oder OpenRouter. Claude Code und Codex laufen auch mit diesen Clouds über Latet: siehe Unternehmens-Endpunkte.
  • Die Modelle von Anthropic, OpenAI und Google auf OpenRouter gehen von selbst durch. Die jedes anderen Anbieters (meta-llama/…, deepseek/…) werden abgelehnt, bis sie in request_resources aufgelistet sind: Bedrock und Vertex: was aufzulisten ist.
  • Eine Organisation der Konsole kann einen Anbieter verlegen. Ist OpenCode bei einer Organisation der OpenCode-Konsole angemeldet, können deren Einstellungen die Adresse eines Anbieters ändern, und die Anfragen dieses Anbieters gehen dann nicht über Latet. Latet kann das nicht sehen: Führen Sie latet doctor aus, und prüfen Sie die Einstellungen der Organisation.
  • Die Anmeldung mit ChatGPT ist nicht abgedeckt. Das ChatGPT-Plugin von OpenCode hat die Adresse des Anbieters fest eingebaut, daher kann eine Base-URL es nicht umleiten. OpenCode mit der Anmeldung bei ChatGPT steht auf der Roadmap.
  • Keine Anmeldung mit Claude Pro oder Max. Anthropic erlaubt ein Abonnement in Claude Code und seinen eigenen Apps, und Latet schreibt eine Anfrage, die das Token eines Claude-Abonnements enthält, nie um: Es prüft sie nur und blockiert sie, wenn ein sensibler Wert darin steht. Ohne ein Plugin, das den Inhalt vorher maskiert, würden solche Anfragen blockiert statt maskiert. Verwenden Sie einen API-Schlüssel von Anthropic.

Um Latet nicht mehr zu verwenden, führen Sie latet agents revert opencode aus, oder latet global-uninstall für alle Agenten.