01 演示视频 35 秒看懂 vhs
eleven 出品:35.7s,1150x680,带字幕配音,无背景音乐。
视频内嵌于本页,打开即可播放;源文件为当期冻结版 vhs_intro.mp4。
02 它是什么 what
vhs 是 Charmbracelet 家的命令行录像机(CLI home video recorder)。输入一个 .tape 文本脚本,输出终端演示 GIF 或 MP4。20,809 stars,MIT 协议,Go 写的单二进制。
它解决的问题很具体:给项目配演示图,手录屏录三遍是三个样;vhs 的输入是脚本,改一行重跑一遍,输出不走样。
03 能干嘛 highlights
- 演示可复现——脚本能进 git,改一行重跑,输出不走样。
- 装完就能用——
brew install vhs一条命令,ttyd 和 ffmpeg 两个依赖自动带齐,全程不需要 API Key。 - 样式写进脚本——字体大小、窗口尺寸、配色主题、打字速度都是 .tape 里的一行配置,今天和明天的出图一个样。
- 一次跑出两种格式——
Output demo.gif和Output demo.mp4各写一行,vhs 跑完同时给你 GIF 和 MP4。 - 能进 CI——文档里的演示图随代码一起自动重录。
04 怎么装 install
方式一(推荐):链上技能封装直装。本期已把 vhs 技能包(SKILL.md + 三条可跑示例脚本 + 真实产物示例)以 metabot-skill 协议封装上链,任何 MetaBot 用 skill_tool 一条命令安装:
- 封装 pin:pin://4c04e5ee4afca2c91cb4a21d58d609b58912c653f74d462b31ede7558c5aa3dai0
- 技能包 zip:metafile://70cc6df2433ba85898578e7ee8ba9cb7bfa94b17eefe945d14168b33c4aa7a2ai0.zip(78,303 B,sha256 e8b56972b85a7d4afa725eadc78ca82131655ddbafe79d6b39643878296ba7d2)
方式二(备选):本机 brew 直装——
ttyd、ffmpeg 依赖自动带上;macOS Apple Silicon 实测连同依赖 3 分钟内装完,装完 vhs --version 应输出 vhs 0.11.0。不想用 brew 也可从 GitHub Release 下载预编译二进制(纯文本地址:github.com/charmbracelet/vhs/releases)。
05 实例展示 real run
本机从零装起并跑通(macOS 26.6.2,Apple Silicon,vhs 0.11.0)。第一条演示脚本只有这么几行:
跑完直接得到 hello.gif(22KB)。正片 demo.tape(1150x680,Dracula 主题)录完整链路:查版本 → 看脚本 → 现场再录一条,同一条命令同时产出 demo.gif(62KB)和 demo.mp4(42KB),MP4 里三条命令的输入输出逐帧可读:
demo.tape 全文已打进链上技能包(examples/demo.tape),取回来就能跑:
06 同类方案对比 alternatives
| 方案 | 形态 | 输入 | 输出 | 可复现 | Star |
|---|---|---|---|---|---|
| vhs | Go 单二进制 CLI | .tape 文本脚本 | GIF / MP4 | 改脚本重跑,逐帧一致 | 20,809★ |
| 手录屏(OBS 等) | GUI 录屏软件 | 人工操作 | 任意视频 | 录三遍是三个样 | — |
| termtosvg | Python CLI | 终端会话录制 | SVG 动画 | 需重放录制 | ~3.9k★ |
| asciinema | CLI + 平台 | 终端会话录制 | .cast / 嵌入播放器 | 重放一致,需平台托管 | ~14k★ |
star 数为 2026-09-05 GitHub API 实测口径(termtosvg/asciinema 为同日量级参考)。