Repolode
charmbracelet

charmbracelet/vhs

CLI en Go que graba sesiones de terminal en GIF, video o salida ASCII a partir de archivos .tape con instrucciones, para demos y pruebas de integración.

Estrellas
21,265
Forks
493
Issues abiertos
177
Último commit
hace 4 días

¿Qué es?

VHS trata las grabaciones de terminal como código. Escribes un archivo .tape con una lista de comandos como Type, Enter, Sleep y Wait; VHS los reproduce en una terminal virtual y renderiza el resultado como GIF, MP4, WebM, secuencia de PNG o archivo de referencia de texto/ASCII. La configuración permite elegir la familia y el tamaño de fuente, las dimensiones de la ventana o el número de columnas y filas, los temas, el relleno, los márgenes, las barras de la ventana y la velocidad de reproducción.

Como la entrada es texto y la salida es determinista, puedes volver a ejecutar la misma cinta cada vez que cambie una CLI para mantener las demos actualizadas. Las salidas de texto se pueden guardar en git y comparar para usarlas como archivos de referencia en pruebas de integración. VHS también incluye un subcomando record que genera una cinta a partir de una sesión en vivo, un comando publish para compartir GIF y un modo opcional de servidor SSH para ejecutar cintas en un host remoto.

VHS requiere que ttyd y ffmpeg estén instalados y disponibles en PATH. Se puede instalar mediante Homebrew, Scoop, Nix, Docker, Go y paquetes para Linux.

Funciones clave

  • 01Guioniza sesiones de terminal con un lenguaje de comandos .tape sencillo.
  • 02Genera GIF, MP4, WebM, secuencias de fotogramas PNG y archivos de texto/ASCII.
  • 03Permite personalizar la fuente, el tamaño de la ventana, los temas, el relleno, los márgenes y las barras de la ventana.
  • 04Graba un archivo de cinta a partir de una sesión de terminal en vivo.
  • 05Genera archivos de referencia ASCII para comparar en pruebas de integración.
  • 06Funciona como servidor SSH para ejecutar cintas en un host remoto.

Casos de uso

  • Mantener actualizados los GIF de demostración del README regenerándolos en CI.
  • Probar una CLI en pruebas de integración comparando la salida de texto con archivos de referencia.
  • Crear grabaciones de pantalla reproducibles de flujos de trabajo en la terminal para documentación o tutoriales.

Inicio rápido

  1. 1

    Instala ttyd y ffmpeg, que VHS necesita en PATH

  2. 2

    Instala VHS con Homebrew en macOS o Linux

    brew install vhs
  3. 3

    Crea un nuevo archivo tape

    vhs new demo.tape
  4. 4

    Genera el GIF a partir del archivo tape

    vhs demo.tape

Antes de usarlo

  • Es necesario instalar ttyd y ffmpeg por separado y tenerlos disponibles en PATH.

En colecciones

Temas

Preguntas frecuentes

¿Qué es vhs?
CLI en Go que graba sesiones de terminal en GIF, video o salida ASCII a partir de archivos .tape con instrucciones, para demos y pruebas de integración. VHS trata las grabaciones de terminal como código. Escribes un archivo .tape con una lista de comandos como Type, Enter, Sleep y Wait; VHS los reproduce en una terminal virtual y renderiza el resultado como GIF, MP4, WebM, secuencia de PNG o archivo de referencia de texto/ASCII. La configuración permite elegir la familia y el tamaño de fuente, las dimensiones de la ventana o el número de columnas y filas, los temas, el relleno, los márgenes, las barras de la ventana y la velocidad de reproducción.
¿vhs es gratuito? ¿Qué licencia tiene?
vhs es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿vhs sigue mantenido?
Mantenimiento activo. El último commit de vhs fue el 2 nov 2026.
¿Para qué puedo usar vhs?
Mantener actualizados los GIF de demostración del README regenerándolos en CI. Probar una CLI en pruebas de integración comparando la salida de texto con archivos de referencia. Crear grabaciones de pantalla reproducibles de flujos de trabajo en la terminal para documentación o tutoriales.
¿Cómo se instala vhs?
Instala ttyd y ffmpeg, que VHS necesita en PATH Instala VHS con Homebrew en macOS o Linux: brew install vhs Crea un nuevo archivo tape: vhs new demo.tape Genera el GIF a partir del archivo tape: vhs demo.tape
¿Dónde consigo vhs?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/charmbracelet/vhs

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados