| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603 |
- ---
- 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 <name>
- ```
- ---
- ### 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 <file>
- ```
- 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 |
|