Deutsch
Dokumentation
TUI

TUI

Die Verwendung der OpenCode Terminal-Benutzeroberfläche.

OpenCode bietet eine interaktive Terminal-Oberfläche bzw. TUI, um mit einem LLM an Ihren Projekten zu arbeiten.

Wenn Sie OpenCode ausführen, wird die TUI für das aktuelle Verzeichnis gestartet.

opencode

Oder Sie können sie für ein bestimmtes Arbeitsverzeichnis starten.

opencode /path/to/project

Sobald Sie sich in der TUI befinden, können Sie ihr eine Nachricht als Prompt geben.

Give me a quick summary of the codebase.

Datei-Referenzen

Sie können Dateien in Ihren Nachrichten mit @ referenzieren. Dadurch wird eine Fuzzy-Suche nach Dateien im aktuellen Arbeitsverzeichnis durchgeführt.

Tipp: Sie können @ auch verwenden, um Dateien in Ihren Nachrichten zu referenzieren.

How is auth handled in @packages/functions/src/api/index.ts?

Der Inhalt der Datei wird automatisch zur Konversation hinzugefügt.

Konfigurierte Referenzen erscheinen ebenfalls in der @-Autovervollständigung. Geben Sie @alias ein, um das Referenz-Stammverzeichnis als Kontext hinzuzufügen, oder geben Sie @alias/ ein, um Dateien innerhalb dieser Referenz automatisch zu vervollständigen.

Compare our setup with @docs/README.md

Bash-Befehle

Beginnen Sie eine Nachricht mit !, um einen Shell-Befehl auszuführen.

!ls -la

Die Ausgabe des Befehls wird der Konversation als Tool-Ergebnis hinzugefügt.


Befehle

Wenn Sie die OpenCode-TUI verwenden, können Sie / gefolgt von einem Befehlsnamen eingeben, um Aktionen schnell auszuführen. Zum Beispiel:

/help

Die meisten Befehle haben außerdem Tastenkürzel, die standardmäßig ctrl+x als Leader-Taste verwenden. Mehr erfahren.

Hier sind alle verfügbaren Slash-Befehle:


connect

Fügt OpenCode einen Provider hinzu. Ermöglicht Ihnen die Auswahl aus den verfügbaren Providern und das Hinzufügen ihrer API-Schlüssel.

/connect

compact

Komprimiert die aktuelle Sitzung. Alias: /summarize

/compact

Keybind: ctrl+x c


details

Schaltet die Anzeige der Tool-Ausführungsdetails um.

/details

editor

Öffnet einen externen Editor zum Verfassen von Nachrichten. Verwendet den Editor, der in Ihrer EDITOR-Umgebungsvariablen festgelegt ist. Mehr erfahren.

/editor

Keybind: ctrl+x e


exit

Beendet OpenCode. Aliase: /quit, /q

/exit

Keybind: ctrl+x q


export

Exportiert die aktuelle Konversation nach Markdown und öffnet sie in Ihrem Standard-Editor. Verwendet den Editor, der in Ihrer EDITOR-Umgebungsvariablen festgelegt ist. Mehr erfahren.

/export

Keybind: ctrl+x x


help

Zeigt den Hilfe-Dialog an.

/help

init

Geführte Einrichtung zum Erstellen oder Aktualisieren von AGENTS.md. Mehr erfahren.

/init

models

Listet die verfügbaren Modelle auf.

/models

Keybind: ctrl+x m


new

Startet eine neue Sitzung. Alias: /clear

/new

Keybind: ctrl+x n


redo

Wiederholt eine zuvor rückgängig gemachte Nachricht. Nur verfügbar nach der Verwendung von /undo.

Tipp: Alle Dateiänderungen werden ebenfalls wiederhergestellt.

Intern verwendet OpenCode dafür Git zur Verwaltung der Dateiänderungen. Ihr Projekt muss daher ein Git-Repository sein.

/redo

Keybind: ctrl+x r


sessions

