OpenChatCut

OpenChatCut

简体中文 · English

开源 ChatCut 替代 · Agent-native · local-first AI 视频编辑器

让 Codex、Claude Code 和内置 Agent 直接读取、剪辑并导出可继续编辑的真实视频工程。 官网:openchatcut.com

产品介绍 · 产品导览 · 快速开始 · Agent / MCP · 社区 · 赞助 · 更新日志 · Star 趋势 · 参与贡献

GitHub Repository Discord 社区 Status Local First TypeScript React Remotion Electron MCP

OpenChatCut - 带真实时间线的开源 AI Agent 视频编辑器 | Product Hunt

OpenChatCut 编辑器总览:Agent 工作台、素材池、预览窗口与多轨时间线

从一句话到真实时间线:Agent、素材、预览、动态图形、转场、特效与多轨音频在同一个工程中协作。

--- ## OpenChatCut 是什么 OpenChatCut 是 **开源 ChatCut 替代方案**:把 **对话式 Agent** 和 **专业时间线编辑** 放在同一工作区的 AI 视频编辑器。独立开源(AGPL),与商业版 ChatCut 无隶属关系。 **OpenChatCut = 本地视频工程 + 多轨时间线 + AI Agent + MCP + 可交付导出。** 它不是只生成一段不可修改的视频。每次编辑都会落到真实工程中的轨道、片段、转场、字幕、特效和素材上;你可以继续手动调整,也可以撤销、重做、保存版本或交给另一个 Agent 接着完成。 它适合希望让 AI 真正参与剪辑流程、同时保留专业编辑控制权的创作者和开发者,而不是每次都从一个空白聊天框或不可修改的生成结果重新开始。 - 官网:[https://openchatcut.com](https://openchatcut.com) - 开源 ChatCut 替代说明:[https://openchatcut.com/zh/blog/open-source-chatcut-alternative](https://openchatcut.com/zh/blog/open-source-chatcut-alternative) - ChatCut 与 OpenChatCut 对比:[https://openchatcut.com/zh/blog/chatcut-vs-openchatcut](https://openchatcut.com/zh/blog/chatcut-vs-openchatcut) - 🤖 **Agent-native**:内置 Agent 与外部 MCP Agent 共用同一套编辑工具。 - 🎞️ **真实时间线**:多视频轨、多音频轨、转场、特效、LUT、缩放和关键帧。 - 📝 **文字稿驱动**:词级转写、删词剪辑、停顿处理、说话人和字幕联动。 - ✨ **生成与素材**:图片、视频、语音、音乐、音效及在线素材检索。 - 🧩 **MG 与 WebGL**:动态图形模板、自定义 shader、视觉特效和转场。 - 📦 **可交付导出**:MP4、音频、字幕、FCPXML 和工程数据。 - 🖥️ **Local-first**:工程和素材优先保存在本机,密钥只进入服务端。 ## 社区 加入 OpenChatCut 社区,交流使用心得、功能建议与开发进展: - [加入 Discord](https://discord.gg/bSGUAeWYkh) - 使用微信扫描下方二维码加入微信群。


OpenChatCut 微信社区二维码

--- ## 赞助 如果 OpenChatCut 对你有帮助,欢迎通过 Ko-fi 或爱发电支持项目持续开发。

通过 Ko-fi 支持项目 通过爱发电支持 OpenChatCut

--- ## 产品导览 下面均为 OpenChatCut 中的真实工程与编辑状态,而不是静态界面稿。
OpenChatCut 本地工程管理界面
本地工程管理 — 创建、导入、复制、导出并继续编辑多个真实工程。
Agent 生成音乐并编辑海风日记工程的转场和多轨时间线
Agent 驱动的完整剪辑 — 生成音乐、调用工具并把转场、字幕与多轨素材写入时间线。
Agent 工具执行记录与 Motion Graphics 资源库
Motion Graphics 与 Agent — 浏览动态图形模板,也可以让 Agent 生成并组合可继续编辑的 MG 片段。
OpenChatCut WebGL 视觉特效资源库
WebGL 视觉特效 — 像素化、双色调、鱼眼、万花筒、柔化与漏光等效果可直接应用到片段。
OpenChatCut 镜头运动与缩放效果资源库
镜头运动与缩放 — 推拉、慢推、快速缩放和缓动镜头效果与时间线协同工作。
OpenChatCut 使用东京塔风景预览不同 LUT 色彩风格
LUT 与色彩风格 — 使用统一参考画面实时比较相机转换与胶片风格。
--- ## 为什么是 OpenChatCut 传统编辑器擅长精细操作,一次性 AI 生成器擅长快速出片。OpenChatCut 把两者连成同一个可持续编辑的工程: | 能力 | 传统时间线编辑器 | 一次性 AI 视频生成 | **OpenChatCut** | |---|:---:|:---:|:---:| | 精确到轨道和片段 | ✅ | ❌ | **✅** | | 自然语言修改工程 | ❌ | ✅ | **✅** | | 修改可检查、可撤销 | ✅ | 通常不可 | **✅** | | 文字稿与画面联动 | 部分支持 | ❌ | **✅** | | Codex / Claude Code 直接操作 | ❌ | ❌ | **✅ MCP** | | 内置 Agent 与外部 Agent 协作 | ❌ | ❌ | **✅ 同一工具面** | | 本地工程与 BYOK | 视产品而定 | 通常云端 | **✅** | 核心编辑循环: ```text 描述目标 → Agent 读取工程 → 生成可验证编辑 → 写入时间线 → 预览 / 调整 / 撤销 → 字幕与混音 → 导出 ``` --- ## 核心能力 | 领域 | 已实现能力 | |---|---| | 时间线 | 多轨、移动、裁剪、切分、波纹编辑、吸附、关键帧、标记、撤销与重做 | | 视觉 | WebGL 特效、LUT、色度键、缩放、转场、自定义 shader | | 音频 | 多音轨、音效、背景音乐、旁白录制、响度、自动闪避、人声隔离 | | 文字稿 | 转写任务、词级编辑、停顿压缩、查找、说话人和片段视图 | | 字幕 | 自动字幕、命名样式、翻译、时间线 overlay、SRT 导出 | | MG | 内置动态图形模板、安全沙箱、自定义模板与视频化 | | AI 生成 | 图片、视频、语音、音乐和音效任务,支持进度追踪 | | 素材 | 上传、文件夹、在线图片/视频/音频检索、Firecrawl 视觉素材兜底 | | 导出 | MP4、音频、字幕、FCPXML、工程导入导出、导出历史、硬件感知的 H.264 加速和资源感知的导出排队 | | Agent | 内置对话 Agent、技能系统、提案式编辑、外部 Streamable HTTP MCP | --- ## 社区资源库 [OpenChatCut 社区资源库](https://openchatcut.com/zh/resources)用于发现、安装和分享可复用的 MG 动画、音效、转场、特效、缩放和 LUT。

OpenChatCut 社区资源库

