mcpField
V
vibemovie

vibemovie

本地服务
github.com/pooriaarab媒体与设计02 周前更新

关于 vibemovie

VibeMovie 面向开发者和创作者,将结构化编码会话事件编译成可独立播放的动画 HTML;也可选择通过 WaveSpeed AI 和 FFmpeg 生成带旁白的 MP4。默认渲染无需 API 密钥。

主要功能

  1. 01按事件生成场景
  2. 02三种叙事模板
  3. 03三种 HTML 画面比例
  4. 04支持播放、字幕与时间轴拖动
  5. 05可选托管生成与 MP4 组装

适用场景

  1. 01将任务和测试事件制作为离线 HTML 回顾
  2. 02用 JSON 整理拉取请求里程碑
  3. 03通过 MCP 渲染提供的事件
  4. 04使用 WaveSpeed AI 生成电影式回顾

MCP 相关

`vibemovie mcp` 通过 stdio 提供一个 `render` 工具,可根据事件数组及可选渲染参数生成 HTML,或写入输出文件。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"pooriaarab-vibemovie": {
"command": "npx",
"args": [
"-y",
"vibemovie"
]
}
}
}
启动命令npx -y vibemovie

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmvibemovie0.2.3

工具

1

收录的工具列表 · 更新于 2 周前

参数类型必填说明
outstring否写入 HTML(或 cinematic 模式下的 mp4)的可选路径。
ratioenum否播放器宽高比(默认 16:9)。16:9 | 9:16 | 1:1
titlestring否标题卡片上的会话名称。
engineenum否渲染引擎(默认 hyperframes)。hyperframes | cinematic
eventsarray是会话事件:[{ "kind": "task-done", "ts": 1720000000000, "payload": { "label": "..." } }, ...]。已知类型:task-done、tests-pass、tests-fail、error、pr-opened、pr-merged、session-end。使用的 payload 字段:label、durationMin、files、additions、deletions、filesChanged、pr、branch、reviewers、passed。
templateenum否字幕语气和节奏(默认 documentary)。documentary | speedrun | meme

详细介绍

VibeMovie

npm version Downloads/month License: MIT

软件包 · 安装 · API 示例 · 比较

VibeMovie 是一款开源工具,可为开发者和创作者生成编码会话回顾。 它通过本地 Hyperframes 引擎,将结构化事件转化为独立的动画 HTML 故事。 可选的电影级引擎通过 WaveSpeed AI 和 FFmpeg 生成带旁白的 MP4 输出。VibeMovie 属于 Vibe Suite。

安装

npm install -g vibemovie

需要 Node.js 18 或更高版本。包含 TypeScript 声明和两个直接运行时依赖。 默认的 Hyperframes 引擎无需 API 密钥、浏览器自动化或安装 FFmpeg。

渲染你的第一个回顾

创建输入文件:

cat > session.json <<'JSON'
[
  {"kind":"task-done","ts":1769500000000,"agent":"claude-code","payload":{"label":"Refactor auth","durationMin":18}},
  {"kind":"tests-pass","ts":1769503600000,"payload":{"passed":42}},
  {"kind":"pr-merged","ts":1769505100000,"payload":{"pr":42,"branch":"main"}}
]
JSON
vibemovie render session.json --title "Auth recap" --out recap.html

CLI 会输出 recap rendered 和输出文件路径。在浏览器中打开 recap.html,即可播放故事并拖动时间轴。 无需环境变量或凭据。CLI 不会加载 .env 文件。 输入描述的是事件;VibeMovie 不会自动检查你的编码 Agent 历史记录。

工作原理

JSON events -> normalize and sort -> scene compiler
                                       |
                 +---------------------+---------------------+
                 v                                           v
          Hyperframes (default)                    cinematic (explicit)
       embedded HTML/CSS/JavaScript             WaveSpeed images + video + voice
                 |                                           |
        offline browser player                         FFmpeg -> MP4

Hyperframes 渲染使用本地 vibe-core 运行器,并禁用出站网络访问。 电影级渲染会将派生提示词、旁白文本和中间媒体发送至 WaveSpeed AI。

为何打造

终端录制会保留活动记录。回顾则会将任务、测试结果、差异总量和拉取请求里程碑精选成一个短篇故事。 VibeMovie 使用固定模板编译所提供的事件。构建默认回顾不需要大模型。 Remotion 和 asciinema 也适用于相关的视频和终端工作流,但使用不同的输入。

