5 分钟上手 OpenCut:如何从本地运行到提交第一个 PR
2026/8/29 8:26:39 网站建设 项目流程

5 分钟上手 OpenCut:如何从本地运行到提交第一个 PR

【免费下载链接】OpenCutThe open-source CapCut alternative项目地址: https://gitcode.com/GitHub_Trending/ap/OpenCut

OpenCut 是一款免费的开源视频编辑器,定位为 CapCut 的开放替代方案,目标覆盖 Web、桌面和移动端。它解决的是这类问题:你想要一个不锁死账号、不隐藏功能、代码完全可查的视频剪辑工具,却又不想为闭源软件付费。本文带你把它跑起来,并告诉你第一次该往哪儿贡献。

为什么选 OpenCut

三个理由,每条都有实据:

  • 完全免费且代码可查。项目采用 MIT 协议(即最宽松的开源许可之一),没有付费墙,也没有隐藏功能。
  • 一份代码库,三种端。核心用 Rust 写,同一套逻辑同时驱动 Web、桌面与移动端,而不是三端各写一遍再靠文档对齐。
  • 面向扩展的设计。重写路线明确列了 Editor API、第三方插件、MCP 服务(一种让 AI 工具调用编辑器的接口)和无头渲染(headless mode,指不开界面直接跑批处理)——你参与的是产品成型期,不是维护期。

5 分钟把编辑器跑起来:环境搭建与启动

打开终端,执行下面三步。

1 / 克隆仓库

git clone https://gitcode.com/gh_mirrors/ap/OpenCut cd OpenCut

2 / 安装工具链

OpenCut 用 moon(一个项目任务管理器)加 proto(moon 用来锁定工具版本的配套器)做构建。一行装好 moon 和 proto:

bash <(curl -fsSL https://moonrepo.dev/install/proto.sh)

Windows 用户在 PowerShell 里换irm https://moonrepo.dev/install/proto.ps1 | iex,shim 报权限错就先执行Set-ExecutionPolicy -Scope CurrentUser RemoteSigned

3 / 启动本地服务

在项目根目录装依赖并起 Web 端:

proto use moon run web:dev

看到页面即代表成功。需要另外两个端时:

moon run api:dev moon run desktop:dev

验证标准:浏览器访问http://localhost:5173,能看到首页就成功了。当前重写进行到这一步,首页会先显示占位文案,这是预期行为,不是你的环境坏了。API 端访问http://localhost:8787/health,返回{"healthy":true}即就绪;桌面端会弹出一个标题为「OpenCut」的窗口,说明 GPUI(Rust 的即时模式 GUI 框架)渲染链路已通。

功能速览:三端现在长什么样

桌面端:四块式编辑器骨架。布局在 shell.rs 里定义:上部三栏并排,分别是素材浏览、视频预览、属性检查器,各对应一个 Rust 面板文件(browser.rs / preview.rs / inspector.rs);整条底部是时间线面板。每个面板都是独立的 Entity,渲染时不会被反复销毁重建。

Web 端:品牌页 + 编辑器占位。路由在 routes/,首页是品牌落地页,编辑器路由/editor目前写着 "Coming soon"。技术栈是 React 19 + TanStack Router(基于文件的路由方案)+ shadcn/ui 组件库(ui/ 下 50 来个现成组件),UI 层已经齐,等业务逻辑接上。

API 端:Workers 上的骨架。apps/api/src/index.ts 用 Elysia(一个轻量的 Web 框架)跑了/health/echo两个端点,托管在 Cloudflare Workers(按请求计费、全球就近响应的服务器less平台)。它现在的职责很轻:健康检查、回显,为后面接 Editor API 和 MCP 服务留位置。

源码地图

路径负责什么
apps/desktop/src/Rust 桌面应用:shell.rs 拼四面板布局,panels/ 放四个面板,components/ 是基础控件(按钮、徽标、分隔线等)
apps/desktop/src/main.rs应用入口:建 GPUI 窗口,并自动处理 WSL 下的显示兼容
apps/web/src/routes/Web 端路由:index.tsx品牌页,editor.tsx编辑器占位
apps/web/src/components/ui/shadcn/ui 组件库,50+ 个现成控件
apps/api/src/index.tsElysia API:health、echo 端点,跑在 Cloudflare Workers 上

提交你的第一个 PR

1.去仓库 issues 区找标了「help wanted」或「good first issue」的任务;重写期没有成熟的任务池,issue 讨论区就是任务池,翻最近几条看维护者在排什么。

2.想动手但没方向,从 ui/ 组件库入手最稳:改样式、补无障碍、修交互,都是小步就能完成的活。

3.建分支:git checkout -b fix/xxxfeat/xxx

4.改完本地验证:Web 端跑moon run web:test,桌面端跑moon run desktop:check(两者都对应仓库里已定义的任务)。

5.提交并开 PR,描述里写清改了什么、为什么改;顺手 @ 原 issue 的维护者。

新手常见坑

  • Windows 上 shim 报"脚本被禁止执行"。一行解决:Set-ExecutionPolicy -Scope CurrentUser RemoteSigned
  • WSL 下 GPUI 窗口打不开。这是已知的 WSLg 兼容问题(项目会在 main.rs 里自动清理显示变量兜底);仍失败就换原生系统或虚拟机跑。
  • Linux 报 Vulkan / Wayland 相关错误。按 apps/desktop/README.md 的清单补依赖:libvulkan1libwayland-devlibx11-xcb-dev等。
  • moon run desktop:build卡很久。首次会从头编译 GPUI,慢是正常的;之后再跑就快了,别中途打断。

现在参与重写,是 OpenCut 最有回报的参与方式:架构还没定型,你的一个早期意见或一次提交,影响力比日后给成熟代码提补丁大得多。把仓库克隆到本地,把moon run web:dev跑通一遍,或者干脆去 issues 区盯一下讨论进度,看到顺手的任务就先动手。

【免费下载链接】OpenCutThe open-source CapCut alternative项目地址: https://gitcode.com/GitHub_Trending/ap/OpenCut

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询