### 发现与安装 - 悬停视觉卡片查看完整变化,下载前可直接试听音频资源。 - 复制资源的安装 URL 到 OpenChatCut 扩展中心,或下载原始资源包。 - 在编辑器内浏览官网目录,并在本机管理已安装扩展。 ### 贡献资源 1. 打开[贡献资源](https://openchatcut.com/zh/resources/submit),选择资源分类。 2. 上传资源与该分类要求的预览输入,网站会渲染用于公开展示的预览。 3. 填写作者和许可证信息,提交审核;审核通过后公开上架。 可安装的视觉资源沿用编辑器的 `openchatcut-plugin@1` 格式与运行时校验。OpenChatCut 官方资源使用 MIT 许可证;社区投稿者在提交时选择许可证,发布卡片会显示作者与许可信息。 --- ## 典型使用场景 - **口播与访谈精剪**:转写音视频,按文字删除口误、停顿和冗余内容,再自动生成字幕。 - **多素材快速成片**:导入视频、图片和音频,让 Agent 完成粗剪、转场、配乐和节奏调整。 - **短视频与社交内容**:重构画幅,生成标题、字幕、旁白、音乐和视觉包装。 - **Motion Graphics**:使用内置模板或让 Agent 生成可继续编辑的动态图形片段。 - **开发者自动化**:通过 MCP 让 Codex、Claude Code 或其他兼容客户端读取并修改真实工程。 ## 使用流程 1. 创建工程并导入本地素材。 2. 在时间线上手动剪辑,或直接描述想要的结果。 3. Agent 读取工程上下文并调用编辑工具。 4. 检查提案、预览画面,再应用、调整或撤销。 5. 完成字幕、音频、特效和色彩处理。 6. 导出视频、音频、字幕、FCPXML 或完整工程。 --- ## 快速开始 ### 桌面安装包 从 [GitHub Releases](https://github.com/0xsline/OpenChatCut/releases/latest) 下载最新的 macOS、Windows 与 Linux 构建。目前提供 Apple Silicon、Intel Mac 的 DMG、Windows x64 安装包,以及 Linux x64 AppImage。 这些仍是早期构建。macOS 安装包尚未签名和公证,首次启动时可能需要在系统设置中手动允许。 ### 从源码运行 需要 Node.js 24.x 和 npm。`package.json` 会约束支持的 Node.js 范围,`.nvmrc` 可供 Node 版本管理器直接选择对应主版本。 ```bash git clone https://github.com/0xsline/OpenChatCut.git cd OpenChatCut npm install cp .env.example .env.local npm run dev ``` 打开: ```text http://localhost:5199 ``` `.env.local` 中只需填写你实际使用的模型或素材服务。没有配置的第三方能力会明确提示缺少对应 Key,不影响本地时间线编辑、内置素材和已配置的其他能力。 ### 内置 Agent 登录方式 - **API Key**:打开**设置 → Agent 模型**,选择厂商并保存 API Key 与模型;密钥始终留在服务端。 - **ChatGPT 订阅**:先安装官方 Codex CLI 0.146.0 或更高版本,再进入**设置 → Agent 模型 → OpenAI · Codex**。可使用浏览器或设备代码登录、读取账号可用模型,并按模型选择推理强度(或保留模型默认值),再在聊天区的模型选择器中切换到 Codex。OpenChatCut 使用独立的 Codex 配置目录;凭据存储、令牌续期与退出均由官方 CLI 负责,OAuth 令牌不会暴露给浏览器。 - **Claude 订阅**:OpenChatCut 不接收 Claude OAuth 凭据;请通过下文的本机 MCP 连接使用 Claude Code。内置 Agent 仍可通过 Anthropic API Key 使用 Claude。 本地 H.264 导出会在 macOS 上优先使用 VideoToolbox,在兼容的 Windows 设备上优先使用 NVENC,失败时自动回退软件编码。可用 `OPENCHATCUT_RENDER_CONCURRENCY` 和 `OPENCHATCUT_MAX_ACTIVE_EXPORTS` 调整渲染并发及重型导出上限,用 `OPENCHATCUT_DISABLE_HARDWARE_ENCODING` 关闭硬件编码,或用 `OPENCHATCUT_H264_ENCODER` 覆盖 FFmpeg 侧的编码器选择;详见 [`.env.example`](.env.example)。 ### 桌面端开发 ```bash npm run desktop:dev ``` 桌面端使用 Electron 壳层和同一套内嵌服务,Web 开发版与桌面版共享工程、Agent、生成和导出逻辑。 --- ## 项目状态 OpenChatCut 目前处于积极开发阶段,编辑器、工程格式和 Agent 工具仍会持续迭代。预构建的 macOS、Windows 与 Linux 安装包已发布到 [GitHub Releases](https://github.com/0xsline/OpenChatCut/releases);开发和排障时,从源码运行仍是最透明的方式。 基础时间线、本地工程、内置素材和手动编辑不依赖云服务。AI 模型、在线素材、生成、转写等联网能力只在你配置对应服务后启用。 --- ## 在 Codex / Claude Code 中使用 安装单入口 OpenChatCut Agent Skill: ```bash npx skills add 0xsline/OpenChatCut ``` 然后对 Agent 说“设置 OpenChatCut”。安装的路由 Skill 会注册本地 MCP 连接,并按需加载编辑器内置的 15 个专项 Skill,避免技能列表出现大量入口。 OpenChatCut 暴露 Streamable HTTP MCP: ```text http://localhost:5199/api/external-mcp/mcp ``` 仓库根目录的 `.mcp.json` 已包含本地连接。使用时间线工具前,先运行 OpenChatCut 并打开目标工程;工程列表、创建和定位工具不要求编辑器保持打开。 Codex App/CLI 与 Claude Code 使用同一套会话流程: 1. 调用 `begin_edit_session`,保存返回的 `editSessionId`,并将 `approvalMode` 设为 `manual`(默认)或 `auto`。 2. 后续每个工程读取/编辑工具都传入该 id;所有修改只进入隔离草稿。 3. 草稿完成后调用 `review_edit_session`。 4. `manual` 模式下,在已打开的 OpenChatCut 工程内审阅、预览、勾选并应用或拒绝提案;`auto` 模式下,`review_edit_session` 会立即应用完整草稿。客户端可轮询 `get_edit_session` 获取 `applied`、`rejected` 或 `discarded` 状态。 Codex 或 Claude 内的授权决定客户端能否调用工具。只有 `manual` 会话需要 OpenChatCut 工程内审批;`auto` 会话会明确跳过该审批。两种模式应用的操作都会原子提交为一个撤销节点。 如果 `auto` 会话已过期,它会直接返回错误而不会降级为人工审批;请丢弃后重新创建会话。 会话只暴露可安全进入草稿的工程读取/编辑工具。生成、导出、删除工程及其他会立即产生副作用的工具不在会话中开放,因为拒绝提案时无法回滚这些副作用。 ### Codex 在 Codex 配置中加入: ```toml [mcp_servers.openchatcut] url = "http://localhost:5199/api/external-mcp/mcp" ``` ### Claude Code ```bash claude mcp add --transport http openchatcut \ http://localhost:5199/api/external-mcp/mcp ``` 然后可以直接对 Agent 描述编辑任务: ```text 启动一个 OpenChatCut 编辑会话,读取草稿,在第二条音频轨的 8 秒处添加划盘音效, 并给相邻视频添加故障转场。提交草稿供审阅,等待我在 OpenChatCut 内应用后, 再报告修改已经生效。 ``` 外部 Agent 调用的仍是编辑器内部同一套工具和 `EditorCore` 命令,不存在两套互相漂移的工程格式;外部草稿准备期间不会修改正式时间线。 ### MCP 访问保护 自行暴露 MCP 入口时可配置: ```bash OPENCHATCUT_MCP_TOKEN=your-token OPENCHATCUT_EDITOR_URL=https://your-editor.example.com ``` 客户端使用 `Authorization: Bearer `。当前桥接面按单机单用户设计,不作为多租户服务。 --- ## 架构

OpenChatCut 运行时架构:Agent、MCP、EditorCore、本地存储、预览与渲染导出

同一套 Agent 工具和 EditorCore 命令连接内置 Agent、外部 MCP、真实时间线、本地数据与交付导出。

| 层 | 技术 | |---|---| | 前端 | React 19、TypeScript 6、Vite 8 | | 编辑核心 | 不可变时间线状态、命令层、提案式应用 | | Agent | Vercel AI SDK 7(Anthropic、OpenAI、Gemini、Kimi、Qwen、GLM、DeepSeek、MiniMax、小米 MiMo、Mistral 与兼容接口)、Agent Skills、MCP SDK | | 预览与视觉 | Remotion Player、WebGL / GLSL | | 服务端 | Vite / Electron 双宿主插件、服务端密钥仓 | | 持久化 | `~/.openchatcut` 下的本机共享工程库、IndexedDB 缓存、可配置本地素材目录、可选 Cloudflare R2 | | 桌面端 | Electron 43 | | 导出 | Remotion、FFmpeg、FCPXML、SRT | ### 目录速览 | 目录 | 职责 | |---|---| | `src/editor/` | 时间线状态与命令,保持 UI 和 LLM 无关 | | `src/agent/` | Agent 装配、工具、技能、进度和设置 | | `src/library/` | MG、音效、转场、特效、LUT 等资源库 UI | | `src/transcript/` | 转写、词级编辑和文字稿 UI | | `src/captions/` | 字幕模型、样式、控制和预览层 | | `src/gl/` | WebGL 特效、转场与 shader runtime | | `src/generate/` | 图片、视频、语音、音乐和音效生成客户端 | | `src/persist/` | 工程、聊天、版本和媒体持久化 | | `server/plugins/` | 生成、转写、素材、导出和存储服务 | | `desktop/` | Electron 主进程与内嵌服务 | | `remotion/` | 无头渲染和导出管线 | --- ## 数据与隐私 - 工程、聊天记录和版本数据保存在 `~/.openchatcut` 下的本机共享工程库中;IndexedDB 用于浏览器端缓存和旧数据迁移。 - 用户媒体保存在本地素材目录,可自行备份和迁移。 - AI 请求是否离开本机,取决于你配置的模型、生成或素材服务。 - 未配置的云端能力不会影响本地时间线和已有素材编辑。 - 对外开放 MCP 时,应配置 Bearer Token,并限制编辑器入口的网络范围。 --- ## 安全模型 - 密钥只进入服务端配置;浏览器端禁止使用 `VITE_` 暴露供应商密钥。 - LLM 输出、插件包、模板代码和用户输入都在信任边界处校验。 - MG 与 shader 代码进入受限沙箱,恶意模板由专门检查脚本拦截。 - Agent 只经 `EditorCore` 命令改工程,编辑可追踪、可撤销。 - MCP 默认绑定本机;公网入口支持 Bearer Token。 - 本地素材目录和 R2 凭据由服务端管理,不写入工程 JSON。 --- ## 开发与验证 ```bash # 类型检查与生产构建 npm run build # 核心回归检查 npm test # 静态检查 npm run lint ``` 修改 Agent、时间线、预览或导出后,至少运行: ```bash npx tsc --noEmit npm test npm run build ``` --- ## 技术基础 OpenChatCut 基于以下核心项目与规范构建: | 项目 / 规范 | 在 OpenChatCut 中的作用 | |---|---| | [ChatCut-Inc/agent-plugin](https://github.com/ChatCut-Inc/agent-plugin) | Agent Skills 的改造基础。OpenChatCut 基于该插件的技能结构与工作流,针对本地编辑器、存储、MCP 和工具架构进行了适配。详见 [Agent Skills 来源说明](src/agent/skills/NOTICE.md)。 | | [Remotion](https://www.remotion.dev/) | React 视频预览、合成与服务端渲染的核心基础。 | | [Model Context Protocol](https://modelcontextprotocol.io/) | Codex、Claude Code 等外部 Agent 访问工程与时间线工具的协议基础。 | | [Vercel AI SDK](https://ai-sdk.dev/) | 内置 Agent 的多厂商模型流式响应与工具调用基础。 | | [tt-a1i/archify](https://github.com/tt-a1i/archify) | README 运行时架构图的定义、校验与 SVG 生成工具。 | 这里列出的是项目的主要技术基础,不替代各依赖、字体和内置二进制随附的许可证。完整 JavaScript 依赖版本见 `package-lock.json`,字体授权见 [`assets/fonts/LICENSES.md`](assets/fonts/LICENSES.md)。 --- ## 更新日志 重要变更见中英双语的 [`CHANGELOG.md`](CHANGELOG.md),所有已发布安装包与源码包见 [GitHub Releases](https://github.com/0xsline/OpenChatCut/releases)。 --- ## Star 趋势

OpenChatCut Star 增长趋势图

--- ## 许可证 OpenChatCut 采用 [GNU Affero General Public License v3.0 或更高版本](LICENSE)。 第三方组件与资产仍分别受其自身许可证约束。 --- ## 贡献 1. 从 `main` 创建分支。 2. 非平凡逻辑附带一个可运行检查。 3. 提交前运行 `npm test`、`npm run lint` 和 `npm run build`。 4. 发起 Pull Request,并附上涉及 UI 或视频行为的截图/验收证据。 问题与功能建议请使用 [GitHub Issues](https://github.com/0xsline/OpenChatCut/issues)。