比较

于 2026-10-14 对照 Remotion 和 asciinema CLI 检查。

属性VibeMovieRemotionasciinema
输入结构化编码事件React 视频合成终端会话输出
范围基于模板的回顾故事程序化视频和动态图形终端录制和流式传输
此处的默认产物独立 HTML渲染后的合成内容或嵌入式播放器Asciicast 录制
编写方式JSON、Node.js API、Agent 工具React 组件录制器 CLI

覆盖范围

集成或界面状态源行为
Hyperframes已实现;本地嵌入式 HTML、CSS、JavaScript 和场景数据
WaveSpeed AI已实现;实时 API 待接入托管生成编排
ByteDance Seedream v4已通过 WaveSpeed 实现;实时 API 待接入主视觉和人脸参考图像
FLUX Kontext Max已通过 WaveSpeed 实现;实时 API 待接入关键帧图像编辑
Kling v2.5 Turbo Pro已通过 WaveSpeed 实现;实时 API 待接入图生视频片段
ElevenLabs Eleven v3已通过 WaveSpeed 实现;实时 API 待接入旁白合成
WaveSpeed 视频换脸已实现;尽力而为可选的中间人脸一致性步骤
FFmpeg已实现;外部可执行文件规范化、拼接、调色并混流,生成电影级输出
Claude Code / OpenAI Codex / Google Gemini CLI仅事件输入自行提供规范化 JSON;不读取特定工具的日志
MCP已实现一个 stdio 渲染工具
OpenAI Sora / Replicate—未提供适配器

源代码通过一个 API 服务声明了两个引擎、三种宽高比、三个模板、六种场景类型和五个托管模型端点。 此处的验证涵盖了源代码和使用注入式电影级依赖的本地测试。未执行付费 API 请求或凭据检查。 端点已实现,并不保证提供商仍提供相应模型。

常见用例

  1. Claude Code 开发者:将任务和测试事件导出为离线 HTML 回顾。
  2. Codex 维护者:用 JSON 描述拉取请求的里程碑,制作发布故事。
  3. Gemini CLI 创作者:使用 --ratio 9:16 选择竖屏 Hyperframes 输出。
  4. Node.js 团队:在现有事件流水线中调用 buildScenes 和 renderHyperframes。
  5. MCP Agent:使用单个 render 工具渲染提供的事件。
  6. WaveSpeed 用户:使用自己的密钥和 FFmpeg 安装,选择启用托管电影级生成。

功能

  • 场景: 标题、任务、差异、终端、合并和结尾;可选场景取决于所提供的数据。
  • 模板: documentary、speedrun 和 meme 控制字幕与节奏。
  • HTML 宽高比: 16:9、9:16 和 1:1。
  • 播放器: 播放/暂停、时间轴拖动、字幕和嵌入式场景数据。
  • 确定性编译: 相同的事件和场景选项会生成相同的本地场景。
  • 电影级流水线: 生成参考图像、关键帧、片段和旁白,并在本地组装 MP4。
  • 镜头配方: 导出配方数据和确定性选择器,供自定义调用方使用;不是自动的 CLI 故事板选择器。
  • 套件通知: 渲染时会通过 vibe-core 尽力发送 render-done 事件。

运行时界面

vibemovie render [file.json|-] [--ratio 16:9|9:16|1:1]
  [--template documentary|speedrun|meme] [--engine hyperframes|cinematic]
  [--out path] [--title name]
vibemovie mcp
vibemovie help
vibemovie --help / -h
vibemovie --version / -v / -V

render 从文件或 stdin 读取。输入可以是事件数组,也可以是 { "events": [...] }。 默认值为 hyperframes、documentary、16:9 和 ./vibe-recap.html。 电影级输出默认为 ./vibe-recap.mp4。

vibemovie mcp 会启动 stdio Model Context Protocol(MCP)服务,其中包含一个工具:

工具必填输入可选输入结果
renderevents 数组ratio、template、engine、title、outHTML 文本,或写入的输出路径
库示例

使用 npm install vibemovie 安装。将以下内容保存为 recap.mjs,然后运行 node recap.mjs:

import { renderMovie } from 'vibemovie';
const result = await renderMovie([
  { kind: 'task-done', ts: 1769500000000, payload: { label: 'Ship auth' } }
], { title: 'Auth recap', out: 'recap.html' });
console.log(result.engine, result.path); // hyperframes recap.html

