Vibemovie

io.github.pooriaarab由 GitHub 帳號 pooriaarab 發布v0.2.3更新於 Oct 24, 2026

Turns an agent coding session into a short recap video. Local-first.

發布方自己的服務:AI Benchmark Index

已驗證STDIO僅桌面開發者工具媒體與設計

概覽

AI 產生的概覽

把代理程式編碼工作階段的事件記錄轉成一段帶旁白的短片回顧,輸出為自帶內容的動畫 HTML 頁面。

可以做什麼
VibeMovie 接收工作階段事件的 JSON 陣列(例如 task-done、tests-pass、pr-merged 等),產生電影式回顧:故事線、章節、程式碼亮點、統計浮層、配樂以及選用旁白。MCP 模式會提供一個可供代理程式呼叫的 render 工具,同一套流程也能透過命令列與函式庫使用。預設的 Hyperframes 引擎輸出完全離線渲染的動畫 HTML 頁面,不需要 API 金鑰,也不連網。
適用情境
當你想要一份可分享、有故事性的 AI 輔助編碼工作階段摘要,而不是原始螢幕錄影時使用,例如為某個 pull request 或一次建置工作階段製作回顧,用於社群分享或團隊展示。它是呈現工具而非擷取工具,需要提供事件檔案作為輸入。
執行需求
需要本機 Node.js 執行環境;此套件以 npm 安裝或用 npx 直接執行。MCP 伺服器透過 mcp 子命令以 stdio 啟動。預設離線引擎不需要 API 金鑰或網路;選用的託管影片、旁白或虛擬人像服務則需要你自己的憑證。
安裝前請注意
離線的 Hyperframes 層級不會讓資料離開你的機器,但 README 描述了一條串接流程,可能使用你既有的模型供應商或你自備的影片生成金鑰,並提到託管旁白與虛擬人像服務;選擇這些會把工作階段資料傳送給第三方。工作階段事件檔案可能包含儲存庫路徑、分支名稱與程式碼片段,分享輸出前請先檢查輸入內容。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Vibemovie,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

VibeMovie

[npm version] [Downloads/month] [License: MIT]

Package · Setup · API example · Compare

VibeMovie is an open-source coding-session recap generator for developers and creators. It turns structured events into a self-contained animated HTML story through its local Hyperframes engine. An optional cinematic engine creates narrated MP4 output through WaveSpeed AI and FFmpeg. VibeMovie belongs to the Vibe Suite.

Install

bash
npm install -g vibemovie

Requires Node.js 18 or later. Includes TypeScript declarations and two direct runtime dependencies. The default Hyperframes engine needs no API key, browser automation, or FFmpeg installation.

Render your first recap

Create an input file:

bash
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"}}]JSONvibemovie render session.json --title "Auth recap" --out recap.html

The CLI prints recap rendered and the output path. Open recap.html in a browser to play the story and scrub its timeline. No environment variables or credentials are required. The CLI does not load .env files. The input describes events; VibeMovie does not inspect your coding-agent history automatically.

How it works

text
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 rendering uses a local vibe-core runner with egress disabled. Cinematic rendering sends derived prompts, narration text, and intermediate media to WaveSpeed AI.

Why it exists

A terminal recording preserves activity. A recap selects tasks, test outcomes, diff totals, and pull-request milestones into a short story. VibeMovie compiles those supplied events with fixed templates. It does not need a language model to build the default recap. Remotion and asciinema address related video and terminal workflows with different inputs.

Compare

Checked 2026-10-14 against Remotion and asciinema CLI.

PropertyVibeMovieRemotionasciinema
InputStructured coding eventsReact video compositionsTerminal session output
ScopeTemplate-based recap storiesProgrammatic video and motion graphicsTerminal recording and streaming
Default artifact hereSelf-contained HTMLRendered compositions or embedded playerAsciicast recording
AuthoringJSON, Node.js API, agent toolReact componentsRecorder CLI

Coverage

Integration or surfaceStatusSource behavior
HyperframesImplemented; localEmbedded HTML, CSS, JavaScript, and scene data
WaveSpeed AIImplemented; live API pendingHosted generation orchestration
ByteDance Seedream v4Implemented via WaveSpeed; live API pendingHero and face reference images
FLUX Kontext MaxImplemented via WaveSpeed; live API pendingKeyframe image edits
Kling v2.5 Turbo ProImplemented via WaveSpeed; live API pendingImage-to-video clips
ElevenLabs Eleven v3Implemented via WaveSpeed; live API pendingNarration synthesis
WaveSpeed video face swapImplemented; best-effortOptional intermediate face consistency step
FFmpegImplemented; external executableNormalize, concatenate, grade, and mux cinematic output
Claude Code / OpenAI Codex / Google Gemini CLIEvent input onlySupply normalized JSON yourself; no harness-specific log reader
MCPImplementedOne stdio render tool
OpenAI Sora / Replicate—No provider adapter shipped

The source declares two engines, three ratios, three templates, six scene kinds, and five hosted model endpoints through one API service. Verification here covers source and local tests with injected cinematic dependencies. No paid API requests or credential checks were performed. An implemented endpoint is not a guarantee that a provider model remains available.

