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.
opencodeOder Sie können sie für ein bestimmtes Arbeitsverzeichnis starten.
opencode /path/to/projectSobald 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.mdBash-Befehle
Beginnen Sie eine Nachricht mit !, um einen Shell-Befehl auszuführen.
!ls -laDie 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:
/helpDie 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.
/connectcompact
Komprimiert die aktuelle Sitzung. Alias: /summarize
/compactKeybind: ctrl+x c
details
Schaltet die Anzeige der Tool-Ausführungsdetails um.
/detailseditor
Öffnet einen externen Editor zum Verfassen von Nachrichten. Verwendet den Editor, der in Ihrer EDITOR-Umgebungsvariablen festgelegt ist. Mehr erfahren.
/editorKeybind: ctrl+x e
exit
Beendet OpenCode. Aliase: /quit, /q
/exitKeybind: 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.
/exportKeybind: ctrl+x x
help
Zeigt den Hilfe-Dialog an.
/helpinit
Geführte Einrichtung zum Erstellen oder Aktualisieren von AGENTS.md. Mehr erfahren.
/initmodels
Listet die verfügbaren Modelle auf.
/modelsKeybind: ctrl+x m
new
Startet eine neue Sitzung. Alias: /clear
/newKeybind: 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.
/redoKeybind: ctrl+x r
sessions
Listet Sitzungen auf und wechselt zwischen ihnen. Aliase: /resume, /continue
/sessionsKeybind: ctrl+x l
share
Teilt die aktuelle Sitzung. Mehr erfahren.
/sharethemes
Listet die verfügbaren Themes auf.
/themesKeybind: 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.
/thinkingundo
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.
/undoKeybind: ctrl+x u
unshare
Hebt die Freigabe der aktuellen Sitzung auf. Mehr erfahren.
/unshareEditor-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 --waitUm 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 Codecursor- Cursorwindsurf- Windsurfnvim- Neovim-Editorvim- Vim-Editornano- Nano-Editornotepad- Windows Notepadsubl- 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.
{
"$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 ist2000.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 vorscroll_speedund 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 ist3. Hinweis: Dies wird ignoriert, wennscroll_acceleration.enabledauftruegesetzt 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 istfalse.notifications- Erlaubt terminalvermittelte Desktop-Benachrichtigungen, wenn Attention aktiviert ist. Standardwert isttrue.sound- Erlaubt Aufmerksamkeits-Sounds, wenn Attention aktiviert ist. Standardwert isttrue.volume- Standard-Soundlautstärke von0bis1. Standardwert ist0.4.sound_pack- Zu verwendende Sound-Pack-ID. Standardwert istopencode.default.sounds- Überschreibt Sound-Dateien fürdefault,question,permission,error,doneodersubagent_done. Pfade können absolut,file://-URLs oder relativ zutui.jsonsein.
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