Saltar al contenido principal

🔔 Notificaciones y revertir cambios

Cuando empiezas a utilizar agentes de IA para realizar tareas complejas, es habitual lanzar una petición y esperar varios segundos o incluso minutos mientras el agente trabaja.

Por eso resulta muy útil configurar un sistema de notificaciones que te avise cuando una tarea ha terminado sin necesidad de estar pendiente constantemente de la terminal.

Además, en esta clase también veremos cómo recuperar sesiones anteriores y qué opciones existen actualmente para deshacer cambios realizados por OpenCode.

🔔 Configurar notificaciones en OpenCode

Una situación muy habitual es lanzar una tarea y continuar trabajando en otras cosas mientras OpenCode procesa la petición.

Por ejemplo:

“Dime de qué va el proyecto”

Mientras OpenCode analiza el proyecto, no es necesario permanecer observando la terminal.

Las notificaciones permiten que el sistema te avise automáticamente cuando la tarea ha finalizado.

Esto resulta especialmente útil cuando:

  • Las tareas tardan varios minutos
  • Estás trabajando en otras aplicaciones
  • No quieres revisar constantemente la terminal
  • Ejecutas procesos largos de análisis o generación

⚙️ Activar las notificaciones

OpenCode dispone de soporte para notificaciones mediante plugins.

Normalmente aparece una opción llamada:

Notification Setup Instructions

Desde ahí se muestran los pasos necesarios para activarlas.

La configuración se realiza modificando el archivo principal de configuración de OpenCode.

📂 Archivo de configuración

La configuración se encuentra dentro de tu directorio personal:

~/.config/opencode/opencode.json

En este archivo puedes definir diferentes opciones de comportamiento y añadir plugins adicionales.

Para habilitar las notificaciones únicamente es necesario incorporar el plugin correspondiente y guardar los cambios.

Una vez configurado:

  • No requiere mantenimiento adicional
  • Funciona automáticamente
  • Recibirás avisos cuando las tareas finalicen

🖥️ Notificaciones del sistema

Cuando la configuración está correctamente realizada, las notificaciones aparecen directamente en el sistema operativo.

Esto permite:

  • Cambiar de ventana
  • Navegar por internet
  • Trabajar en otros proyectos
  • Alejarse temporalmente del ordenador

Y seguir recibiendo avisos cuando OpenCode termine una tarea.

La experiencia es mucho más cómoda que permanecer observando continuamente la terminal.

🔄 Recuperar una sesión cerrada

Otra funcionalidad muy útil es la posibilidad de continuar una conversación anterior.

Es habitual cerrar OpenCode accidentalmente o simplemente terminar una sesión y querer retomarla más tarde.

Cuando se cierra OpenCode, la herramienta muestra un mensaje indicando cómo recuperar esa sesión posteriormente.

Normalmente proporciona un comando similar a:

opencode resume ...

Al ejecutarlo:

  • Se restaura el contexto anterior
  • Se recupera la conversación
  • Se puede continuar exactamente donde se dejó

Esto evita tener que empezar desde cero.

🚀 Continuar trabajando sobre una sesión existente

Una vez recuperada la sesión, puedes seguir interactuando con el agente como si nunca hubieras cerrado la aplicación.

Por ejemplo:

Improve the background music with more pixel tune style

OpenCode continuará utilizando todo el contexto previo para realizar la nueva tarea.

Esta característica resulta especialmente útil en proyectos largos donde se realizan múltiples iteraciones.

↩️ ¿Cómo deshacer cambios?

Cuando trabajamos durante bastante tiempo con OpenCode, es normal que llegue un momento en el que no nos guste el resultado generado.

Por ejemplo:

  • El agente modifica archivos incorrectamente
  • Introduce cambios no deseados
  • Una mejora empeora el resultado anterior

En estos casos surge una pregunta muy natural:

¿Cómo vuelvo al estado anterior?

🛠️ El comando undo

OpenCode incorpora un comando llamado:

/undo

Su objetivo es revertir la última acción realizada.

Sin embargo, actualmente existe una limitación importante.

⚠️ La limitación actual de undo

Aunque el comando muestra un mensaje parecido a:

Message reverted

No siempre hace lo que uno esperaría.

Actualmente:

✅ Revierte el mensaje de la conversación.

❌ No revierte necesariamente los cambios realizados en los archivos.

Es decir, el historial de conversación puede retroceder, pero los archivos modificados permanecen alterados.

🐛 Un comportamiento todavía pendiente de mejorar

Según se comenta en la clase, este comportamiento lleva tiempo reportado dentro del proyecto.

La expectativa lógica sería que:

  • Se deshiciera el mensaje
  • Se restauraran también los archivos afectados

Pero actualmente no ocurre de forma consistente.

Por tanto, confiar exclusivamente en /undo puede resultar arriesgado.

✅ La recomendación más importante

La estrategia más segura es utilizar Git y realizar commits frecuentes.

En lugar de depender de la funcionalidad de deshacer de OpenCode:

  • Haz commits pequeños
  • Guarda puntos de control frecuentes
  • Utiliza Git como mecanismo principal de recuperación

De esta forma siempre podrás volver a un estado conocido independientemente de lo que haga el agente.

📌 Ideas clave de esta clase

Quédate con estos conceptos:

  • OpenCode permite mostrar notificaciones cuando una tarea termina
  • Las notificaciones se configuran mediante plugins
  • La configuración se realiza desde el archivo opencode.json
  • Es posible recuperar sesiones cerradas posteriormente
  • Las sesiones pueden retomarse exactamente donde se dejaron
  • Existe un comando /undo
  • Actualmente /undo no revierte correctamente todos los cambios en archivos
  • La forma más segura de proteger tu trabajo es realizar commits frecuentes con Git

🚀 Lo siguiente: trabajar de forma segura con OpenCode

A medida que los proyectos crecen, cada vez es más importante disponer de una estrategia fiable para recuperar cambios y mantener el control sobre el código generado por la IA.

Las notificaciones mejoran la productividad diaria, pero el verdadero seguro frente a errores sigue siendo utilizar Git correctamente y crear puntos de restauración frecuentes durante el desarrollo.


💡 Tip: No confíes únicamente en /undo. Acostúmbrate a hacer commits pequeños y frecuentes. Es la forma más fiable de experimentar con agentes de código sin miedo a perder trabajo.