Common use cases

  1. Claude Code developers: export task and test events into an offline HTML recap.
  2. Codex maintainers: describe pull-request milestones in JSON for a release story.
  3. Gemini CLI creators: choose portrait Hyperframes output with --ratio 9:16.
  4. Node.js teams: call buildScenes and renderHyperframes inside an existing event pipeline.
  5. MCP agents: render supplied events with the single render tool.
  6. WaveSpeed users: opt into hosted cinematic generation with their own key and FFmpeg installation.

Features

  • Scenes: title, tasks, diff, terminal, merge, and end; optional scenes depend on supplied data.
  • Templates: documentary, speedrun, and meme control captions and pacing.
  • HTML ratios: 16:9, 9:16, and 1:1.
  • Player: play/pause, timeline scrubbing, captions, and embedded scene data.
  • Deterministic compilation: the same events and scene options produce the same local scenes.
  • Cinematic pipeline: generated reference images, keyframes, clips, narration, and local MP4 assembly.
  • Shot recipes: exported recipe data and deterministic selectors for custom callers; not an automatic CLI storyboard selector.
  • Suite notification: rendering emits a best-effort render-done event through vibe-core.

Runtime surfaces

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

render reads a file or stdin. Input accepts an event array or { "events": [...] }. Defaults are hyperframes, documentary, 16:9, and ./vibe-recap.html. Cinematic output defaults to ./vibe-recap.mp4.

vibemovie mcp starts the stdio Model Context Protocol (MCP) server with one tool:

ToolRequired inputOptional inputResult
renderevents arrayratio, template, engine, title, outHTML text, or a written output path

Library example

Install with npm install vibemovie. Save this as recap.mjs and run node recap.mjs:

js
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) and renderHyperframes(scenes, options) are also exported for custom pipelines.

Delivery and behavior limits

Hyperframes produces animated HTML, not an MP4 or GIF. It does not record your screen or stream live agent activity. The CLI has no --session or --repo importer. Convert external recordings into the event schema before rendering. The scene compiler displays at most five task rows, four diff filenames, and five terminal lines. Terminal lines summarize supplied events; they are not a captured terminal transcript. Diff totals and test results reflect input claims, not an independent Git or test-run verification. Cinematic output is normalized to 1280×720 at 24 frames per second. HTML ratio options do not change that cinematic output size. Cinematic prompts use a fixed character and setting. There is no user-avatar selection or dynamic soundtrack engine. Missing WAVESPEED_API_KEY or FFmpeg triggers HTML fallback; recognized video filename extensions become .html. Runtime provider failures do not trigger a general HTML fallback. Failed clips may be skipped; all clips failing aborts the render. Prediction polling is bounded: normally 95 polls, narration 60, and face swap 140. Requests have no explicit network timeout. The face-swap step can fall back to the raw cut. Temporary cinematic work files remain on disk. Review input before rendering: hosted narration can include task labels, session names, and summary values.

Integration guides

  • Portrait HTML recap: vibemovie render session.json --ratio 9:16 --template speedrun --out portrait.html.
  • Event pipeline: pipe a JSON array into vibemovie render --out recap.html.
  • Hosted cinematic recap: install FFmpeg, export WAVESPEED_API_KEY, then run vibemovie render session.json --engine cinematic.
  • Environment file: load variables in your shell or launcher before starting the CLI; VibeMovie does not read .env automatically.
  • Agent setup: configure your MCP host to launch vibemovie mcp over stdio.

Hosted rendering uses https://api.wavespeed.ai/api/v3. There is no separate ElevenLabs key in this pipeline.

Status

Version 0.2.4 is pre-1.0; APIs and generation behavior can change. Public case studies are not yet published. No public documentation site is configured; setup guidance is self-contained here. Source-only prototypes illustrate additional controls; they are not shipped web applications. Use GitHub issues for support; repository access may be required. For contributions, run npm ci, npm run build, npm run typecheck, npm test, and git diff --check.

FAQ

Which integrations are verified?

VibeMovie tests local rendering and cinematic orchestration with injected dependencies. Hosted endpoints have not been credential-checked in this rewrite.

Does VibeMovie provide a managed video service?

VibeMovie runs as a local package. Optional hosted generation uses your WaveSpeed API key and provider account.

How is VibeMovie different from Remotion?

VibeMovie compiles structured session events with preset scenes. Remotion provides React-based tools for custom video compositions.

How is VibeMovie different from asciinema?

VibeMovie renders a summary from supplied events. asciinema records and streams terminal output.

Can VibeMovie work offline?

VibeMovie renders Hyperframes HTML without remote assets or API keys. Its cinematic engine requires hosted API access.

Does VibeMovie export MP4 without credentials?

VibeMovie defaults to HTML when no cinematic credentials are available. MP4 generation requires a WaveSpeed key and FFmpeg.

Does VibeMovie read Claude Code or Codex logs automatically?

VibeMovie accepts JSON event input rather than scanning harness logs. Supply an event array through a file, stdin, the library, or MCP.

Can VibeMovie use my existing Sora or Replicate account?

VibeMovie has no Sora or Replicate adapter in this version. The cinematic pipeline calls fixed WaveSpeed model endpoints.

Are all output ratios available for cinematic MP4?

VibeMovie supports three ratios in Hyperframes HTML. Cinematic assembly currently normalizes video to 1280×720.

License

MIT.

來源:README.md,提交 90ff559

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v0.2.3最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分

其他 Aibenchmarkindex 整合