--- title: CLI description: OpenCode CLI Optionen und Befehle. --- import { Tabs, TabItem } from "@astrojs/starlight/components" Der OpenCode CLI startet standardmäßig den [TUI](/docs/tui), wenn er ohne Argumente ausgeführt wird. ```bash opencode ``` Es akzeptiert aber auch Befehle, wie auf dieser Seite dokumentiert. Dadurch können Sie programmgesteuert mit OpenCode interagieren. ```bash opencode run "Explain how closures work in JavaScript" ``` --- ### tui Starten Sie die Terminalbenutzeroberfläche OpenCode. ```bash opencode [project] ``` #### Flaggen | Flagge | Kurz | Beschreibung | | ------------ | ---- | ---------------------------------------------------------------------- | | `--continue` | `-c` | Setzen Sie die letzte Sitzung fort | | `--session` | `-s` | Sitzung ID zum Fortfahren | | `--fork` | | Sitzung beim Fortsetzen verzweigen (mit `--continue` oder `--session`) | | `--prompt` | | Zur Verwendung auffordern | | `--model` | `-m` | Zu verwendendes Modell in der Form provider/model | | `--agent` | | Zu verwendender Agent | | `--port` | | Port zum Abhören | | `--hostname` | | Hostname zum Abhören | --- ## Befehle Der OpenCode CLI verfügt außerdem über die folgenden Befehle. --- ### agent Agenten für OpenCode verwalten. ```bash opencode agent [command] ``` --- ### attach Schließen Sie ein Terminal an einen bereits laufenden OpenCode-Backend-Server an, der über die Befehle `serve` oder `web` gestartet wurde. ```bash opencode attach [url] ``` Dies ermöglicht die Verwendung von TUI mit einem Remote-Backend OpenCode. Zum Beispiel: ```bash # 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:4096 ``` #### Flaggen | Flagge | Kurz | Beschreibung | | ----------- | ---- | ----------------------------------------- | | `--dir` | | Arbeitsverzeichnis zum Starten von TUI in | | `--session` | `-s` | Sitzung ID zum Fortfahren | --- #### create Erstellen Sie einen neuen Agenten mit benutzerdefinierter Konfiguration. ```bash opencode agent create ``` Dieser Befehl führt Sie durch die Erstellung eines neuen Agenten mit einer benutzerdefinierten Systemeingabeaufforderung und Toolkonfiguration. --- #### list Hören Sie sich alle verfügbaren Agenten an. ```bash opencode agent list ``` --- ### auth Befehl zum Verwalten von Anmeldeinformationen und Anmelden für Anbieter. ```bash opencode auth [command] ``` --- #### login OpenCode wird von der Anbieterliste bei [Models.dev](https://models.dev) unterstützt, sodass Sie `opencode auth login` verwenden können, um API-Schlüssel für jeden Anbieter zu konfigurieren, den Sie verwenden möchten. Dies wird in `~/.local/share/opencode/auth.json` gespeichert. ```bash opencode auth login ``` Wenn OpenCode startet, lädt es den Anbieter aus der Anmeldeinformationsdatei. Und ob in Ihren Umgebungen Schlüssel sind oder in Ihrem Projekt eine `.env`-Datei vorhanden ist. --- #### list Listet alle authentifizierten Anbieter auf, wie in der Anmeldeinformationsdatei gespeichert. ```bash opencode auth list ``` Oder die Kurzversion. ```bash opencode auth ls ``` --- #### logout Melden Sie sich von einem Anbieter ab, ohne dass es aus der Anmeldeinformationsdatei gelöscht wird. ```bash opencode auth logout ``` --- ### github Verwalten Sie den GitHub-Agenten für die Repository-Automatisierung. ```bash opencode github [command] ``` --- #### installieren Installieren Sie den GitHub-Agenten in Ihrem Repository. ```bash opencode github install ``` Dadurch wird der erforderliche GitHub-Aktionsworkflow eingerichtet und Sie durch den Konfigurationsprozess geführt. [Learn more](/docs/github). --- #### laufen Führen Sie den GitHub-Agenten aus. Dies wird normalerweise in GitHub-Aktionen verwendet. ```bash opencode github run ``` ##### Flaggen | Flagge | Beschreibung | | --------- | --------------------------------------------------- | | `--event` | GitHub Scheinereignis zum Ausführen des Agenten für | | `--token` | GitHub persönliches Zugriffstoken | --- ### mcp Verwalten Sie den Model Context Protocol-Server. ```bash opencode mcp [command] ``` --- #### add Fügen Sie Ihrer Konfiguration einen MCP-Server hinzu. ```bash opencode mcp add ``` Dieser Befehl führt Sie durch das Hinzufügen eines lokalen oder Remote-Servers MCP. --- #### list Hören Sie sich alle konfigurierten MCP-Server und deren Verbindungsstatus an. ```bash opencode mcp list ``` Oder nutzen Sie die Kurzversion. ```bash opencode mcp ls ``` --- #### auth Authentifizieren Sie sich mit einem OAuth-fähigen MCP-Server. ```bash opencode mcp auth [name] ``` Wenn Sie keinen Servernamen angeben, werden Sie autorisiert, einen der verfügbaren OAuth-fähigen Server auszuwählen. Sie können auch OAuth-fähige Server und deren Authentifizierungsstatus auflisten. ```bash opencode mcp auth list ``` Oder nutzen Sie die Kurzversion. ```bash opencode mcp auth ls ``` --- #### logout Entfernen Sie OAuth-Anmeldeinformationen für einen MCP-Server. ```bash opencode mcp logout [name] ``` --- #### debug Beheben Sie OAuth-Verbindungsprobleme für einen MCP-Server. ```bash opencode mcp debug ``` --- ### models Hören Sie sich alle verfügbaren Modelle der konfigurierten Anbieter an. ```bash opencode models [provider] ``` Dieser Befehl zeigt alle bei Ihren konfigurierten Anbietern verfügbaren Modelle im Format `provider/model` an. Dies ist nützlich, um die genauen Modellnamen herauszufinden, die in [your config](/docs/config/) verwendet werden sollen. Sie können optional einen Anbieter ID übergeben, um Modelle nach diesem Anbieter zu filtern. ```bash opencode models anthropic ``` #### Flaggen | Flagge | Beschreibung | | ----------- | ------------------------------------------------------------------------------------- | | `--refresh` | Aktualisieren Sie den Modellcache von models.dev | | `--verbose` | Verwenden Sie 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 diese in OpenCode sehen möchten. ```bash opencode models --refresh ``` --- ### laufen Führen Sie Opencode im nicht interaktiven Modus aus, indem Sie direkt eine Eingabeaufforderung übergeben. ```bash opencode run [message..] ``` Dies ist nützlich für die Skripterstellung, die Automatisierung oder wenn Sie eine schnelle Antwort wünschen, ohne den vollständigen TUI zu starten. Zum Beispiel. ```bash "opencode run" opencode run Explain the use of context in Go ``` Sie können auch eine Verbindung zu einer laufenden `opencode serve`-Instanz herstellen, um bei jedem Lauf Kaltstartzeiten für den MCP-Server zu vermeiden: ```bash # 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" ``` #### Flaggen | Flagge | Kurz | Beschreibung | | ------------ | ---- | --------------------------------------------------------------------------------------------------- | | `--command` | | Der auszuführende Befehl, Nachricht für Argumente verwenden | | `--continue` | `-c` | Setzen Sie die letzte Sitzung fort | | `--session` | `-s` | Sitzung ID zum Fortfahren | | `--fork` | | Verzweigen Sie die Sitzung beim Fortsetzen (mit `--continue` oder `--session`) verwenden | | `--share` | | Teilen Sie die Sitzung | | `--model` | `-m` | Zu verwendendes Modell in der Form provider/model | | `--agent` | | Zu verwendender Agent | | `--file` | `-f` | Datei(en) zum Anhängen an die Nachricht | | `--format` | | Format: Standard (formatiert) oder JSON (rohe JSON-Ereignisse) | | `--title` | | Titel für die Sitzung (verwendet eine verkürzte Eingabeaufforderung, wenn kein Wert angegeben wird) | | `--attach` | | An einen laufenden Opencode-Server anschließen (e.g., http://localhost:4096) | | `--port` | | Port für den lokalen Server (standardmäßig zufälliger Port) | --- ### serve Starten Sie einen Headless-OpenCode-Server für den API-Zugriff. Sehen Sie sich [server docs](/docs/server) für die vollständige HTTP-Schnittstelle an. ```bash opencode serve ``` Dadurch wird ein HTTP-Server gestartet, der API-Zugriff auf Opencode-Funktionalität ohne die TUI-Schnittstelle bietet. Legen Sie `OPENCODE_SERVER_PASSWORD` fest, um die HTTP-Basisauthentifizierung zu aktivieren (Benutzername ist standardmäßig `opencode`). #### Flaggen | Flagge | Beschreibung | | ------------ | -------------------------------------------------- | | `--port` | Port zum Abhören | | `--hostname` | Hostname zum Abhören | | `--mdns` | mDNS-Erkennung aktivieren | | `--cors` | Zusätzliche Browserursprung(e), um CORS zuzulassen | --- ### Sitzung Verwalten Sie OpenCode-Sitzungen. ```bash opencode session [command] ``` --- #### list Hören Sie sich alle OpenCode-Sitzungen an. ```bash opencode session list ``` ##### Flaggen | Flagge | Kurz | Beschreibung | | ------------- | ---- | ------------------------------------------ | | `--max-count` | `-n` | Auf N letzte Sitzungen beschränken | | `--format` | | Ausgabeformat: Tabelle oder JSON (Tabelle) | --- ### stats Zeigen Sie Token-Nutzungs- und Kostenstatistiken für Ihre OpenCode-Sitzungen an. ```bash opencode stats ``` #### Flaggen | Flagge | Beschreibung | | ----------- | ------------------------------------------------------------------------------------------------------------------------------ | | `--days` | Statistiken für die letzten N Tage anzeigen (alle Zeiten) | | `--tools` | Anzahl der angebotenen Werkzeuge (alle) | | `--models` | Aufschlüsselung der Modellnutzung anzeigen (standardmäßig ausgeblendet). Übergeben Sie eine Zahl, um die obersten N anzuzeigen | | `--project` | Nach Projekt filtern (alle Projekte, leere Zeichenfolge: aktuelles Projekt) | --- ### export Sitzungsdaten als JSON exportieren. ```bash opencode export [sessionID] ``` Wenn Sie keine Sitzung ID angeben, werden Sie berechtigt, eine der verfügbaren Sitzungen auszuwählen. --- ### import Importieren Sie Sitzungsdaten aus einer JSON-Datei oder einer OpenCode-Freigabe URL. ```bash opencode import ``` Sie können aus einer lokalen Datei oder einer OpenCode-Freigabe URL importieren. ```bash opencode import session.json opencode import https://opncd.ai/s/abc123 ``` --- ### web Starten Sie einen Headless-OpenCode-Server mit einer Weboberfläche. ```bash opencode web ``` Dadurch wird ein HTTP-Server gestartet und ein Webbrowser geöffnet, um über eine Webschnittstelle auf OpenCode zuzugreifen. Legen Sie `OPENCODE_SERVER_PASSWORD` fest, um die HTTP-Basisauthentifizierung zu aktivieren (Benutzername ist standardmäßig `opencode`). #### Flaggen | Flagge | Beschreibung | | ------------ | -------------------------------------------------- | | `--port` | Port zum Abhören | | `--hostname` | Hostname zum Abhören | | `--mdns` | mDNS-Erkennung aktivieren | | `--cors` | Zusätzliche Browserursprung(e), um CORS zuzulassen | --- ### acp Starten Sie einen ACP-Server (Agent Client Protocol). ```bash opencode acp ``` Dieser Befehl startet einen ACP-Server, der über stdin/stdout mit nd-JSON kommuniziert. #### Flaggen | Flagge | Beschreibung | | ------------ | -------------------- | | `--cwd` | Arbeitsverzeichnis | | `--port` | Port zum Abhören | | `--hostname` | Hostname zum Abhören | --- ### uninstall Deinstallieren Sie OpenCode und entfernen Sie alle zugehörigen Dateien. ```bash opencode uninstall ``` #### Flaggen | Flagge | Kurz | Beschreibung | | --------------- | ---- | --------------------------------------------------- | | `--keep-config` | `-c` | Konfigurationsdateien behalten | | `--keep-data` | `-d` | Sitzungsdaten und Snapshots aufbewahren | | `--dry-run` | | Zeigt, was entfernt werden würde, ohne zu entfernen | | `--force` | `-f` | Bestätigungsaufforderungen überspringen | --- ### upgrade Aktualisiert Opencode auf die neueste Version oder eine bestimmte Version. ```bash opencode upgrade [target] ``` Um auf die neueste Version zu aktualisieren. ```bash opencode upgrade ``` Um auf eine bestimmte Version zu aktualisieren. ```bash opencode upgrade v0.1.48 ``` #### Flaggen | Flagge | Kurz | Beschreibung | | ---------- | ---- | --------------------------------------------------------------- | | `--method` | `-m` | Die verwendete Installationsmethode; curl, npm, pnpm, bun, brew | --- ## Globale Flaggen Der Opencode CLI akzeptiert die folgenden globalen Flags. | Flagge | Kurz | Beschreibung | | -------------- | ---- | ----------------------------------------- | | `--help` | `-h` | Hilfe anzeigen | | `--version` | `-v` | Versionsnummer drucken | | `--print-logs` | | Protokolle nach Standard drucken | | `--log-level` | | Protokollebene (DEBUG, INFO, WARN, ERROR) | --- ## Umgebungsvariablen OpenCode kann mithilfe von Umgebungsvariablen konfiguriert werden. | Variable | Geben Sie | eine Beschreibung | | ------------------------------------- | --------------- | -------------------------------------------------------------------------------- | | `OPENCODE_AUTO_SHARE` | boolescher Wert | Sitzungen automatisch teilen | | `OPENCODE_GIT_BASH_PATH` | Zeichenfolge | Pfad zur ausführbaren Git Bash-Datei unter Windows | | `OPENCODE_CONFIG` | Zeichenfolge | Pfad zur Konfigurationsdatei | | `OPENCODE_CONFIG_DIR` | Zeichenfolge | Pfad zum Konfigurationsverzeichnis | | `OPENCODE_CONFIG_CONTENT` | Zeichenfolge | Inline-JSON-Konfigurationsinhalt | | `OPENCODE_DISABLE_AUTOUPDATE` | boolescher Wert | Automatische Update-Prüfungen deaktivieren | | `OPENCODE_DISABLE_PRUNE` | boolescher Wert | Bereinigung alter Daten deaktivieren | | `OPENCODE_DISABLE_TERMINAL_TITLE` | boolescher Wert | Deaktivieren Sie die automatische Aktualisierung von Terminaltiteln | | `OPENCODE_PERMISSION` | Zeichenfolge | Inline-JSON-Berechtigungskonfiguration | | `OPENCODE_DISABLE_DEFAULT_PLUGINS` | boolescher Wert | Standard-Plugins deaktivieren | | `OPENCODE_DISABLE_LSP_DOWNLOAD` | boolescher Wert | Automatische LSP-Server-Downloads deaktivieren | | `OPENCODE_ENABLE_EXPERIMENTAL_MODELS` | boolescher Wert | Experimentelle Modelle aktivieren | | `OPENCODE_DISABLE_AUTOCOMPACT` | boolescher Wert | Automatische Kontextkomprimierung deaktivieren | | `OPENCODE_DISABLE_CLAUDE_CODE` | boolescher Wert | Deaktivieren Sie das Lesen von `.claude` (Eingabeaufforderung + Fähigkeiten) | | `OPENCODE_DISABLE_CLAUDE_CODE_PROMPT` | boolescher Wert | Deaktivieren Sie das Lesen von `~/.claude/CLAUDE.md` | | `OPENCODE_DISABLE_CLAUDE_CODE_SKILLS` | boolescher Wert | Deaktivieren Sie das Laden von `.claude/skills` | | `OPENCODE_DISABLE_MODELS_FETCH` | boolescher Wert | Deaktivieren Sie das gesammelte Modell von Remote-Quellen | | `OPENCODE_FAKE_VCS` | Zeichenfolge | Gefälschter VCS-Anbieter zu Testzwecken | | `OPENCODE_DISABLE_FILETIME_CHECK` | boolescher Wert | Dateizeitprüfung zur Optimierung deaktivieren | | `OPENCODE_CLIENT` | Zeichenfolge | Client-ID (standardmäßig `cli`) | | `OPENCODE_ENABLE_EXA` | boolescher Wert | Exa-Websuchtools aktivieren | | `OPENCODE_SERVER_PASSWORD` | Zeichenfolge | Aktivieren Sie die Basisauthentifizierung für `serve`/`web` | | `OPENCODE_SERVER_USERNAME` | Zeichenfolge | Benutzernamen für die Basisauthentifizierung überschreiben (Standard `opencode`) | | `OPENCODE_MODELS_URL` | Zeichenfolge | Benutzerdefinierte URL zum Erhalten der Modellkonfiguration | --- ### Experimental Diese Umgebungsvariablen ermöglichen experimentelle Funktionen, die sich ändern oder entfernen können. | Variable | Geben Sie | eine Beschreibung | | ----------------------------------------------- | --------------- | ------------------------------------------------------- | | `OPENCODE_EXPERIMENTAL` | boolescher Wert | Alle experimentellen Funktionen aktivieren | | `OPENCODE_EXPERIMENTAL_ICON_DISCOVERY` | boolescher Wert | Symbolerkennung aktivieren | | `OPENCODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECT` | boolescher Wert | Kopieren bei Auswahl in TUI deaktivieren | | `OPENCODE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT_MS` | Zahl | Standard-Timeout für Bash-Befehle in ms | | `OPENCODE_EXPERIMENTAL_OUTPUT_TOKEN_MAX` | Zahl | Maximale Ausgabetokens für LLM-Antworten | | `OPENCODE_EXPERIMENTAL_FILEWATCHER` | boolescher Wert | Dateiüberwachung für das gesamte Verzeichnis aktivieren | | `OPENCODE_EXPERIMENTAL_OXFMT` | boolescher Wert | Oxfmt-Formatierer aktivieren | | `OPENCODE_EXPERIMENTAL_LSP_TOOL` | boolescher Wert | Experimentelles LSP-Tool aktivieren | | `OPENCODE_EXPERIMENTAL_DISABLE_FILEWATCHER` | boolescher Wert | Dateiüberwachung deaktivieren | | `OPENCODE_EXPERIMENTAL_EXA` | boolescher Wert | Experimentelle Exa-Funktionen aktivieren | | `OPENCODE_EXPERIMENTAL_LSP_TY` | boolescher Wert | Experimentelle LSP-Typprüfung aktivieren | | `OPENCODE_EXPERIMENTAL_MARKDOWN` | boolescher Wert | Experimentelle Markdown-Funktionen aktivieren | | `OPENCODE_EXPERIMENTAL_PLAN_MODE` | boolescher Wert | Planmodus aktivieren |