Guias de consulta para comandos Unix e linguagens de programação, disponíveis no terminal e no navegador via curl, cliente CLI e plugins para editores.
charmbracelet/vhs
Uma CLI em Go que grava sessões de terminal em GIFs, vídeos ou saída ASCII a partir de arquivos .tape com scripts, para demonstrações e testes de integração.
- Estrelas
- 21,270
- Forks
- 493
- Issues abertas
- 177
- Último commit
- ontem
O que é?
O VHS trata gravações de terminal como código. Você escreve um arquivo .tape com uma lista de comandos, como Type, Enter, Sleep e Wait, e o VHS os executa novamente em um terminal virtual, renderizando o resultado como GIF, MP4, WebM, sequência de PNGs ou arquivo de referência em texto/ASCII. As configurações incluem família e tamanho da fonte, dimensões da janela ou quantidade de colunas e linhas, temas, preenchimento, margens, barras da janela e velocidade de reprodução.
Como a entrada é texto e a saída é determinística, você pode executar o mesmo tape novamente sempre que uma CLI mudar, mantendo as demonstrações atualizadas. As saídas em texto podem ser commitadas no git e comparadas com diff para servir como arquivos de referência em testes de integração. O VHS também inclui um subcomando record, que gera um tape a partir de uma sessão ao vivo, um comando publish para compartilhar GIFs e um modo opcional de servidor SSH para executar tapes em um host remoto.
O VHS depende de ttyd e ffmpeg instalados no PATH. Pode ser instalado pelo Homebrew, Scoop, Nix, Docker, Go e pacotes para Linux.
Recursos principais
- 01Cria scripts de sessões de terminal com uma linguagem simples de comandos .tape.
- 02Gera GIF, MP4, WebM, sequências de quadros PNG e arquivos de texto/ASCII.
- 03Permite personalizar fonte, tamanho da janela, temas, preenchimento, margens e barras da janela.
- 04Grava um arquivo tape a partir de uma sessão de terminal ao vivo.
- 05Gera arquivos de referência em ASCII para comparação por diff em testes de integração.
- 06Funciona como servidor SSH para executar tapes em um host remoto.
Casos de uso
- Manter atualizados os GIFs de demonstração do README, regenerando-os na CI.
- Testar uma CLI por meio da comparação da saída em texto com arquivos de referência.
- Criar gravações de tela reproduzíveis de fluxos de trabalho no terminal para documentação ou tutoriais.
Início rápido
- 1
Instale ttyd e ffmpeg, que o VHS precisa encontrar no PATH
- 2
Instale o VHS com Homebrew no macOS ou Linux
brew install vhs - 3
Crie um novo arquivo tape
vhs new demo.tape - 4
Gere o GIF a partir do arquivo tape
vhs demo.tape
Antes de usar
- É necessário instalar ttyd e ffmpeg separadamente e disponibilizá-los no PATH.
Em coleções
Tópicos
Perguntas frequentes
- O que é vhs?
- Uma CLI em Go que grava sessões de terminal em GIFs, vídeos ou saída ASCII a partir de arquivos .tape com scripts, para demonstrações e testes de integração. O VHS trata gravações de terminal como código. Você escreve um arquivo .tape com uma lista de comandos, como Type, Enter, Sleep e Wait, e o VHS os executa novamente em um terminal virtual, renderizando o resultado como GIF, MP4, WebM, sequência de PNGs ou arquivo de referência em texto/ASCII. As configurações incluem família e tamanho da fonte, dimensões da janela ou quantidade de colunas e linhas, temas, preenchimento, margens, barras da janela e velocidade de reprodução.
- vhs é gratuito? Qual é a licença?
- vhs é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
- vhs ainda é mantido?
- Manutenção ativa. O último commit de vhs foi em 6 de nov. de 2026.
- Para que posso usar vhs?
- Manter atualizados os GIFs de demonstração do README, regenerando-os na CI. Testar uma CLI por meio da comparação da saída em texto com arquivos de referência. Criar gravações de tela reproduzíveis de fluxos de trabalho no terminal para documentação ou tutoriais.
- Como instalar vhs?
- Instale ttyd e ffmpeg, que o VHS precisa encontrar no PATH Instale o VHS com Homebrew no macOS ou Linux: brew install vhs Crie um novo arquivo tape: vhs new demo.tape Gere o GIF a partir do arquivo tape: vhs demo.tape
- Onde consigo vhs?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/charmbracelet/vhs
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Uma biblioteca Go para exibir tabelas, listas, barras de progresso e texto estilizado no terminal, com ampla possibilidade de personalização.
Mapa estelar de terminal escrito em C que exibe em ASCII as posições em tempo real de estrelas, planetas, constelações e da Lua.
Ferramenta de linha de comando que grava, transmite ao vivo e reproduz sessões de terminal em arquivos asciicast leves, em vez de vídeos.
Biblioteca C++ header-only para criar interfaces de terminal com um estilo funcional e baseado em componentes, sem dependências externas.
Protetor de tela para terminal escrito em Go, que é ativado quando o shell fica ocioso e exibe cenas animadas, como constelações, chuva e partículas.