Listet Sitzungen auf und wechselt zwischen ihnen. Aliase: /resume, /continue

/sessions

Keybind: ctrl+x l


share

Teilt die aktuelle Sitzung. Mehr erfahren.

/share

themes

Listet die verfügbaren Themes auf.

/themes

Keybind: ctrl+x t


thinking

Schaltet die Sichtbarkeit von Denk-/Reasoning-Blöcken in der Konversation um. Wenn aktiviert, können Sie den Reasoning-Prozess des Modells bei Modellen sehen, die Extended Thinking unterstützen.

Hinweis: Dieser Befehl steuert nur, ob Denk-Blöcke angezeigt werden – er aktiviert oder deaktiviert nicht die Reasoning-Fähigkeiten des Modells. Um die tatsächlichen Reasoning-Fähigkeiten umzuschalten, verwenden Sie ctrl+t, um durch die Modellvarianten zu blättern.

/thinking

undo

Macht die letzte Nachricht in der Konversation rückgängig. Entfernt die zuletzt gesendete Benutzernachricht, alle nachfolgenden Antworten sowie alle Dateiänderungen.

Tipp: Alle vorgenommenen Dateiänderungen werden ebenfalls rückgängig gemacht.

Intern verwendet OpenCode dafür Git zur Verwaltung der Dateiänderungen. Ihr Projekt muss daher ein Git-Repository sein.

/undo

Keybind: ctrl+x u


unshare

Hebt die Freigabe der aktuellen Sitzung auf. Mehr erfahren.

/unshare

Editor-Einrichtung

Sowohl der Befehl /editor als auch /export verwenden den Editor, der in Ihrer EDITOR-Umgebungsvariablen angegeben ist.

Linux/macOS

# Example for nano or vim
export EDITOR=nano
export EDITOR=vim
 
# For GUI editors, VS Code, Cursor, VSCodium, Windsurf, Zed, etc.
# include --wait
export EDITOR="code --wait"

Um die Einstellung dauerhaft zu machen, fügen Sie dies zu Ihrem Shell-Profil hinzu; ~/.bashrc, ~/.zshrc, usw.

Windows (CMD)

set EDITOR=notepad
 
# For GUI editors, VS Code, Cursor, VSCodium, Windsurf, Zed, etc.
# include --wait
set EDITOR=code --wait

Um die Einstellung dauerhaft zu machen, verwenden Sie Systemeigenschaften > Umgebungsvariablen.

Windows (PowerShell)

$env:EDITOR = "notepad"
 
# For GUI editors, VS Code, Cursor, VSCodium, Windsurf, Zed, etc.
# include --wait
$env:EDITOR = "code --wait"

Um die Einstellung dauerhaft zu machen, fügen Sie dies zu Ihrem PowerShell-Profil hinzu.

Beliebte Editor-Optionen sind:

  • code - Visual Studio Code
  • cursor - Cursor
  • windsurf - Windsurf
  • nvim - Neovim-Editor
  • vim - Vim-Editor
  • nano - Nano-Editor
  • notepad - Windows Notepad
  • subl - Sublime Text

Hinweis: Einige Editoren wie VS Code müssen mit dem --wait-Flag gestartet werden.

Einige Editoren benötigen Befehlszeilenargumente, um im blockierenden Modus zu laufen. Das --wait-Flag bewirkt, dass der Editor-Prozess blockiert, bis er geschlossen wird.


Konfigurieren

Sie können das Verhalten der TUI über tui.json (oder tui.jsonc) anpassen.

tui.json
{
  "$schema": "https://opencode.ai/tui.json",
  "theme": "opencode",
  "leader_timeout": 2000,
  "keybinds": {
    "leader": "ctrl+x",
    "command_list": "ctrl+p"
  },
  "scroll_speed": 3,
  "scroll_acceleration": {
    "enabled": false
  },
  "diff_style": "auto",
  "mouse": true,
  "attention": {
    "enabled": true,
    "notifications": true,
    "sound": true,
    "volume": 0.4,
    "sound_pack": "opencode.default",
    "sounds": {
      "error": "./sounds/error.mp3"
    }
  }
}

Dies ist getrennt von opencode.json, das das Server-/Laufzeitverhalten konfiguriert.

keybinds wird mit den integrierten Standardwerten zusammengeführt, sodass Sie nur die Tastenkürzel konfigurieren müssen, die Sie ändern möchten.

Optionen

  • theme - Legt Ihr UI-Theme fest. Mehr erfahren .
  • keybinds - Passt die Tastenkürzel an. Mehr erfahren .
  • leader_timeout - Steuert, wie lange OpenCode nach der Leader-Taste wartet. Standardwert ist 2000 .
  • scroll_acceleration.enabled - Aktiviert die macOS-artige Scroll-Beschleunigung für ein flüssiges, natürliches Scrollen. Wenn aktiviert, erhöht sich die Scroll-Geschwindigkeit bei schnellen Scroll-Gesten und bleibt bei langsameren Bewegungen präzise. Diese Einstellung hat Vorrang vor scroll_speed und setzt diese außer Kraft, wenn sie aktiviert ist.
  • scroll_speed - Steuert, wie schnell die TUI scrollt, wenn Scroll-Befehle verwendet werden (Minimum: 0.001 , unterstützt Dezimalwerte). Standardwert ist 3 . Hinweis: Dies wird ignoriert, wenn scroll_acceleration.enabled auf true gesetzt ist.
  • diff_style - Steuert das Rendering von Diffs. "auto" passt sich an die Terminalbreite an, "stacked" zeigt immer ein einspaltiges Layout an.
  • mouse - Aktiviert oder deaktiviert die Mauserfassung in der TUI (Standard: true ). Wenn deaktiviert, bleibt das native Maus-Auswahl-/Scrollverhalten des Terminals erhalten.
  • attention - Konfiguriert TUI-Desktop-Benachrichtigungen und -Sounds. Standardmäßig deaktiviert.

Verwenden Sie OPENCODE_TUI_CONFIG, um einen benutzerdefinierten TUI-Konfigurationspfad zu laden.

Attention

Die TUI kann bei Fragen, Berechtigungen, Sitzungsfehlern und abgeschlossenen Sitzungen Aufmerksamkeit anfordern. Aktivieren Sie dies mit attention.enabled; integrierte Ereignisse spielen Sounds ab, wenn sie ausgelöst werden, und Nicht-Subagent-Ereignisse fordern Desktop-Benachrichtigungen nur an, wenn das Terminal nicht im Fokus ist.

  • enabled - Aktiviert alle Aufmerksamkeitsbenachrichtigungen und -Sounds. Standardwert ist false .
  • notifications - Erlaubt terminalvermittelte Desktop-Benachrichtigungen, wenn Attention aktiviert ist. Standardwert ist true .
  • sound - Erlaubt Aufmerksamkeits-Sounds, wenn Attention aktiviert ist. Standardwert ist true .
  • volume - Standard-Soundlautstärke von 0 bis 1 . Standardwert ist 0.4 .
  • sound_pack - Zu verwendende Sound-Pack-ID. Standardwert ist opencode.default .
  • sounds - Überschreibt Sound-Dateien für default , question , permission , error , done oder subagent_done . Pfade können absolut, file://-URLs oder relativ zu tui.json sein.

Anpassung

Sie können verschiedene Aspekte der TUI-Ansicht über die Befehlspalette (ctrl+p) anpassen. Diese Einstellungen bleiben über Neustarts hinweg erhalten.


Anzeige des Benutzernamens

Schaltet um, ob Ihr Benutzername in Chat-Nachrichten erscheint. Greifen Sie darauf zu über:

  • Befehlspalette: Suchen Sie nach "username" oder "hide username"
  • Die Einstellung bleibt automatisch erhalten und wird über TUI-Sitzungen hinweg gespeichert