Saltearse al contenido

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.

Ventana de terminal
opencode

O puede iniciarlo para un directorio de trabajo específico.

Ventana de terminal
opencode /path/to/project

Una 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 -la

El 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:

/help

La 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.

/connect

compact

Compacta la sesión actual. Alias: /summarize

/compact

Combinación de teclas: ctrl+x c


details

Alternar detalles de ejecución de la herramienta.

/details

Combinació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.

/editor

Combinación de teclas: ctrl+x e


exit

Salga de OpenCode. Alias: /quit, /q

/exit

Combinació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.

/export

Combinación de teclas: ctrl+x x


help

Muestra el cuadro de diálogo de ayuda.

/help

Combinación de teclas: ctrl+x h


init

Cree o actualice el archivo AGENTS.md. Más información.

/init

Combinación de teclas: ctrl+x i


models

Listar modelos disponibles.

/models

Combinación de teclas: ctrl+x m


new

Iniciar una nueva sesión. Alias: /clear

/new

Combinació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.

/redo

Combinación de teclas: ctrl+x r


sessions

Enumere y cambie entre sesiones. Alias: /resume, /continue

/sessions

Combinación de teclas: ctrl+x l


share

Compartir la sesión actual. Más información.

/share

Combinación de teclas: ctrl+x s


theme

Listar temas disponibles.

/theme

Combinació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.

/thinking

undo

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.

/undo

Combinación de teclas: ctrl+x u


unshare

Dejar de compartir la sesión actual. Más información.

/unshare

Configuración del editor

Tanto el comando /editor como el /export usan el editor especificado en su variable de entorno EDITOR.

Ventana de terminal
# 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"

Para hacerlo permanente, agréguelo a su perfil de shell; ~/.bashrc, ~/.zshrc, etc.

Las opciones de editor populares incluyen:

  • code - Código de Visual Studio
  • cursor - Cursor
  • windsurf - Windsurf
  • nvim - Editor Neovim
  • vim - Editor Vim
  • nano - Nanoeditor
  • notepad - Windows Bloc de notas
  • subl - 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).

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"
}
}
}

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 es 2000.
  • 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 sobre scroll_speed y 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 es 3. Nota: Esto se ignora si scroll_acceleration.enabled está configurado en true.
  • 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 es false.
  • notifications: cuando Attention está activo, permite que el TUI envíe notificaciones de escritorio a través del terminal. El valor predeterminado es true.
  • sound: cuando Attention está activo, permite reproducir sonidos de aviso. El valor predeterminado es true.
  • volume: volumen predeterminado de los sonidos, de 0 a 1. El valor predeterminado es 0.4.
  • sound_pack: ID del sound pack que se usará. El valor predeterminado es opencode.default.
  • sounds: define archivos de sonido personalizados para default, question, permission, error, done o subagent_done. Las rutas pueden ser absolutas, URL file:// o relativas a tui.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