Skip to content
hoobnnPublic

About

Plein:开源 AI 无限画布,让故事在这里展开。从一句创意开始,剧本、分镜、镜头与配音在画布上铺开,和 AI Agent 一起完成你的作品 · Open-source AI infinite canvas where stories unfold

Topics

Resources

Contributing

Stars

3 stars

Watchers

0 watching

Forks

Latest commit

 

History

1,120 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Plein

Plein

开源 AI 无限画布,让故事在这里展开。
从一句创意开始,剧本、分镜、镜头与配音在画布上铺开,和 AI Agent 一起完成你的作品。

CI License: AGPL v3 Release Platform

简体中文 · English

官网 · 快速开始 · 功能 · 文档 · 参与开发

Note

Plein 目前处于测试迭代阶段,最新版本见 Releases(macOS Apple 芯片)。主流程已在真实平台(阿里云百炼、豆包语音、MiniMax)上完成端到端验证,但版本之间的数据格式和交互仍可能调整,重要项目请定期导出项目包备份。

应用标识在 0.2.0 变更,此前的 0.1.x 安装包已下架,也可能无法自动更新到新版本:装过的请手动下载最新版覆盖安装,数据目录不变。

画布:每个镜头的分镜图、视频和逐句配音

为什么是 Plein

  • 全流程呈现在画布上:剧本、角色卡、分镜表、镜头图、视频、配音、序列都是画布上连好线的节点,没有黑盒。修改任意一步,下游哪些节点需要重新运行一目了然。
  • 改一处,只重做一处:改了剧本、台词或角色设定,「查看影响」列出受影响的镜头和建议,只重做勾选的,其余结果原样保留;生成前可以看到实际送进模型的提示词和参考图。
  • 先审核,再付费生成:插入模板只搭建骨架,不会自动调用模型。先审核分镜和镜头图,再分批生成视频和配音;任意镜头均可更换候选、重新生成或手动替换。
  • 数据由你掌控:一个 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

各平台的参数映射与能力边界见 模型平台接入。新平台、节点和模板可以通过插件接入,见 插件。

快速开始

桌面端(macOS,推荐)

从 Releases 下载 Plein-<版本>-macOS-arm64.dmg(Apple 芯片),拖进「应用程序」即可。已签名并经 Apple 公证,自带 ffmpeg,启动后会自动检查更新,也可以从菜单「Plein → 检查更新…」手动检查。Intel Mac 和 Windows 暂未提供,可以从源码打包:pnpm install && pnpm dist:desktop。

Docker 自部署

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

接入模型

  1. 打开设置 →「模型平台」,填写密钥,保存并启用。四家真实平台默认关闭;密钥在此处配置即可,无需写入环境变量。
  2. 新建项目,在空白处双击插入「短剧模板」,或从空白画布开始。
  3. 「模型平台」顶部的「默认模型」里确认每种能力用哪个模型(启用平台后会先填上它的第一个模型);新建的节点带上默认模型,也可以在节点的生成器里另选,然后运行。
环境变量
变量 默认 说明
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:允许商用、修改与分发,但衍生作品(包括通过网络提供的服务)必须以相同许可证开源。

About

Plein:开源 AI 无限画布,让故事在这里展开。从一句创意开始,剧本、分镜、镜头与配音在画布上铺开,和 AI Agent 一起完成你的作品 · Open-source AI infinite canvas where stories unfold

Topics

Resources

Contributing

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages