Vean — 代理原生视频编辑核心:MLT之上的一个打字文档、编辑代数和诊断层(“视频语言服务器”)。AGPL-3.0。
概览
Vean Studio — 视频剪辑师,Agent Native·Vean.studio MLT之上,一个用于视频编辑的类型文档、编辑代数和诊断层——MLT的视频语言服务器。 状态:正在开发中。无头核心、动作运行时、React/Remotion 查看器和本地 Tauri 应用均在验证门后实现。包、发布及剩余广度工作均在 ROADMAP.md 中跟踪。 视频编辑在精心编写的命令代码中隐含地保持时间线的有效性,从不告诉任何人编辑为何有效或无效。这对人类拖拽剪辑来说没问题;但这对代理来说是敌对的——对任何想在上面构建不同界面的人。 Vean 对此进行了反转。a 是代理(或用户界面,或人类)通过一组闭合操作进行变异,每个操作: - a 表示 MLT 时间线——多轨、音频、关键帧、滤镜、过渡——可无损往返于 。
概述(AI 翻译)
vean studio — 视频剪辑师,Agent Native ·vean.studio
代理原生视频编辑核心。 一个类型文档,编辑代数,以及 MLT之上用于视频编辑的诊断层—— 一个视频语言服务器。
状态:活跃开发。无头核心,动作运行时,React/Remotion 查看器和本地Tauri应用在验证门后实现。包, 发布及剩余的广度工作均在 ROADMAP.md 跟踪。
为什么
视频剪辑师在精心编写的内部,隐含地维护时间线的有效性 命令代码,绝不要告诉任何人为什么编辑有效或不有效。没问题 对于拖拽弹夹的人类来说;它对特工——以及任何想要的人——都是敌对的 在上面做一个不同的界面。
Vean则将其颠倒。它是一个帧精确、理性时间的时间线模型 一个代理(或用户界面,或人类)通过一组闭合操作发生变异, 每个 在单帧渲染前报告其后果:
- 用于MLT时间线的类型IR——多轨、音频、关键帧、滤波器,
转换——无损往返于
.mltXML(格式为 Shotcut 和 Kdenlive 读写);
本页由 AI 翻译,技术细节请以原文为准。
README
以下为原文 README 节选,完整内容请查看原文。
vean
vean studio — Video Editor, Agent Native · vean.studio
The agent-native video editing core. A typed document, edit algebra, and diagnostics layer for video editing on top of MLT — a language server for video.
Status: active development. The headless core, action runtime, React/Remotion viewer, and local Tauri app are implemented behind verification gates. Package, release, and remaining breadth work is tracked in ROADMAP.md.
Why
Video editors maintain timeline validity implicitly, inside carefully-written command code, and never tell anyone why an edit is or isn’t valid. That’s fine for a human dragging clips; it’s hostile to an agent — and to anyone who wants to build a different UI on top.
vean inverts that. It is a frame-exact, rationally-timed model of a timeline that an agent (or a UI, or a human) mutates through a closed set of operations, each of which reports its consequences before a single frame renders:
- a typed IR for an MLT timeline — multi-track, audio, keyframes, filters,
transitions — that round-trips losslessly to
.mltXML (the format Shotcut and Kdenlive read/write); - a pure edit algebra —
op(state) → {state', consequences, inverse}— so every edit is legible, reversible, and identical whether a human or an agent issues it; - a diagnostics layer (the “LSP”): gaps/overlaps, out-of-bounds keyframes, A/V-sync hazards, dial-range violations, plus go-to-definition (resolve a param’s value at a frame, through clip → track → tractor → transition) and find-references (what uses this source, what ripples if I move this).
vean’s core is not a renderer, a motion-graphics engine, or a GUI. It delegates:
- Render →
melt(MLT/FFmpeg), driven as a separate process. The CLI/source install uses system deps; the Mac app can bundle pinned renderer sidecars. - Motion graphics → Remotion, as a producer
(pre-rendered alpha clips for export;
@remotion/playerfor live preview). - UI → the local Tauri Mac app in
app/, built on this core. The website is for download/docs, not a web editor.
The timeline core is stateless: files in, files out. Product coordination
state is local-only: CLI/LSP/MCP/app metadata lives in gitignored
.vean/vean.db and never replaces committed timeline files.
Architecture
Four layers:
- Core (headless) — the typed document + serialize/parse + keyframes +
edit algebra + diagnostics + the
melt/ffmpeg driver. - Action runtime — one typed registry for product behaviors, projected to
Commander CLI, MCP tools, deterministic LSP code actions, and the
Tauri app. Every public action is available through ergonomic commands or
vean action run --input-json .... - Agent bridge —
vean-lspfor ambient diagnostics/navigation/code
推荐工具
换一个关键词,或者移除筛选条件。
安装
npx skillfish add tshah-95/vean