TUI
Usando la interfaz de usuario del terminal OpenCode.
OpenCode proporciona una interfaz de terminal interactiva o TUI para trabajar en sus proyectos con un LLM.
Al ejecutar OpenCode se inicia TUI para el directorio actual.
opencodeO puede iniciarlo para un directorio de trabajo específico.
opencode /path/to/projectUna vez que esté en TUI, puede indicarlo con un mensaje.
Give me a quick summary of the codebase.Referencias de archivos
Puede hacer referencia a archivos en sus mensajes usando @. Esto realiza una búsqueda difusa de archivos en el directorio de trabajo actual.
How is auth handled in @packages/functions/src/api/index.ts?El contenido del archivo se agrega a la conversación automáticamente.
Comandos bash
Inicie un mensaje con ! para ejecutar un comando de shell.
!ls -laEl resultado del comando se agrega a la conversación como resultado de la herramienta.
Comandos
Cuando utilice OpenCode TUI, puede escribir / seguido de un nombre de comando para ejecutar acciones rápidamente. Por ejemplo:
/helpLa mayoría de los comandos también tienen una combinación de teclas que utiliza ctrl+x como tecla principal, donde ctrl+x es la tecla principal predeterminada. Más información.
Aquí están todos los comandos de barra diagonal disponibles:
connect
Agregue un proveedor a OpenCode. Le permite seleccionar entre proveedores disponibles y agregar sus claves API.
/connectcompact
Compacta la sesión actual. Alias: /summarize
/compactCombinación de teclas: ctrl+x c
details
Alternar detalles de ejecución de la herramienta.
/detailsCombinación de teclas: ctrl+x d
editor
Abra un editor externo para redactar mensajes. Utiliza el editor configurado en su variable de entorno EDITOR. Más información.
/editorCombinación de teclas: ctrl+x e
exit
Salga de OpenCode. Alias: /quit, /q
/exitCombinación de teclas: ctrl+x q
export
Exporte la conversación actual a Markdown y ábrala en su editor predeterminado. Utiliza el editor configurado en su variable de entorno EDITOR. Más información.
/exportCombinación de teclas: ctrl+x x
help
Muestra el cuadro de diálogo de ayuda.
/helpCombinación de teclas: ctrl+x h
init
Cree o actualice el archivo AGENTS.md. Más información.
/initCombinación de teclas: ctrl+x i
models
Listar modelos disponibles.
/modelsCombinación de teclas: ctrl+x m
new
Iniciar una nueva sesión. Alias: /clear
/newCombinación de teclas: ctrl+x n
redo
Rehacer un mensaje previamente deshecho. Solo disponible después de usar /undo.
Internamente, esto utiliza Git para gestionar los cambios de archivos. Entonces tu proyecto necesita ser un repositorio Git.
/redoCombinación de teclas: ctrl+x r
sessions
Enumere y cambie entre sesiones. Alias: /resume, /continue
/sessionsCombinación de teclas: ctrl+x l
share
Compartir la sesión actual. Más información.
/shareCombinación de teclas: ctrl+x s
theme
Listar temas disponibles.
/themeCombinación de teclas: ctrl+x t
thinking
Alterna la visibilidad de los bloques de pensamiento/razonamiento en la conversación. Cuando está habilitado, puede ver el proceso de razonamiento del modelo para los modelos que admiten el pensamiento extendido.
/thinkingundo
Deshacer el último mensaje de la conversación. Elimina el mensaje de usuario más reciente, todas las respuestas posteriores y cualquier cambio de archivo.
Internamente, esto utiliza Git para gestionar los cambios de archivos. Entonces tu proyecto necesita ser un repositorio Git.
/undoCombinación de teclas: ctrl+x u
unshare
Dejar de compartir la sesión actual. Más información.
/unshareConfiguración del editor
Tanto el comando /editor como el /export usan el editor especificado en su variable de entorno EDITOR.
# Example for nano or vimexport EDITOR=nanoexport EDITOR=vim
# For GUI editors, VS Code, Cursor, VSCodium, Windsurf, Zed, etc.# include --waitexport EDITOR="code --wait"Para hacerlo permanente, agréguelo a su perfil de shell;
~/.bashrc, ~/.zshrc, etc.
set EDITOR=notepad
# For GUI editors, VS Code, Cursor, VSCodium, Windsurf, Zed, etc.# include --waitset EDITOR=code --waitPara hacerlo permanente, use Propiedades del sistema > Entorno Variables.
$env:EDITOR = "notepad"
# For GUI editors, VS Code, Cursor, VSCodium, Windsurf, Zed, etc.# include --wait$env:EDITOR = "code --wait"Para hacerlo permanente, agréguelo a su perfil de PowerShell.
Las opciones de editor populares incluyen:
code- Código de Visual Studiocursor- Cursorwindsurf- Windsurfnvim- Editor Neovimvim- Editor Vimnano- Nanoeditornotepad- Windows Bloc de notassubl- Texto sublime
Algunos editores necesitan argumentos de línea de comandos para ejecutarse en modo de bloqueo. El indicador --wait hace que el proceso del editor se bloquee hasta que se cierre.
Configurar
Puede personalizar el comportamiento de TUI a través de tui.json (o tui.jsonc).
{ "$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" } }}Esto es independiente de opencode.json, que configura el comportamiento del servidor/tiempo de ejecución.
keybinds se combina con los valores predeterminados integrados, así que solo necesitas configurar los atajos que quieras cambiar.
Opciones
theme: establece su tema de interfaz de usuario. Más información.keybinds: personaliza los atajos de teclado. Más información.leader_timeout: controla cuánto tiempo espera OpenCode después de la leader key. El valor predeterminado es2000.scroll_acceleration.enabled: habilite la aceleración de desplazamiento estilo macOS para un desplazamiento suave y natural. Cuando está habilitado, la velocidad de desplazamiento aumenta con gestos de desplazamiento rápido y se mantiene precisa para movimientos más lentos. Esta configuración tiene prioridad sobrescroll_speedy la anula cuando está habilitada.scroll_speed: controla la rapidez con la que se desplaza el TUI cuando se utilizan comandos de desplazamiento (mínimo:0.001, admite valores decimales). El valor predeterminado es3. Nota: Esto se ignora siscroll_acceleration.enabledestá configurado entrue.diff_style: controla la representación de diferencias."auto"se adapta al ancho del terminal,"stacked"siempre muestra un diseño de una sola columna.mouse: habilita o deshabilita la captura del mouse en el TUI (predeterminado:true). Cuando está deshabilitada, se conserva el comportamiento nativo del terminal para seleccionar y desplazarse con el mouse.attention: configura las notificaciones de escritorio y los sonidos del TUI. Deshabilitado de forma predeterminada.
Utilice OPENCODE_TUI_CONFIG para cargar una ruta de configuración de TUI personalizada.
Attention
Attention permite que el TUI te avise cuando OpenCode necesita que respondas una pregunta, apruebes un permiso, revises un error de sesión o sepas que una sesión terminó. Actívalo con attention.enabled; los eventos integrados reproducen sonidos al ocurrir. Las notificaciones de escritorio solo se envían cuando la ventana del terminal no está enfocada y no se usan para eventos de subagent.
enabled: activa todas las notificaciones y sonidos de Attention. El valor predeterminado esfalse.notifications: cuando Attention está activo, permite que el TUI envíe notificaciones de escritorio a través del terminal. El valor predeterminado estrue.sound: cuando Attention está activo, permite reproducir sonidos de aviso. El valor predeterminado estrue.volume: volumen predeterminado de los sonidos, de0a1. El valor predeterminado es0.4.sound_pack: ID del sound pack que se usará. El valor predeterminado esopencode.default.sounds: define archivos de sonido personalizados paradefault,question,permission,error,doneosubagent_done. Las rutas pueden ser absolutas, URLfile://o relativas atui.json.
Personalización
Puede personalizar varios aspectos de la vista TUI usando la paleta de comandos (ctrl+x h o /help). Estas configuraciones persisten después de los reinicios.
Visualización del nombre de usuario
Alterna si tu nombre de usuario aparece en los mensajes de chat. Accede a este a través de:
- Paleta de comandos: busque “nombre de usuario” u “ocultar nombre de usuario”
- La configuración persiste automáticamente y se recordará en TUI sesiones