How to Record a Terminal GIF

Step-by-step guide to recording terminal sessions as GIF animations using VHS, asciinema, and AgentGIF CLI.

1. Prasyarat

Untuk merekam GIF terminal, Anda membutuhkan:

VHS bekerja dengan membaca file .tape yang mendeskripsikan penekanan tombol, perintah, dan waktu — kemudian memutar ulang tindakan tersebut di terminal virtual dan merekam outputnya sebagai GIF.

2. Instal VHS

PlatformPerintah Instalasi
macOSbrew install vhs
Ubuntu/Debiansudo mkdir -p /etc/apt/keyrings && curl -fsSL https://repo.charm.sh/apt/gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/charm.gpg && echo "deb [signed-by=/etc/apt/keyrings/charm.gpg] https://repo.charm.sh/apt/ * *" | sudo tee /etc/apt/sources.list.d/charm.list && sudo apt update && sudo apt install vhs
Arch Linuxyay -S vhs
Gogo install github.com/charmbracelet/vhs@latest

Verifikasi instalasi:

vhs --version

3. Buat File Tape

File tape adalah skrip teks biasa yang memberi tahu VHS apa yang harus diketik, kapan harus menunggu, dan pengaturan apa yang digunakan. Buat file bernama demo.tape:

Output demo.gif
Set Shell "bash"
Set FontSize 16
Set Width 1000
Set Height 580
Set Theme "Catppuccin Mocha"

Type "echo 'Hello, world!'"
Enter
Sleep 2s

Type "ls -la"
Enter
Sleep 3s

Perintah Inti

PerintahDeskripsiContoh
OutputAtur jalur file outputOutput "demo.gif"
TypeKetik teks (mensimulasikan penekanan tombol)Type "git status"
EnterTekan EnterEnter
SleepTunggu selama durasi tertentuSleep 2s
Ctrl+CKirim pintasan keyboardCtrl+C
HideHentikan perekaman (untuk penyiapan)Hide
ShowLanjutkan perekamanShow

4. Konfigurasi Pengaturan

Letakkan perintah Set di bagian atas file tape Anda, sebelum perintah Type mana pun.

Pengaturan yang Direkomendasikan untuk AgentGIF

Set Shell "zsh"
Set FontSize 15
Set Width 1000
Set Height 580
Set Padding 20
Set Theme "Catppuccin Mocha"
Set TypingSpeed 50ms
Set CursorBlink false

Semua Pengaturan yang Tersedia

PengaturanDefaultDeskripsi
Shell"bash"Shell yang digunakan (bash, zsh, fish, sh)
FontSize14Ukuran font dalam piksel
Width800Lebar terminal dalam piksel
Height600Tinggi terminal dalam piksel
Padding0Padding di sekitar terminal
Theme"default"Color theme (see theme gallery)
TypingSpeed50msJeda antar penekanan tombol
Framerate50Frame per detik GIF
PlaybackSpeed1Pengali kecepatan pemutaran
CursorBlinktrueTampilkan kursor berkedip
LetterSpacing0Spasi huruf tambahan
LineHeight1.0Pengali tinggi baris

Tema

VHS hadir dengan 44 tema bawaan. Pilihan populer untuk dokumentasi developer:

TemaGaya
Catppuccin MochaGelap hangat (aksen pastel)
DraculaUngu gelap
Tokyo NightGelap berwarna biru
NordBiru Arktik
One DarkGelap terinspirasi Atom
Solarized DarkGelap klasik dengan nada hangat
MonokaiTerinspirasi Sublime Text

Jelajahi semua tema dengan pratinjau langsung: Galeri Tema.

5. Rekam GIF

vhs demo.tape

VHS membuka browser tanpa tampilan, memutar ulang tape, dan menyimpan GIF. Perekaman biasanya memerlukan 10-30 detik.

Pratinjau sebelum mengunggah:

# macOS
open demo.gif

# Linux
xdg-open demo.gif

6. Optimalkan Ukuran File

AgentGIF menerima GIF hingga 10 MB, tetapi file yang lebih kecil dimuat lebih cepat. Tips untuk menjaga ukuran GIF tetap kecil:

TeknikDampak
Kurangi dimensi (Width 800)Signifikan — mengurangi setengah lebar menjadikan ukuran file seperempat
Kurangi framerate (Framerate 30)Sedang — mengurangi frame sebesar 40%
Rekaman lebih pendekSignifikan — targetkan 5-15 detik
Gunakan PlaybackSpeed 1.5Sedang — total frame lebih sedikit
Nonaktifkan kedipan kursor (CursorBlink false)Kecil — frame unik lebih sedikit
Latar belakang solid (hindari transparansi)Kecil — kompresi GIF lebih baik

Untuk keseimbangan terbaik antara kualitas dan ukuran, pengaturan yang direkomendasikan di atas menghasilkan GIF sekitar 100-300 KB untuk rekaman 10 detik.

7. Unggah ke AgentGIF

Unggah melalui CLI (tercepat):

agentgif upload demo.gif \
  --title "Git Interactive Rebase" \
  --command "git rebase -i HEAD~3" \
  --tags git,rebase \
  --open

Or upload via the web interface — drag and drop the GIF file.

Menyertakan file cast mengaktifkan lapisan agen AI:

agentgif upload demo.gif --cast demo.cast --title "My Demo"

8. Fitur Tape Lanjutan

Sembunyikan/Tampilkan untuk Penyiapan

Gunakan Hide/Show untuk menjalankan perintah penyiapan tanpa merekamnya:

Hide
Type "cd /tmp/demo-project"
Enter
Type "mkdir -p src"
Enter
Show

# Now recording starts
Type "ls -la"
Enter
Sleep 2s

Beberapa Format Output

VHS dapat menghasilkan beberapa format secara bersamaan:

Output demo.gif
Output demo.mp4
Output demo.webm

Variabel Lingkungan

Set Shell "bash"
Type "export PS1='$ '"
Enter
Hide
Sleep 500ms
Show

Pintasan Keyboard

Ctrl+C     # Cancel current command
Ctrl+L     # Clear screen
Ctrl+D     # EOF / exit
Tab        # Tab completion
Up         # Previous command
Escape     # Escape key

9. Alat Perekaman Alternatif

AlatOutputKelebihanKekurangan
VHSGIF, MP4, WebMTerskrip, dapat direproduksi, temaMemerlukan penyiapan
asciinema.castPerekaman langsung, file kecilTidak ada output GIF (perlu konversi)
TerminalizerGIFPerekaman langsung, konfigurasi YAMLUkuran file besar
PeekGIF, WebMPerekam layar GUITidak khusus terminal

Kami merekomendasikan VHS untuk demo terskrip (dapat direproduksi, dapat dikontrol versinya) dan konversi asciinema + VHS untuk rekaman langsung.

See also: asciinema vs AgentGIF comparison.