CLI
OpenCode CLI-Optionen und -Befehle.
Die OpenCode CLI startet standardmäßig die TUI, wenn sie ohne Argumente ausgeführt wird.
opencodeSie akzeptiert jedoch auch Befehle, wie auf dieser Seite dokumentiert. So können Sie programmatisch mit OpenCode interagieren.
opencode run "Explain how closures work in JavaScript"tui
Startet die OpenCode-Terminalbenutzeroberfläche.
opencode [project]Flags
| Flag | Kurz | Beschreibung |
|---|---|---|
--continue | -c | Setzt die letzte Sitzung fort |
--session | -s | Sitzungs-ID zum Fortsetzen |
--fork | Forkt die Sitzung beim Fortsetzen (mit --continue oder --session verwenden) | |
--prompt | Zu verwendender Prompt | |
--model | -m | Zu verwendendes Modell im Format provider/model |
--agent | Zu verwendender Agent | |
--port | Port, auf dem gelauscht wird | |
--hostname | Hostname, auf dem gelauscht wird | |
--mdns | mDNS-Erkennung aktivieren | |
--mdns-domain | Benutzerdefinierter mDNS-Domänenname | |
--cors | Zusätzliche zu erlaubende Browser-Origin(s) für CORS |
Befehle
Die OpenCode CLI verfügt außerdem über die folgenden Befehle.
agent
Verwaltet Agenten für OpenCode.
opencode agent [command]create
Erstellt einen neuen Agenten mit benutzerdefinierter Konfiguration.
opencode agent createDieser Befehl führt Sie durch das Erstellen eines neuen Agenten mit einem benutzerdefinierten System-Prompt und einer Berechtigungskonfiguration. Alles, was Sie nicht zulassen, wird im Frontmatter des generierten Agenten verweigert.
Flags
| Flag | Kurz | Beschreibung |
|---|---|---|
--path | Verzeichnis, in das die Agentendatei geschrieben wird (Standard: global oder .opencode/agent je nach Prompt) | |
--description | Was der Agent tun soll | |
--mode | Agentenmodus: all, primary oder subagent | |
--permissions | Kommagetrennte Liste der zu erlaubenden Berechtigungen (Standard: alle). Verfügbar: bash, read, edit, glob, grep, webfetch, task, todowrite, websearch, lsp, skill. Alles Weggelassene wird verweigert. Alias: --tools | |
--model | -m | Zu verwendendes Modell im Format provider/model |
Wenn Sie alle Optionen --path, --description, --mode und --permissions übergeben, wird der Befehl nicht-interaktiv ausgeführt.
list
Listet alle verfügbaren Agenten auf.
opencode agent listattach
Hängt ein Terminal an einen bereits laufenden OpenCode-Backend-Server an, der über die Befehle serve oder web gestartet wurde.
opencode attach [url]Dies ermöglicht die Verwendung der TUI mit einem entfernten OpenCode-Backend. Zum Beispiel:
# Start the backend server for web/mobile access
opencode web --port 4096 --hostname 0.0.0.0
# In another terminal, attach the TUI to the running backend
opencode attach http://10.20.30.40:4096Flags
| Flag | Kurz | Beschreibung |
|---|---|---|
--dir | Arbeitsverzeichnis, in dem die TUI gestartet wird | |
--continue | -c | Setzt die letzte Sitzung fort |
--session | -s | Sitzungs-ID zum Fortsetzen |
--fork | Forkt die Sitzung beim Fortsetzen (mit --continue oder --session verwenden) | |
--password | -p | Basic-Auth-Passwort (Standard: OPENCODE_SERVER_PASSWORD) |
--username | -u | Basic-Auth-Benutzername (Standard: OPENCODE_SERVER_USERNAME oder opencode) |
auth
Befehl zum Verwalten von Anmeldeinformationen und zum Anmelden bei Anbietern.
opencode auth [command]login
OpenCode wird von der Anbieterliste auf Models.dev (opens in a new tab) angetrieben, sodass Sie opencode auth login verwenden können, um API-Schlüssel für jeden gewünschten Anbieter zu konfigurieren. Dies wird in ~/.local/share/opencode/auth.json gespeichert.
opencode auth loginWenn OpenCode startet, lädt es die Anbieter aus der Anmeldeinformationsdatei. Und falls in Ihrer Umgebung oder einer .env-Datei in Ihrem Projekt Schlüssel definiert sind.
Flags
| Flag | Kurz | Beschreibung |
|---|---|---|
--provider | -p | Anbieter-ID oder -Name, bei dem angemeldet werden soll |
--method | -m | Zu verwendendes Anmeldemethoden-Label, überspringt die Methodenauswahl |
list
Listet alle authentifizierten Anbieter auf, wie sie in der Anmeldeinformationsdatei gespeichert sind.
opencode auth listOder die Kurzversion.
opencode auth lslogout
Meldet Sie von einem Anbieter ab, indem er aus der Anmeldeinformationsdatei entfernt wird.
opencode auth logoutgithub
Verwaltet den GitHub-Agenten für die Repository-Automatisierung.
opencode github [command]install
Installiert den GitHub-Agenten in Ihrem Repository.
opencode github installDies richtet den erforderlichen GitHub Actions-Workflow ein und führt Sie durch den Konfigurationsprozess. Mehr erfahren.
run
Führt den GitHub-Agenten aus. Dies wird typischerweise in GitHub Actions verwendet.
opencode github runFlags
| Flag | Beschreibung |
|---|---|
--event | GitHub-Mock-Ereignis, für das der Agent ausgeführt werden soll |
--token | GitHub Personal Access Token |
mcp
Verwaltet Model-Context-Protocol-Server.
opencode mcp [command]add
Fügt Ihrer Konfiguration einen MCP Server hinzu.
opencode mcp addDieser Befehl führt Sie durch das Hinzufügen entweder eines lokalen oder eines Remote-MCP-Servers.
list
Listet alle konfigurierten MCP Server und ihren Verbindungsstatus auf.
opencode mcp listOder verwenden Sie die Kurzversion.
opencode mcp lsauth
Authentifiziert sich mit einem OAuth-fähigen MCP Server.
opencode mcp auth [name]Wenn Sie keinen Servernamen angeben, werden Sie aufgefordert, aus den verfügbaren OAuth-fähigen Servern auszuwählen.
Sie können auch OAuth-fähige Server und ihren Authentifizierungsstatus auflisten.
opencode mcp auth listOder verwenden Sie die Kurzversion.
opencode mcp auth lslogout
Entfernt OAuth-Anmeldeinformationen für einen MCP Server.
opencode mcp logout [name]debug
Behebt OAuth-Verbindungsprobleme für einen MCP Server.
opencode mcp debug <name>models
Listet alle verfügbaren Modelle der konfigurierten Anbieter auf.
opencode models [provider]Dieser Befehl zeigt alle Modelle an, die über Ihre konfigurierten Anbieter verfügbar sind, im Format provider/model.
Dies ist nützlich, um den genauen Modellnamen herauszufinden, der in Ihrer Konfiguration verwendet werden soll.
Sie können optional eine Anbieter-ID übergeben, um Modelle nach diesem Anbieter zu filtern.
opencode models anthropicFlags
| Flag | Beschreibung |
|---|---|
--refresh | Aktualisiert den Modell-Cache von models.dev |
--verbose | Verwendet eine ausführlichere Modellausgabe (einschließlich Metadaten wie Kosten) |
Verwenden Sie das Flag --refresh, um die zwischengespeicherte Modellliste zu aktualisieren. Dies ist nützlich, wenn einem Anbieter neue Modelle hinzugefügt wurden und Sie sie in OpenCode sehen möchten.
opencode models --refreshrun
Führt opencode im nicht-interaktiven Modus aus, indem ein Prompt direkt übergeben wird.
opencode run [message..]Dies ist nützlich für Skripting, Automatisierung oder wenn Sie eine schnelle Antwort wünschen, ohne die vollständige TUI zu starten. Zum Beispiel.
opencode run Explain the use of context in GoSie können sich auch an eine laufende opencode serve-Instanz anhängen, um MCP-Server-Kaltstartzeiten bei jeder Ausführung zu vermeiden:
# Start a headless server in one terminal
opencode serve
# In another terminal, run commands that attach to it
opencode run --attach http://localhost:4096 "Explain async/await in JavaScript"Flags
| Flag | Kurz | Beschreibung |
|---|---|---|
--command | Der auszuführende Befehl, verwenden Sie message für Argumente | |
--continue | -c | Setzt die letzte Sitzung fort |
--session | -s | Sitzungs-ID zum Fortsetzen |
--fork | Forkt die Sitzung beim Fortsetzen (mit --continue oder --session verwenden) | |
--share | Teilt die Sitzung | |
--model | -m | Zu verwendendes Modell im Format provider/model |
--agent | Zu verwendender Agent | |
--file | -f | An die Nachricht anzuhängende Datei(en) |
--format | Format: default (formatiert) oder json (rohe JSON-Ereignisse) | |
--title | Titel für die Sitzung (verwendet einen gekürzten Prompt, falls kein Wert angegeben) | |
--attach | An einen laufenden opencode-Server anhängen (z. B. http://localhost:4096 (opens in a new tab)) | |
--password | -p | Basic-Auth-Passwort (Standard: OPENCODE_SERVER_PASSWORD) |
--username | -u | Basic-Auth-Benutzername (Standard: OPENCODE_SERVER_USERNAME oder opencode) |
--dir | Verzeichnis zum Ausführen oder Pfad auf dem Remote-Server beim Anhängen | |
--port | Port für den lokalen Server (Standard: zufälliger Port) | |
--variant | Modellvariante (anbieterspezifischer Reasoning-Aufwand) | |
--thinking | Zeigt Thinking-Blöcke an | |
--dangerously-skip-permissions | Genehmigt automatisch Berechtigungen, die nicht explizit verweigert wurden (gefährlich!) |
serve
Startet einen Headless-OpenCode-Server für den API-Zugriff. Sehen 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, auf dem gelauscht wird |
--hostname | Hostname, auf dem gelauscht wird |
--mdns | mDNS-Erkennung aktivieren |
--mdns-domain | Benutzerdefinierter mDNS-Domänenname |
--cors | Zusätzliche zu erlaubende Browser-Origin(s) für CORS |
session
Verwaltet OpenCode-Sitzungen.
opencode session [command]list
Listet alle OpenCode-Sitzungen auf.
opencode session listFlags
| Flag | Kurz | Beschreibung |
|---|---|---|
--max-count | -n | Beschränkt auf die N neuesten Sitzungen |
--format | Ausgabeformat: table oder json (table) |
delete
Löscht eine OpenCode-Sitzung.
opencode session delete <sessionID>stats
Zeigt Token-Nutzungs- und Kostenstatistiken für Ihre OpenCode-Sitzungen an.
opencode statsFlags
| Flag | Beschreibung |
|---|---|
--days | Zeigt Statistiken für die letzten N Tage an (gesamte Zeit) |
--tools | Anzahl der anzuzeigenden Tools (alle) |
--models | Zeigt die Aufschlüsselung der Modellnutzung an (standardmäßig ausgeblendet). Übergeben Sie eine Zahl, um die Top N anzuzeigen |
--project | Filtert nach Projekt (alle Projekte, leere Zeichenfolge: aktuelles Projekt) |
export
Exportiert Sitzungsdaten als JSON.
opencode export [sessionID]Wenn Sie keine Sitzungs-ID angeben, werden Sie aufgefordert, aus den verfügbaren Sitzungen auszuwählen.
Flags
| Flag | Beschreibung |
|---|---|
--sanitize | Schwärzt sensible Transkript-/Dateidaten |
import
Importiert Sitzungsdaten aus einer JSON-Datei oder einer OpenCode-Freigabe-URL.
opencode import <file>Sie können aus einer lokalen Datei oder einer OpenCode-Freigabe-URL importieren.
opencode import session.json
opencode import https://opncd.ai/s/abc123web
Startet einen Headless-OpenCode-Server mit einer Weboberfläche.
opencode webDies startet einen HTTP-Server und öffnet einen Webbrowser, um über eine Weboberflä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, auf dem gelauscht wird |
--hostname | Hostname, auf dem gelauscht wird |
--mdns | mDNS-Erkennung aktivieren |
--mdns-domain | Benutzerdefinierter mDNS-Domänenname |
--cors | Zusätzliche zu erlaubende Browser-Origin(s) für CORS |
acp
Startet einen ACP-Server (Agent Client Protocol).
opencode acpDieser Befehl startet einen ACP-Server, der über stdin/stdout mit nd-JSON kommuniziert.
Flags
| Flag | Beschreibung |
|---|---|
--cwd | Arbeitsverzeichnis |
--port | Port, auf dem gelauscht wird |
--hostname | Hostname, auf dem gelauscht wird |
--mdns | mDNS-Erkennung aktivieren |
--mdns-domain | Benutzerdefinierter mDNS-Domänenname |
--cors | Zusätzliche zu erlaubende Browser-Origin(s) für CORS |
plugin
Installiert ein Plugin und aktualisiert Ihre Konfiguration.
opencode plugin <module>Oder verwenden Sie den Alias.
opencode plug <module>Flags
| Flag | Kurz | Beschreibung |
|---|---|---|
--global | -g | In der globalen Konfiguration installieren |
--force | -f | Bestehende Plugin-Version ersetzen |
pr
Ruft einen GitHub-PR-Branch ab und checkt ihn aus, führt dann OpenCode aus.
opencode pr <number>db
Datenbank-Tools.
opencode db [query]Flags
| Flag | Beschreibung |
|---|---|
--format | Ausgabeformat: json oder tsv |
path
Gibt den Datenbankpfad aus.
opencode db pathdebug
Debugging- und Fehlerbehebungs-Tools.
opencode debug [command]uninstall
Deinstalliert OpenCode und entfernt alle zugehörigen Dateien.
opencode uninstallFlags
| Flag | Kurz | Beschreibung |
|---|---|---|
--keep-config | -c | Konfigurationsdateien behalten |
--keep-data | -d | Sitzungsdaten und Snapshots behalten |
--dry-run | Zeigt an, was entfernt würde, ohne es zu entfernen | |
--force | -f | Überspringt Bestätigungsabfragen |
upgrade
Aktualisiert opencode auf die neueste oder eine bestimmte Version.
opencode upgrade [target]Um auf die neueste Version zu aktualisieren.
opencode upgradeUm auf eine bestimmte Version zu aktualisieren.
opencode upgrade v0.1.48Flags
| Flag | Kurz | Beschreibung |
|---|---|---|
--method | -m | Die verwendete Installationsmethode; curl, npm, pnpm, bun, brew |
Globale Flags
Die opencode CLI akzeptiert die folgenden globalen Flags.
| Flag | Kurz | Beschreibung |
|---|---|---|
--help | -h | Zeigt die Hilfe an |
--version | -v | Gibt die Versionsnummer aus |
--print-logs | Gibt Logs auf stderr aus | |
--log-level | Log-Stufe (DEBUG, INFO, WARN, ERROR) | |
--pure | Läuft ohne externe Plugins |
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_TUI_CONFIG | string | Pfad zur TUI-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 Aktualisierungen des Terminaltitels 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 Kontextkomprimierung deaktivieren |
OPENCODE_DISABLE_CLAUDE_CODE | boolean | Lesen aus .claude deaktivieren (Prompt + Skills) |
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_DISABLE_MOUSE | boolean | Maus-Erfassung in der TUI deaktivieren |
OPENCODE_FAKE_VCS | string | Falscher VCS-Anbieter zu Testzwecken |
OPENCODE_CLIENT | string | Client-Bezeichner (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 in der TUI deaktivieren |
OPENCODE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT_MS | number | Standard-Timeout für bash-Befehle in ms |
OPENCODE_EXPERIMENTAL_OUTPUT_TOKEN_MAX | number | Maximale Ausgabetoken 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 | TY LSP für Python-Dateien aktivieren |
OPENCODE_EXPERIMENTAL_PLAN_MODE | boolean | Plan-Modus aktivieren |