VHS 是 Charm 提供的终端录制工具,用脚本化的 tape 文件生成 GIF、PNG、MP4 和 WebM,适合自动化终端录制、捕获 TUI 截图或制作演示 GIF。可通过 nix run nixpkgs#vhs -- <file>.tape 运行。
tape 文件由一系列描述终端交互的命令组成。开头用 Output 指定输出格式(如 output.gif,也可为 .png、.mp4、.webm),再用 Set 配置 Shell、FontSize、Width、Height、Theme 等。Hide 与 Show 控制输入的命令是否出现在输出中。
常用命令包括:Type "text" 输入文本;Enter、Tab、Escape、Space 按键;Ctrl+x、Alt+x 组合键;Up、Down、Left、Right 方向键;Sleep 1s 等待(支持 ms 和 s);Screenshot file.png 截取当前帧。
设置项包括 Set Shell(如 bash、zsh)、Set FontSize、Set Width、Set Height、Set Theme、Set Padding、Set WindowBar Colorful 等。
示例流程:指定 Output 为 screenshots/demo.png,设置 Shell、字号、宽高与主题;用 Hide 隐藏命令,Type 输入启动命令并 Enter,Sleep 等待渲染,Show 恢复显示;随后发送 Ctrl+p,Sleep 后 Screenshot 截图,最后 Escape、输入 q 并 Enter 退出。
使用提示:用 Hide/Show 控制命令是否出现在输出中;Sleep 时序很关键,需给应用留出渲染时间再截图;可用 nix run nixpkgs#vhs -- themes 列出可用主题。其他平台安装方式、收费与价格信息暂未提供。