asciinema vs AgentGIF — Terminal Recording Comparison
Comparison of asciinema and AgentGIF for terminal recording: features, formats, embedding, and AI agent support.
概述
asciinema is a terminal session recorder that captures input/output as lightweight text-based recordings (.cast files). It's open-source, self-hostable, and has been the standard for terminal recording since 2012.
AgentGIF is a developer GIF hosting platform with a dual-layer architecture: every GIF has a visual layer (GIF image) for humans and a machine layer (cast + transcript) for AI agents. It uses VHS for recording and serves both GIF images and structured data.
功能对比
| 功能 | asciinema | AgentGIF |
|---|---|---|
| 录制 | 实时终端捕获 | 通过 VHS tape 文件编排 |
| 输出格式 | .cast (基于文本) | .gif + .mp4 + .cast |
| 视觉预览 | 需要 JavaScript 播放器 | 内嵌 GIF 随处可播放 |
| GitHub README | 链接到外部播放器 | 内嵌 <img> 标签 |
| 文件大小 | 极小(KB 级) | 中等(100 KB – 5 MB) |
| 播放质量 | 完美(矢量文本) | 良好(栅格化像素) |
| 从终端复制 | 是(可选中文本) | 否(图片) |
| 主题 | 通过播放器设置 | 44 个内置 VHS 主题 |
| AI 代理支持 | 仅 cast 文件 | Cast + 脚本记录 + .md + JSON API |
| 搜索 | 仅标题 | 全文搜索(标题、命令、脚本记录、标签) |
| 自托管 | 是(asciinema-server) | 否(托管平台) |
| 开源 | 是(GPL-3.0) | 否(托管服务) |
| API | 有限 | 30+ 个 REST 端点 + OpenAPI |
| 嵌入方式 | iframe、JavaScript 播放器 | Markdown、HTML、iframe、oEmbed、Badge、Script |
| 徽章服务 | 否 | 终端主题 SVG 徽章 |
录制
asciinema:实时捕获
asciinema 实时录制你的实际终端会话:
asciinema rec demo.cast
# ... type commands naturally ...
# Press Ctrl+D to stop
优点:自然输入,捕获包括错误在内的真实输出。缺点:不可复现——每次录制都是独一无二的。
AgentGIF:脚本录制
AgentGIF 使用 VHS tape 文件——脚本化录制,每次产生完全相同的输出:
# demo.tape
Output demo.gif
Set Theme "Catppuccin Mocha"
Type "docker compose up -d"
Enter
Sleep 3s
优点:可复现、可版本控制,非常适合 CI/CD。缺点:需要编写脚本。
输出格式
| 格式 | asciinema | AgentGIF | 备注 |
|---|---|---|---|
| .cast | 主要 | 支持 | 基于文本,体积极小,质量完美 |
| .gif | 通过转换 | 主要 | 通用显示,无需播放器 |
| .mp4 | 通过转换 | 自动生成 | 比 GIF 更小,需要视频播放器 |
| .svg | 通过 agg | 仅徽章 | 矢量画质 |
在 GitHub README 中嵌入
asciinema
asciinema 录制需要 JavaScript 播放器。由于 GitHub 会移除脚本,你只能使用链接方式:
[](https://asciinema.org/a/12345)
这会显示一个静态 SVG 预览,链接到 asciinema 播放器页面。
AgentGIF
GIF 图片无需任何播放器即可内嵌显示:
<p align="center">
<img src="https://media.agentgif.com/ID.gif" alt="demo" width="800">
</p>
演示自动播放——无需点击,无需访问外部页面。
AI 代理支持
这是两个平台差异最为显著之处:
| 功能 | asciinema | AgentGIF |
|---|---|---|
| 机器可读数据 | .cast 文件 | .cast + 脚本记录 + JSON API + .md |
| 全文搜索 | 否 | 是(命令、输出、标签) |
| 结构化元数据 | 标题、命令 | 标题、命令、标签、工具、主题、尺寸 |
| LLM 优化输出 | 否 | 每个页面都有 .md 端点 |
| 站点级摘要 | 否 | llms.txt |
| OpenAPI 规范 | 否 | 完整 OpenAPI 3.1 |
托管
| 方面 | asciinema | AgentGIF |
|---|---|---|
| 自托管选项 | 是(asciinema-server) | 否 |
| 托管平台 | asciinema.org | agentgif.com |
| CDN 分发 | asciinema CDN | Cloudflare R2 (media.agentgif.com) |
| 定价 | 免费(托管)/ 自托管费用 | 免费 |
何时使用
在以下情况选择 asciinema:
- 你需要对真实终端会话进行实时录制
- 你需要可选中文本的输出(观看者可以复制命令)
- 你因合规或隐私需求需要自托管
- 文件大小至关重要(cast 文件小数个数量级)
- 你需要完美的矢量画质播放
在以下情况选择 AgentGIF:
- 你需要在 GitHub README 文件中内嵌显示 GIF
- 你需要可复现、脚本化的演示
- 你需要AI 代理支持(cast + 脚本记录 + API + .md)
- 你需要与项目风格匹配的主题录制
- 你需要灵活的嵌入方式(Markdown、oEmbed、徽章)
- 你需要终端主题的包徽章
结合使用
asciinema 和 AgentGIF 是互补的。常见工作流程:
- 用 asciinema 录制自然交互:
asciinema rec demo.cast - 使用 agg 或 VHS 转换为 GIF:
agg demo.cast demo.gif - 将 cast 文件上传到 AgentGIF:
agentgif upload demo.gif --cast demo.cast - 将 GIF 嵌入到你的 README 中(视觉层面向人类,cast 层面向代理)