CLI
OpenCode CLI-Optionen und -Befehle.
Das OpenCode CLI startet standardmäßig das TUI, wenn es ohne Argumente ausgeführt wird.
opencodeEs akzeptiert aber auch Befehle, wie auf dieser Seite dokumentiert. Dies ermöglicht Ihnen die programmatische Interaktion mit OpenCode.
opencode run "Explain how closures work in JavaScript"tui
Starten Sie die OpenCode Terminal-Benutzeroberfläche.
opencode [project]Flags
| Flag | Kurz | Beschreibung |
|---|---|---|
--continue | -c | Letzte Sitzung fortsetzen |
--session | -s | Sitzungs-ID zum Fortsetzen |
--fork | Sitzung beim Fortsetzen forken (mit --continue oder --session verwenden) | |
--prompt | Zu verwendender Prompt | |
--model | -m | Zu verwendendes Modell im Format provider/model |
--agent | Zu verwendender Agent | |
--port | Port zum Lauschen | |
--hostname | Hostname zum Lauschen |
Befehle
Das OpenCode CLI hat außerdem die folgenden Befehle.
agent
Agenten für OpenCode verwalten.
opencode agent [command]attach
Ein Terminal an einen bereits laufenden OpenCode-Backend-Server anhängen, der über die Befehle serve oder web gestartet wurde.
opencode attach [url]Dies ermöglicht die Verwendung des TUI mit einem entfernten OpenCode-Backend. Zum Beispiel:
# Backend-Server für Web-/Mobilzugriff starten
opencode web --port 4096 --hostname 0.0.0.0
# In einem anderen Terminal das TUI an das laufende Backend anhängen
opencode attach http://10.20.30.40:4096Flags
| Flag | Kurz | Beschreibung |
|---|---|---|
--dir | Arbeitsverzeichnis zum Starten des TUI | |
--session | -s | Sitzungs-ID zum Fortsetzen |
create
Einen neuen Agenten mit benutzerdefinierter Konfiguration erstellen.
opencode agent createDieser Befehl führt Sie durch die Erstellung eines neuen Agenten mit benutzerdefiniertem System-Prompt und Tool-Konfiguration.
list
Alle verfügbaren Agenten auflisten.
opencode agent listauth
Befehl zum Verwalten von Anmeldedaten und Login für Anbieter.
opencode auth [command]login
OpenCode wird von der Anbieterliste bei Models.dev (opens in a new tab) unterstützt, sodass Sie opencode auth login verwenden können, um API-Schlüssel für jeden gewünschten Anbieter zu konfigurieren. Diese werden in ~/.local/share/opencode/auth.json gespeichert.
opencode auth loginBeim Start lädt OpenCode die Anbieter aus der Anmeldedatei. Und wenn Schlüssel in Ihren Umgebungsvariablen oder einer .env-Datei in Ihrem Projekt definiert sind.
list
Listet alle authentifizierten Anbieter auf, wie sie in der Anmeldedatei gespeichert sind.
opencode auth listOder die Kurzversion.
opencode auth lslogout
Meldet Sie von einem Anbieter ab, indem er aus der Anmeldedatei entfernt wird.
opencode auth logoutgithub
Den GitHub-Agenten für Repository-Automatisierung verwalten.
opencode github [command]install
Den GitHub-Agenten in Ihrem Repository installieren.
opencode github installDies richtet den erforderlichen GitHub Actions Workflow ein und führt Sie durch den Konfigurationsprozess. Mehr erfahren.
run
Den GitHub-Agenten ausführen. Dies wird typischerweise in GitHub Actions verwendet.
opencode github runFlags
| Flag | Beschreibung |
|---|---|
--event | GitHub Mock-Event, für das der Agent ausgeführt werden soll |
--token | GitHub Personal Access Token |
mcp
Model Context Protocol Server verwalten.
opencode mcp [command]add
Einen MCP-Server zu Ihrer Konfiguration hinzufügen.
opencode mcp addDieser Befehl führt Sie durch das Hinzufügen eines lokalen oder entfernten MCP-Servers.
list
Alle konfigurierten MCP-Server und ihren Verbindungsstatus auflisten.
opencode mcp listOder die Kurzversion.
opencode mcp lsauth
Sich bei einem OAuth-fähigen MCP-Server authentifizieren.
opencode mcp auth [name]Wenn Sie keinen Servernamen angeben, werden Sie aufgefordert, aus verfügbaren OAuth-fähigen Servern auszuwählen.
Sie können auch OAuth-fähige Server und ihren Authentifizierungsstatus auflisten.
opencode mcp auth listOder die Kurzversion.
opencode mcp auth lslogout
OAuth-Anmeldedaten für einen MCP-Server entfernen.
opencode mcp logout [name]debug
OAuth-Verbindungsprobleme für einen MCP-Server debuggen.
opencode mcp debug <name>models
Alle verfügbaren Modelle der konfigurierten Anbieter auflisten.
opencode models [provider]Dieser Befehl zeigt alle verfügbaren Modelle Ihrer konfigurierten Anbieter im Format provider/model an.
Dies ist nützlich, um den genauen Modellnamen für Ihre Konfiguration herauszufinden.
Sie können optional eine Anbieter-ID übergeben, um Modelle nach diesem Anbieter zu filtern.
opencode models anthropicFlags
| Flag | Beschreibung |
|---|---|
--refresh | Modell-Cache von models.dev aktualisieren |
--verbose | Ausführlichere Modellausgabe verwenden (enthält Metadaten wie Kosten) |
Verwenden Sie das --refresh-Flag, um die zwischengespeicherte Modellliste zu aktualisieren. Dies ist nützlich, wenn neue Modelle zu einem Anbieter hinzugefügt wurden und Sie diese in OpenCode sehen möchten.
opencode models --refreshrun
OpenCode im nicht-interaktiven Modus ausführen, indem Sie einen Prompt direkt übergeben.
opencode run [message..]Dies ist nützlich für Skripting, Automatisierung oder wenn Sie eine schnelle Antwort ohne das vollständige TUI möchten. Zum Beispiel.
opencode run "Explain the use of context in Go"Sie können sich auch an eine laufende opencode serve-Instanz anhängen, um MCP-Server-Kaltstartzeiten bei jedem Aufruf zu vermeiden:
# Headless-Server in einem Terminal starten
opencode serve
# In einem anderen Terminal Befehle ausführen, die sich daran anhängen
opencode run --attach http://localhost:4096 "Explain async/await in JavaScript"Flags
| Flag | Kurz | Beschreibung |
|---|---|---|
--command | Der auszuführende Befehl, Nachricht für Argumente verwenden | |
--continue | -c | Letzte Sitzung fortsetzen |
--session | -s | Sitzungs-ID zum Fortsetzen |
--fork | Sitzung beim Fortsetzen forken (mit --continue oder --session verwenden) | |
--share | Sitzung teilen | |
--model | -m | Zu verwendendes Modell im Format provider/model |
--agent | Zu verwendender Agent | |
--file | -f | Datei(en) an die Nachricht anhängen |
--format | Format: default (formatiert) oder json (rohe JSON-Events) | |
--title | Titel für die Sitzung (verwendet gekürzten Prompt, wenn kein Wert angegeben) | |
--attach | An einen laufenden opencode-Server anhängen (z.B. http://localhost:4096 (opens in a new tab)) | |
--port | Port für den lokalen Server (Standard: zufälliger Port) |
serve
Einen Headless OpenCode-Server für API-Zugriff starten. Schauen Sie sich die Server-Dokumentation für die vollständige HTTP-Schnittstelle an.
opencode serveDies startet einen HTTP-Server, der API-Zugriff auf OpenCode-Funktionalität ohne die TUI-Oberfläche bietet. Setzen Sie OPENCODE_SERVER_PASSWORD, um HTTP Basic Auth zu aktivieren (Benutzername ist standardmäßig opencode).
Flags
| Flag | Beschreibung |
|---|---|
--port | Port zum Lauschen |
--hostname | Hostname zum Lauschen |
--mdns | mDNS-Erkennung aktivieren |
--cors | Zusätzliche Browser-Origin(s) für CORS erlauben |
session
OpenCode-Sitzungen verwalten.
opencode session [command]list
Alle OpenCode-Sitzungen auflisten.
opencode session listFlags
| Flag | Kurz | Beschreibung |
|---|---|---|
--max-count | -n | Auf die N neuesten Sitzungen begrenzen |
--format | Ausgabeformat: table oder json (table) |
stats
Token-Nutzung und Kostenstatistiken für Ihre OpenCode-Sitzungen anzeigen.
opencode statsFlags
| Flag | Beschreibung |
|---|---|
--days | Statistiken der letzten N Tage anzeigen (alle Zeiten) |
--tools | Anzahl der anzuzeigenden Tools (alle) |
--models | Modellnutzungs-Aufschlüsselung anzeigen (standardmäßig ausgeblendet). Zahl übergeben, um Top N anzuzeigen |
--project | Nach Projekt filtern (alle Projekte, leerer String: aktuelles Projekt) |
export
Sitzungsdaten als JSON exportieren.
opencode export [sessionID]Wenn Sie keine Sitzungs-ID angeben, werden Sie aufgefordert, aus verfügbaren Sitzungen auszuwählen.
import
Sitzungsdaten aus einer JSON-Datei oder OpenCode-Share-URL importieren.
opencode import <file>Sie können aus einer lokalen Datei oder einer OpenCode-Share-URL importieren.
opencode import session.json
opencode import https://opncd.ai/s/abc123web
Einen Headless OpenCode-Server mit Web-Oberfläche starten.
opencode webDies startet einen HTTP-Server und öffnet einen Webbrowser, um über eine Web-Oberfläche auf OpenCode zuzugreifen. Setzen Sie OPENCODE_SERVER_PASSWORD, um HTTP Basic Auth zu aktivieren (Benutzername ist standardmäßig opencode).
Flags
| Flag | Beschreibung |
|---|---|
--port | Port zum Lauschen |
--hostname | Hostname zum Lauschen |
--mdns | mDNS-Erkennung aktivieren |
--cors | Zusätzliche Browser-Origin(s) für CORS erlauben |
acp
Einen ACP (Agent Client Protocol) Server starten.
opencode acpDieser Befehl startet einen ACP-Server, der über stdin/stdout mittels nd-JSON kommuniziert.
Flags
| Flag | Beschreibung |
|---|---|
--cwd | Arbeitsverzeichnis |
--port | Port zum Lauschen |
--hostname | Hostname zum Lauschen |
uninstall
OpenCode deinstallieren und alle zugehörigen Dateien entfernen.
opencode uninstallFlags
| Flag | Kurz | Beschreibung |
|---|---|---|
--keep-config | -c | Konfigurationsdateien behalten |
--keep-data | -d | Sitzungsdaten und Snapshots behalten |
--dry-run | Anzeigen, was entfernt würde, ohne zu entfernen | |
--force | -f | Bestätigungsaufforderungen überspringen |
upgrade
OpenCode auf die neueste Version oder eine bestimmte Version aktualisieren.
opencode upgrade [target]Auf die neueste Version aktualisieren.
opencode upgradeAuf eine bestimmte Version aktualisieren.
opencode upgrade v0.1.48Flags
| Flag | Kurz | Beschreibung |
|---|---|---|
--method | -m | Die verwendete Installationsmethode; curl, npm, pnpm, bun, brew |
Globale Flags
Das opencode CLI akzeptiert die folgenden globalen Flags.
| Flag | Kurz | Beschreibung |
|---|---|---|
--help | -h | Hilfe anzeigen |
--version | -v | Versionsnummer ausgeben |
--print-logs | Logs auf stderr ausgeben | |
--log-level | Log-Level (DEBUG, INFO, WARN, ERROR) |
Umgebungsvariablen
OpenCode kann über Umgebungsvariablen konfiguriert werden.
| Variable | Typ | Beschreibung |
|---|---|---|
OPENCODE_AUTO_SHARE | boolean | Sitzungen automatisch teilen |
OPENCODE_GIT_BASH_PATH | string | Pfad zur Git Bash-Ausführungsdatei unter Windows |
OPENCODE_CONFIG | string | Pfad zur Konfigurationsdatei |
OPENCODE_CONFIG_DIR | string | Pfad zum Konfigurationsverzeichnis |
OPENCODE_CONFIG_CONTENT | string | Inline-JSON-Konfigurationsinhalt |
OPENCODE_DISABLE_AUTOUPDATE | boolean | Automatische Update-Prüfungen deaktivieren |
OPENCODE_DISABLE_PRUNE | boolean | Bereinigung alter Daten deaktivieren |
OPENCODE_DISABLE_TERMINAL_TITLE | boolean | Automatische Terminal-Titel-Updates deaktivieren |
OPENCODE_PERMISSION | string | Inline-JSON-Berechtigungskonfiguration |
OPENCODE_DISABLE_DEFAULT_PLUGINS | boolean | Standard-Plugins deaktivieren |
OPENCODE_DISABLE_LSP_DOWNLOAD | boolean | Automatische LSP-Server-Downloads deaktivieren |
OPENCODE_ENABLE_EXPERIMENTAL_MODELS | boolean | Experimentelle Modelle aktivieren |
OPENCODE_DISABLE_AUTOCOMPACT | boolean | Automatische Kontext-Kompaktierung deaktivieren |
OPENCODE_DISABLE_CLAUDE_CODE | boolean | Lesen von .claude (Prompt + Skills) deaktivieren |
OPENCODE_DISABLE_CLAUDE_CODE_PROMPT | boolean | Lesen von ~/.claude/CLAUDE.md deaktivieren |
OPENCODE_DISABLE_CLAUDE_CODE_SKILLS | boolean | Laden von .claude/skills deaktivieren |
OPENCODE_DISABLE_MODELS_FETCH | boolean | Abrufen von Modellen aus Remote-Quellen deaktivieren |
OPENCODE_FAKE_VCS | string | Fake-VCS-Anbieter für Testzwecke |
OPENCODE_DISABLE_FILETIME_CHECK | boolean | Dateizeitprüfung zur Optimierung deaktivieren |
OPENCODE_CLIENT | string | Client-Kennung (Standard: cli) |
OPENCODE_ENABLE_EXA | boolean | Exa-Websuche-Tools aktivieren |
OPENCODE_SERVER_PASSWORD | string | Basic Auth für serve/web aktivieren |
OPENCODE_SERVER_USERNAME | string | Basic Auth Benutzername überschreiben (Standard opencode) |
OPENCODE_MODELS_URL | string | Benutzerdefinierte URL zum Abrufen der Modellkonfiguration |
Experimentell
Diese Umgebungsvariablen aktivieren experimentelle Funktionen, die sich ändern oder entfernt werden können.
| Variable | Typ | Beschreibung |
|---|---|---|
OPENCODE_EXPERIMENTAL | boolean | Alle experimentellen Funktionen aktivieren |
OPENCODE_EXPERIMENTAL_ICON_DISCOVERY | boolean | Icon-Erkennung aktivieren |
OPENCODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECT | boolean | Kopieren bei Auswahl im TUI deaktivieren |
OPENCODE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT_MS | number | Standard-Timeout für Bash-Befehle in ms |
OPENCODE_EXPERIMENTAL_OUTPUT_TOKEN_MAX | number | Maximale Ausgabe-Token für LLM-Antworten |
OPENCODE_EXPERIMENTAL_FILEWATCHER | boolean | Datei-Watcher für gesamtes Verzeichnis aktivieren |
OPENCODE_EXPERIMENTAL_OXFMT | boolean | oxfmt-Formatierer aktivieren |
OPENCODE_EXPERIMENTAL_LSP_TOOL | boolean | Experimentelles LSP-Tool aktivieren |
OPENCODE_EXPERIMENTAL_DISABLE_FILEWATCHER | boolean | Datei-Watcher deaktivieren |
OPENCODE_EXPERIMENTAL_EXA | boolean | Experimentelle Exa-Funktionen aktivieren |
OPENCODE_EXPERIMENTAL_LSP_TY | boolean | Experimentelle LSP-Typprüfung aktivieren |
OPENCODE_EXPERIMENTAL_MARKDOWN | boolean | Experimentelle Markdown-Funktionen aktivieren |
OPENCODE_EXPERIMENTAL_PLAN_MODE | boolean | Plan-Modus aktivieren |