buildScenes(events, options) 和 renderHyperframes(scenes, options) 也会导出,供自定义流水线使用。

交付与行为限制

Hyperframes 生成的是动态 HTML,而非 MP4 或 GIF。它不会录制屏幕,也不会实时串流 Agent 活动。 CLI 没有 --session 或 --repo 导入器。渲染前,请将外部录制转换为事件架构。 场景编译器最多显示五行任务、四个差异文件名和五行终端内容。 终端内容行是对所提供事件的摘要,并非录制的终端记录。 差异统计和测试结果反映输入中的声明,不代表经过独立的 Git 或测试运行验证。 电影级输出统一为 1280×720,帧率为每秒 24 帧。HTML 比例选项不会改变该电影级输出尺寸。 电影级提示词使用固定角色和场景。没有用户头像选择或动态配乐引擎。 缺少 WAVESPEED_API_KEY 或 FFmpeg 时会回退到 HTML;已识别的视频文件扩展名会变为 .html。 运行时提供方故障不会触发通用 HTML 回退。失败的片段可能会被跳过;如果所有片段都失败,则渲染会中止。 预测轮询次数有限:通常为 95 次,旁白为 60 次,人脸替换为 140 次。请求没有显式网络超时。 人脸替换步骤可能回退到原始剪辑。临时电影级工作文件会保留在磁盘上。 渲染前请检查输入:托管式旁白可能包含任务标签、会话名称和摘要值。

集成指南

  • 竖屏 HTML 回顾:vibemovie render session.json --ratio 9:16 --template speedrun --out portrait.html。
  • 事件管道:将 JSON 数组通过管道传入 vibemovie render --out recap.html。
  • 托管式电影级回顾:安装 FFmpeg,导出 WAVESPEED_API_KEY,然后运行 vibemovie render session.json --engine cinematic。
  • 环境文件:启动 CLI 前,请在 shell 或启动器中加载变量;VibeMovie 不会自动读取 .env。
  • Agent 设置:配置 MCP 主机,通过 stdio 启动 vibemovie mcp。

托管式渲染使用 https://api.wavespeed.ai/api/v3。此管道不需要单独的 ElevenLabs 密钥。

状态

版本 0.2.4 尚未达到 1.0;API 和生成行为可能会发生变化。 目前尚未发布公开案例研究。尚未配置公开文档站点;此处已包含完整的设置指南。 仅含源代码的原型展示了其他控制项;它们不是随附发布的 Web 应用。 如需支持,请使用 GitHub issues;可能需要仓库访问权限。 如需贡献,请运行 npm ci、npm run build、npm run typecheck、npm test 和 git diff --check。

常见问题

哪些集成经过了验证?

VibeMovie 使用注入的依赖项测试本地渲染和电影级编排。本次重写尚未通过凭据验证托管端点。

VibeMovie 提供托管视频服务吗?

VibeMovie 以本地软件包的形式运行。可选的托管式生成需要使用你的 WaveSpeed API 密钥和提供方账户。

VibeMovie 与 Remotion 有什么区别?

VibeMovie 使用预设场景编译结构化会话事件。Remotion 提供基于 React 的自定义视频合成工具。

VibeMovie 与 asciinema 有什么区别?

VibeMovie 根据所提供的事件渲染摘要。asciinema 会录制并串流终端输出。

VibeMovie 能离线运行吗?

VibeMovie 无需远程资源或 API 密钥即可渲染 Hyperframes HTML。其电影级引擎需要访问托管 API。

VibeMovie 无需凭据就能导出 MP4 吗?

没有电影级凭据时,VibeMovie 默认输出 HTML。生成 MP4 需要 WaveSpeed 密钥和 FFmpeg。

VibeMovie 会自动读取 Claude Code 或 Codex 日志吗?

VibeMovie 接受 JSON 事件输入,而不会扫描 Agent 框架日志。请通过文件、stdin、库或 MCP 提供事件数组。

VibeMovie 能使用我现有的 Sora 或 Replicate 账户吗?

此版本的 VibeMovie 没有 Sora 或 Replicate 适配器。电影级管道会调用固定的 WaveSpeed 模型端点。

电影级 MP4 支持所有输出比例吗?

VibeMovie 在 Hyperframes HTML 中支持三种比例。电影级拼接目前会将视频统一为 1280×720。

许可证

MIT。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。