Note
Plein 目前处于测试迭代阶段,最新版本见 Releases(macOS Apple 芯片)。主流程已在真实平台(阿里云百炼、豆包语音、MiniMax)上完成端到端验证,但版本之间的数据格式和交互仍可能调整,重要项目请定期导出项目包备份。
应用标识在 0.2.0 变更,此前的 0.1.x 安装包已下架,也可能无法自动更新到新版本:装过的请手动下载最新版覆盖安装,数据目录不变。
- 全流程呈现在画布上:剧本、角色卡、分镜表、镜头图、视频、配音、序列都是画布上连好线的节点,没有黑盒。修改任意一步,下游哪些节点需要重新运行一目了然。
- 改一处,只重做一处:改了剧本、台词或角色设定,「查看影响」列出受影响的镜头和建议,只重做勾选的,其余结果原样保留;生成前可以看到实际送进模型的提示词和参考图。
- 先审核,再付费生成:插入模板只搭建骨架,不会自动调用模型。先审核分镜和镜头图,再分批生成视频和配音;任意镜头均可更换候选、重新生成或手动替换。
- 数据由你掌控:一个 Node 进程、一个 SQLite 文件、一个素材目录。密钥只存在本机服务端,不进画布、不进浏览器。
- 接国内主流平台:火山方舟、豆包语音、阿里云百炼、MiniMax 开箱可选,节点按所选模型自动给出参数。
- 由 AI 代为操作:内置智能体「小满」可以读取画布、创建节点、批量生成分镜、加工素材;也可以交给本机已登录的 Claude Code / Codex,或通过 MCP 让 Cursor、Claude Desktop 直接操作画布。
- PixiJS(WebGL)渲染的无限画布,基于 Yjs 的文档模型:撤销重做、刷新和重启不丢、多标签页同步
- 图片、视频、音频、Markdown、TXT、DOCX 参考正文拖拽、粘贴或整个文件夹导入;视频和音频用自绘播放器
- 小地图、图层侧栏、故事板视图、整理画布、多选浮动工具条、⌘K 命令面板、浅色 / 深色主题
- 文本、对话(LLM)、图片、视频、配音、配乐节点;参数表单按所选模型生成,9 种画幅
- 视频模式由你指定:文生视频、首帧、首尾帧、多模态参考,可选生成数量和同步音频
- 局部重绘:在图上框选或涂抹要改的区域,只重画这块,其余保持原图(百炼万相图像编辑,原生蒙版)
- 取帧续镜:从视频的尾帧或任意一秒接出下一个镜头,沿用模型和画幅,记下父视频;上一个镜头重生成后提示首帧已旧,一键换新
- 分镜组:把 Frame 里的图片按顺序编号,调顺序、一键排版,拼成一张大图并标出实际像素;宫格切分出来的直接成组,能回到原图(本地拼图,不调模型)
- 镜头与风格条:运镜(含速度)、景别、角度、光影、风格各选一项,拼成提示词末尾可见可改的一两行,提示明显冲突,风格可存为风格卡;这些只是提示词预设,效果因模型而异
- 提示词里
@引用角色 / 场景 / 道具 / 风格卡,重名可消歧;行首/选用三视图、表情九宫格、多机位、四格剧情等预设 - 模型由你选定:设置里给每种能力指定默认模型,新建节点直接带上,节点上可以另选;不会因为启用了新平台而悄悄换模型
- 提示词优化与翻译;每次生成保留候选和历史,下游只用你采用的那一版
- 图片精修:百炼原生 AI 放大 / 扩图,Seedream 透明主体图层;视频生成可接图片、视频与音频参考,按所选模型校验能力
| 分镜表 | 序列编辑器 |
|---|---|
![]() |
![]() |
- 一键插入短剧模板:创意 → 剧本 → 角色与场景抽取 → 设定卡 → 分镜 → 镜头 → 序列
- 分镜用表格编辑;展开成镜头节点后再改表格,Plein 会列出差异,可选择只同步未手动修改的字段
- 镜头图、视频、配音分阶段批量生成,失败的任务可单独重试
- 3D 构图(实验):摆人物占位、基础姿态、场景件和机位,截一张灰模构图连到镜头图作参考;截图不随之后的改动变化
- 序列编辑器:排序、入出点、画面、对白、音效、配乐、字幕五条轨的多轨时间线,逐段转场与变速、配乐闪避、响度标准化,字幕样式,浏览器内按导出时间线预览
- 服务端 ffmpeg 导出 MP4(9:16 / 16:9,1080p / 720p),烧录中文字幕,可按语音识别对齐字幕时间轴
- 导出剪辑工程(OTIO / FCPXML / SRT),连同素材打包
- 剪辑内返工:复制来源当前输入为独立草稿,修改并生成候选,对比后只替换选中实例,保留修剪、速度和声音设置
- 逐句字幕可修改文本、时间及显示状态,识别全部对白后供预览与导出共用;分镜带稳定台词 ID、角色绑定和音效节点
- 分镜图与已有配音可先做独立节奏样片,本地导出草稿;创作引导、人工镜头验收、生成前批量清单、相邻镜头连续性及实际成片交付记录见从样片到交付
- 图片:裁剪、旋转、镜像、宫格切分
- 视频:截取、变速、抽帧入库、音视频分离
- 音频:截取、手动切分、保音调变速
每次加工都会生成一份带来源记录的新素材,原文件保持不变。
选中素材后的“媒体工具”按本地处理、AI 草稿和提示词配方分组;多选可以批量处理适用素材。缺少本机能力或可用模型时显示原因,创建 AI 草稿不会自动生成。
- 一个项目对应一部作品,可包含多张画布
- 资产更新按画布和字段确认同步,也可固定旧版;本机自动备份、空间统计、恢复副本和素材回收见本机数据维护
- 资产库分角色、场景、道具、风格、特效五类,跨画布、跨项目复用。角色有全身 / 半身 / 设定图 / 情绪九宫格槽位、标签和音色;画布卡片和资产库可以双向同步
- 场景视角档案:同一地点保存命名机位、描述与参考图,用
@场景/视角明确引用,支持改名旧名和按字段同步 - 角色图片制作:从四类图片槽位创建草稿,采用候选后归档回原角色并设置独立封面;旧图保留,过期确认不会覆盖新内容
- 资产库的「音色」页管理自己的音色:上传一段人声样本在 MiniMax 或豆包上复刻,或登记平台上已有的音色,复刻好的音色可在角色卡和配音节点里直接选
- 本机第三方插件:放进数据目录的 plugins/,设置里看过权限再启用;插件在单独的进程里运行,联网和密钥都经 Plein 按清单放行,见 插件
- 项目包(.plein):首页导出整个项目(画布、用到的素材、资产库条目、采用结果和运行记录,可选历史候选),在另一台电脑或数据目录导入;导入前校验版本与文件哈希并列出缺失的模型、音色和插件,不含平台密钥和登录信息
- 单节点运行、运行到此处(含上游)、运行下游、整组运行;没改动的节点命中缓存,不重复花钱
- 任务队列持久化在 SQLite 中,关闭页面后任务继续自动运行;服务重启后自动恢复查询已提交的远端任务
- 任务面板显示进度、自动重试和失败原因;参数或上游改过的节点标出「需要重跑」
- 实际输入预览:生成前列出所用模型、展开
@后的提示词、实际送入和因上限放不下的参考图 - 查看影响:改动之后列出受影响的节点、原因和建议(重做 / 审查 / 保留),按依赖顺序只重做勾选的,能沿用的候选直接沿用
- 失败恢复:提交结果未知、轮询或下载失败时不自动重复提交(避免重复计费),任务面板给出重新获取、填平台任务 ID 续查、确认未受理后重提等处理方式
- 内置智能体:用默认对话模型(需支持工具调用)操作画布,无需安装额外软件
- 本机 CLI:调用这台电脑上已登录的 Claude Code 或 Codex,用你自己的账号和额度
- 对外开放 MCP:Claude Code、Claude Desktop、Cursor 等可以连进本机 Plein
- 付费生成和删除操作执行前需确认;支持计划模式;每轮改动可整轮撤销
- 修改方案:先列出要改的字段、要重做的节点和预计调用次数,可以在卡片上逐项改写、去掉不要的目标或步骤,再按「只改文字 / 只出候选图 / 全部」的范围批准,批准前画布变了就要求重新检查
详见 智能体与 MCP。
| 平台 | 对话 | 图片 | 视频 | 语音与音频 |
|---|---|---|---|---|
| 火山方舟 | Doubao Seed | Seedream 5.0 | Seedance 2.0 / 2.5 | — |
| 豆包语音 | — | — | — | TTS 2.0、Seed Audio 音乐音效、极速识别 |
| 阿里云百炼 | 千问(含工具调用) | Qwen Image、万相 | Wan 3.0 | Qwen TTS |
| MiniMax | M3 / M2.7 | image-01 | H3 / H3-Max | speech-2.8、Music 3.0 |
各平台的参数映射与能力边界见 模型平台接入。新平台、节点和模板可以通过插件接入,见 插件。
从 Releases 下载 Plein-<版本>-macOS-arm64.dmg(Apple 芯片),拖进「应用程序」即可。已签名并经 Apple 公证,自带 ffmpeg,启动后会自动检查更新,也可以从菜单「Plein → 检查更新…」手动检查。Intel Mac 和 Windows 暂未提供,可以从源码打包:pnpm install && pnpm dist:desktop。
git clone https://github.com/hoobnn/plein.git && cd plein
docker compose up -d不提供预构建镜像,compose 会从源码构建。打开 http://localhost:8787,镜像内置 ffmpeg 和中文字体,画布、素材和数据库都在 plein-data 卷里,备份它即可。
默认只绑定本机且免登录。要让其他设备访问,按 compose.yaml 里的注释改端口并删掉 PLEIN_AUTH,首次访问会要求创建所有者账号。
需要 Node ≥ 24、pnpm 12 和本机 ffmpeg(用于视频封面、音频波形和导出;烧字幕需要带 libass 的构建)。
pnpm install && pnpm build && pnpm start # http://localhost:8787- 打开设置 →「模型平台」,填写密钥,保存并启用。四家真实平台默认关闭;密钥在此处配置即可,无需写入环境变量。
- 新建项目,在空白处双击插入「短剧模板」,或从空白画布开始。
- 「模型平台」顶部的「默认模型」里确认每种能力用哪个模型(启用平台后会先填上它的第一个模型);新建的节点带上默认模型,也可以在节点的生成器里另选,然后运行。
环境变量
| 变量 | 默认 | 说明 |
|---|---|---|
PLEIN_HOST / PLEIN_PORT |
127.0.0.1 / 8787 |
监听地址 |
PLEIN_DATA_DIR |
./data |
数据目录 |
PLEIN_AUTH |
本机地址为 none,否则 password |
password 时用 Better Auth 登录,只允许一个所有者账号 |
PLEIN_PUBLIC_URL |
按请求推断 | 反向代理后的对外地址 |
PLEIN_ALLOWED_HOSTS |
空 | 免登录模式下额外允许的主机名,逗号分隔 |
PLEIN_MAX_UPLOAD_MB |
2048 |
单个文件上限 |
PLEIN_MAX_JOBS |
4 |
同时运行的节点任务数上限 |
PLEIN_FFMPEG_PATH / PLEIN_FFPROBE_PATH |
从 PATH 查找 |
ffmpeg / ffprobe 可执行文件 |
PLEIN_SUBTITLE_FONT |
fontconfig 里的 Noto Sans CJK SC | 字幕字体文件,导出烧字幕和剪辑预览共用 |
PLEIN_AGENT |
免登录模式下开启 | 设为 0 关闭本机 CLI 智能体 |
数据存在哪
- Docker:
plein-data卷 - 源码运行:仓库下的
data/,可用PLEIN_DATA_DIR覆盖 - 桌面端:macOS
~/Library/Application Support/plein/data,Windows%APPDATA%\plein\data,Linux~/.config/plein/data
目录结构在三种方式下相同,可以互相拷贝。里面是 plein.db(SQLite)、assets/(按内容哈希存的素材)、exports/ 和平台密钥文件(权限 600)。
完整索引见 docs/。常用的几篇:
开发环境、命令、代码结构、分支与提交规范见 CONTRIBUTING.md。
React 19 · Vite+ · Tailwind v4 · PixiJS v8 · Yjs · Hono · SQLite(Drizzle)· Better Auth · ffmpeg · Electron
GNU AGPL v3.0:允许商用、修改与分发,但衍生作品(包括通过网络提供的服务)必须以相同许可证开源。


