Objetivo del tema
Moverte con soltura por la interfaz textual de OpenCode: iniciar sesiones, referenciar archivos, usar los comandos slash, dominar los atajos de teclado y personalizar la apariencia con temas.
La TUI (interfaz de usuario textual) es el corazón de OpenCode. Se abre sobre el directorio actual o indicando una ruta:
opencode # proyecto actual
opencode /ruta/a/proyecto # carpeta específica
Una vez dentro, simplemente escribe tu pedido:
Resúmeme la arquitectura de este código base.
La pantalla se organiza en un área de conversación, un campo de entrada inferior y una barra de estado donde verás el modo activo (Plan o Build, que trataremos en detalle en el próximo tema) y el modelo seleccionado.
Dos símbolos convierten al campo de entrada en algo mucho más potente que un chat:
@ para archivos: abre una búsqueda difusa del proyecto y agrega el contenido del archivo a la conversación. Ejemplo: ¿Cómo se maneja la autenticación en @packages/functions/src/api/index.ts?. Las referencias configuradas también aparecen aquí, permitiendo incluir documentación externa.! para comandos shell: anteponiendo ! ejecutas un comando real y su salida queda registrada como resultado de herramienta en la conversación. Ejemplo: !ls -la.Combina ambos: revisa el estado del repo con !git status y luego pide cambios citando los archivos exactos con @. Cuanto más preciso el contexto, mejores respuestas.
Escribiendo / se despliega la lista de acciones disponibles. Estos son los comandos esenciales agrupados por función:
| Comando | Función |
|---|---|
/help |
Abrir la ayuda integrada. |
/init |
Crear o actualizar el AGENTS.md del proyecto (tema 6). |
/models |
Listar y cambiar de modelo. |
/connect |
Agregar proveedores y credenciales. |
/new (/clear) |
Iniciar una sesión nueva desde cero. |
/sessions (/resume) |
Listar y retomar sesiones anteriores. |
/compact (/summarize) |
Compactar la sesión actual conservando lo esencial. |
/undo y /redo |
Deshacer o reaplicar el último mensaje con sus cambios de archivos. |
/share y /unshare |
Publicar o retirar el enlace público de la sesión. |
/themes |
Elegir el tema visual. |
/thinking |
Mostrar u ocultar los bloques de razonamiento del modelo. |
/details |
Ver u ocultar detalles de ejecución de herramientas. |
/editor y /export |
Componer mensajes o exportar la conversación en un editor externo. |
/exit (/q) |
Salir de OpenCode. |
Casi todos los comandos tienen un atajo que comienza con la tecla líder ctrl+x: presiónala y luego la tecla final (hay 2 segundos de margen, configurable). La paleta de comandos se abre con ctrl+p.
| Atajo | Acción |
|---|---|
ctrl+x n |
Sesión nueva (/new). |
ctrl+x l |
Listar sesiones (/sessions). |
ctrl+x m |
Cambiar modelo (/models). |
ctrl+x t |
Cambiar tema (/themes). |
ctrl+x u / ctrl+x r |
Deshacer / rehacer (/undo, /redo). |
ctrl+x c |
Compactar sesión (/compact). |
ctrl+x e |
Editor externo para el mensaje (/editor). |
ctrl+x x |
Exportar conversación a Markdown (/export). |
ctrl+x q |
Salir (/exit). |
tab |
Alternar entre los modos Plan y Build. |
Todos los atajos pueden redefinirse en la configuración (los veremos en el tema 14 sobre personalización avanzada).
Cada conversación es una sesión independiente, guardada automáticamente por proyecto:
/new limpia la conversación sin cerrar OpenCode; ideal para cambiar de tarea./sessions muestra el historial para continuar donde lo dejaste, con todo su contexto./compact resume el hilo liberando espacio de contexto sin perder las conclusiones importantes./share genera un enlace público de la sesión para revisarlo con tu equipo; nada se publica sin tu consentimiento explícito y puedes retirarlo con /unshare.Con /themes eliges entre varios temas incluidos; la selección persiste entre sesiones. El aspecto también se ajusta finamente mediante el archivo tui.json (separado del opencode.json general):
{
"$schema": "https://opencode.ai/tui.json",
"theme": "opencode",
"scroll_speed": 3,
"diff_style": "auto",
"cursor": { "style": "block", "blinking": true },
"mouse": true
}
theme: tema inicial de la interfaz.diff_style: auto adapta los diffs al ancho de la terminal; stacked fuerza una sola columna.cursor y mouse: estilo de cursor en los campos de texto y captura del ratón.attention: activa notificaciones de escritorio y sonidos cuando el agente necesita permiso, hace una pregunta o termina una tarea.Define tu editor favorito con la variable EDITOR. Para editores gráficos incluye la bandera de bloqueo:export EDITOR="code --wait"
Para prompts extensos usa /editor (ctrl+x e) y redacta cómodo en tu editor habitual en lugar del campo de la TUI.
/export (ctrl+x x) vuelca la conversación a Markdown: perfecto para documentar decisiones o adjuntarla a un pull request.
Conclusión: dominar la TUI multiplica tu productividad: referencias exactas con @, acciones rápidas con comandos slash, navegación fluida entre sesiones y una interfaz ajustada a tu gusto. En el próximo tema profundizaremos en el cambio de modo con Tab: los modos Plan y Build, claves del flujo de trabajo profesional con agentes.