SuperAPI AI 工具集

tape-demo

通用与其它

查看项目

更新于 10-16 07:48

技能介绍

tape-demo 是一个用于制作可复现脚本化终端演示的技能,核心是编写 VHS 的 .tape 文件来描述会话,再通过 vhs 渲染成 GIF/MP4。按照资料,.tape 即源代码,应提交在产物旁边,使演示在每次 CLI 变更后能以相同方式重新生成(在相同工具版本、字体和环境的前提下可复现)。它的特点是无需实时录制、不会出现输入错误,也不会让个人 shell 状态出现在屏幕上。

适用场景 资料给出了明确的使用边界。当尚不存在录制、且目标是为 README 或文档制作整洁演示时,使用本技能。以下情况不适用:捕捉真实会话的真实输出/时序,应使用 cast-record;转换或重新设计已有的 .cast 录制,应使用 cast-render;从录制中移除敏感信息,应使用 cast-redact;浏览器或 GUI 操作演示不适用,因为 VHS 只能驱动终端。

工作流程

  1. 规划故事。挑选 2–5 条能展示工具的命令;先自行运行一次,了解真实输出与时序。为演示所需的每个二进制添加 Require <program> 行。
  2. 编写 tape。可从 ${CLAUDE_SKILL_DIR}/assets/demo-template.tape(中性主题、适合 README 的几何尺寸)或 vhs new demo.tape 开始。规则包括:输出 demo.gif(如需同时生成两种格式,再加上 Output demo.mp4);所有 Set 行放在顶部,因为除 TypingSpeed 外,任何设置放在非设置命令之后都会被静默忽略;使用 Type "cmd"、Enter、Sleep 500ms、Up/Down、Ctrl+C,以及 Type@250ms "slow" 实现单命令速度;对于时长可变的步骤(安装、构建、网络),用 Wait /pattern/ 匹配预期输出,而不是猜测 Sleep,默认作用域为最后一行,默认超时 15 秒(可用 Set WaitTimeout 30s 提高,Wait+Screen /pattern/ 匹配整个屏幕);观众不应看到的设置/清理放入 Hide … Show 块(例如构建二进制、清屏)。
  3. 安全与保密。tape 是可执行代码,渲染前应审查每条命令,并在干净目录中运行。Hide 只停止画面捕捉,命令仍会执行且其值会保留在会话中,因此应使用明显虚假的值(Env API_TOKEN "demo-token-123"),即使隐藏也绝不使用真实凭据。
  4. 校验后渲染。使用 vhs validate demo.tape 做解析检查(不执行),使用 vhs demo.tape 渲染所有 Output。
  5. 检查产物。确认输出存在;README 中的 GIF 应控制在 GitHub 10 MB 图片预算内(可通过 Set Framerate 10、减小 Width/Height 或 gifsicle 缩小,GIF 优化可参考 cast-render)。任何 tape 编辑后都要重新渲染。
  6. 可选的 CI 重新生成:charmbracelet/vhs-action@v2 可在 GitHub Actions 中重新渲染 tape,使演示不会与 CLI 脱节。

主题与外观 中性默认可使用 Set Theme "GitHub Dark"(或 "Dracula"、"Catppuccin Mocha" 等,vhs themes 列出全部约 348 个内置名称)。也可用内联 JSON 主题定义项目品牌色,资料给出了包含 background、foreground、black、red、green、yellow、blue、magenta、cyan、white、bright 系列、cursor、selection 等字段的完整示例。窗口装饰可用 Set WindowBar Colorful、Set BorderRadius 8、Set Margin 20 加 Set MarginFill "#674EFF" 实现带边框的主视觉效果。

输出规范

  • demo.tape 提交在仓库中(差异可审阅),产物(.gif/.mp4)由其重新生成,绝不手动编辑。
  • vhs validate 通过;渲染成功;GIF 在大小预算内。
  • tape 或渲染中不出现真实凭据、主机名或个人路径。

注意事项

  • VHS 在无头浏览器(ttyd + Chromium)中渲染:Set FontFamily 仅对系统已安装字体生效,字体缺失会回退并可能破坏间距。除 vhs 外还需要 brew install ttyd ffmpeg。
  • GIF 受限于 256 色,丰富主题会出现抖动。色彩密集的演示优先用 MP4,或将 Set Framerate 降到 5–10 并做后期优化。
  • vhs record > cassette.tape 可从真实按键引导生成 tape,是发现命令序列的最快方式,之后需清理。
  • 多个 Output 行可在一次运行中渲染所有格式;.txt/.ascii 输出可提供用于 CI 比对的黄金文件。
  • Shell 选择很重要:Set Shell "bash" 可避免个人 zsh/fish 配置带来的意外;未设置主题的提示符可保持演示中性。
  • 资料称其已针对 VHS v0.10.0–v0.11.0 验证(v0.11.0 新增 ScrollUp/ScrollDown)。完整命令/设置参考见 references/tape-reference.md,起始模板为 assets/demo-template.tape。

以上为资料中明确提供的信息,关于收费、价格、平台支持范围或具体效果等,资料未提供。