影策
让一个故事,从文字走向银幕
影策是一个开源的 AI 影视与短剧创作工作台:用自由画布组织创作,用结构化工作流管理剧本、角色、场景和分镜,并通过统一的任务系统完成图片、视频、音频与文本生成。
项目仍在快速开发,数据结构和外部接口可能调整。默认适合个人、本地或可信环境部署;未经安全配置,不要直接作为公网多人服务使用。
在线演示:https://yingce.tv
账号/密码:test/test123456
赞助商
感谢以下赞助商对影策项目的支持:
| LOGO | 类型 | 赞助商名称 | 说明 | 网站 |
| --- | --- | --- | --- | --- |
|
| 商业 | ArtDance | 本项目 Seedance 模型的天使投资人。 | artbox.top |
|
| 商业 | soonstudio | API 一站式网站,自研系统,非 New API;支持手机、短信接码,覆盖国内外几乎所有模型 API 接口,并发高、稳定性强。源于开源,步入 AI 领域,感谢开源。 | soonstudio.ai |
|
| 商业 | Fluxion AI | 面向个人开发者、技术团队与企业,通过统一 API 接入并管理全球主流 AI 模型,根据不同模型与线路,API 调用成本较官方或基准价格可降低 40%—98%。 | 注册送 $3.88 试用福利 |
| | 团队 | 快乐机艺术小组 | 一支跨学科的艺术创作团队,持续探索数字与艺术的全新表达形式。 | 暂无 |
|
| 企业 | 秘塔 | 提供 MiniMax H3 视频生成 API,支持原生 2K、音画同步和 OpenAI 兼容协议。 | metaso.cn |
|
| 企业 | 浮瑞万相AI | 一家专注于AI视听的AI Native公司 | 暂无 |
|
| 团队 | 喜马抓马 | 中国AI视听先锋厂牌/AI 视听全链路综合服务平台 | himadrama.com |
|
| 企业 | 羽宇科技 | 一站式AI应用平台。提供模型算力入口、AI短剧视频制作(Studio)、企业数字员工(Agent)及内容出海(OPC)全栈解决方案。 | 暂无 |
|
| 团队 | panda AI | API接口平台,面向个人开发者、技术团队与企业,稳定提供GPT、Gemini、grok等图片视频模型 | api.pandatk.com |
3D 预演台赞助用户
感谢以下用户赞助 3D 预演台的开发:
GitHub 用户:@TripsCoder · @sugtex · @Leyi813 · @daoge05178 · @AetherNo2332
| 赞助用户 | 联系方式 | | --- | --- | | vv | [email protected] | | 克里斯 | artbox.top | | 宇熙 | [email protected] | | 落羽 | [email protected] | | 今夕何在 | [email protected] | | Alpha-M·Break | [email protected] | | 不吃鸭梨 | [email protected] | | 九月 | [email protected] | | A | [email protected] |
核心能力
- 自由画布:节点、连线、框选、缩放、小地图、撤销重做、导入导出和只读分享。
- 影视创作工作流:剧本、角色、场景、风格板、参考素材、结构化分镜和 3D 导演台。
- 多媒体生成:文本、图片、视频、音频任务,支持参考图、首尾帧、运镜、续写、局部修改和批量生成。
- 任务与素材管理:异步队列、进度与日志、取消/重试、素材库、资源引用校验和登录后的跨设备同步。
- 时间线剪辑:片段编排、拆分、修剪、字幕转写和服务端成片导出,并支持插件化编辑面板。
- 云端 Agent:支持持久化对话、画布摘要和流式事件回放;当前为只读阶段,真实环境能力以文档和验收清单为准。
- Agent 技能生态:内置技能覆盖生产流程;社区技能库 judian-skills 提供 34 个场景域包索引,完整卡片通过 GitHub 安装后按需读取。安装:技能页 → 安装技能 → GitHub 标签 → 仓库地址填
https://github.com/itsWyatt-K/judian-skills,子目录填skills/drama/story-structure-engine这类域包路径。 - 管理与渠道:系统渠道、逻辑模型、用量/积分、功能开关、对象存储、响应拦截和管理后台。
快速开始
环境要求
宿主机启动
git clone https://github.com/ddcat-ai/open-ai-canvas.git
cd open-ai-canvas
使用 Git 忽略的目录保存本地开发数据和缓存
mkdir -p .local/project-workbench-debug .local/cache/go-build .local/cache/go-mod
终端一:后端
cd backend
CANVAS_BACKEND_ADDR=127.0.0.1:8080 \
CANVAS_BACKEND_DATA_DIR=../.local/project-workbench-debug \
GOCACHE=../.local/cache/go-build \
GOMODCACHE=../.local/cache/go-mod \
go run ./cmd/server
终端二:前端
cd ../web
bun install --frozen-lockfile
bun run dev
打开 /api 代理到 http://127.0.0.1:8080;如需修改代理目标,可设置 VITE_API_PROXY_TARGET。
Windows PowerShell 用户可在仓库根目录执行:
.\scripts\start-local.ps1
Docker 开发与本地构建
以下命令用于本地开发或试运行。部署服务器并使用后台在线更新,请使用下文的官方 Release 镜像部署。
源码热更新:
LOCAL_UID=$(id -u) LOCAL_GID=$(id -g) \
docker compose -f docker-compose.dev.yml up --build
本地构建并运行 release 镜像:
docker compose -f docker-compose.local.yml up -d --build
热更新开发默认前端端口为 3000、后端端口为 8080;端口冲突时可通过 CANVAS_WEB_HOST_PORT 和 CANVAS_BACKEND_HOST_PORT 覆盖。本地构建编排只暴露 web 的 3000,后端留在容器网络内,不安装 Host Updater。
更多本地开发说明(包括时间线字幕转写)见本地开发文档。
架构概览
浏览器(web/)
├─ React 工作区、画布、任务中心和素材库
├─ Zustand / localForage 本地状态与降级缓存
└─ 登录态 API、资源请求和 SSE
│
▼
后端(backend/)
├─ Gin handler -> service -> repository/model
├─ SQLite(本地)或 PostgreSQL + Redis(部署)
├─ 异步任务 worker、权限、资源存储和模型中转
└─ provider / outbound -> 外部模型渠道
前端业务 API 统一经 web/src/services/api/request.ts 调用。生产环境由 Nginx 托管前端并代理后端,公网只需暴露 web 入口;SSE 仅在明确的流式路径关闭代理缓冲。
服务器部署
官方 Release 镜像(推荐,支持后台在线更新)
适用于使用 systemd 的 Linux 服务器。先从 GitHub Releases 选择包含镜像、Host Updater 二进制和 SHA256SUMS 的已发布版本,将下方 vX.Y.Z 替换为该版本:
CANVAS_RELEASE=vX.Y.Z
curl -fsSL "https://raw.githubusercontent.com/ddcat-ai/open-ai-canvas/${CANVAS_RELEASE}/scripts/install-server-image.sh" \
| sudo env CANVAS_IMAGE_TAG="${CANVAS_RELEASE}" REPOSITORY_REF="${CANVAS_RELEASE}" bash
脚本使用 docker-compose.deploy.yml,启动 PostgreSQL、Redis、独立 yingce-agent、backend 和 web,由一次性 migrate 服务迁移数据库,并安装宿主机 Host Updater。backend、web、Agent 镜像会固定为对应 GHCR digest。默认访问 http://服务器IP:3000,安装完成后在“系统配置 → 系统更新”检查后续版本。
查看状态和日志:
cd /opt/open-ai-canvas
sudo docker compose --env-file .env -f docker-compose.deploy.yml ps
sudo docker compose --env-file .env -f docker-compose.deploy.yml logs -f --tail=200
源码构建与已有部署
需要运行自行修改的源码时,可以使用源码安装脚本:
curl -fsSL https://raw.githubusercontent.com/ddcat-ai/open-ai-canvas/main/scripts/install-server.sh | sudo bash
脚本使用 PostgreSQL、Redis、独立 Agent 和源码构建叠加层,但不安装 Host Updater;该部署不属于后台在线更新管理范围,需自行构建、备份和升级。根目录的 docker-compose.yml、docker-compose.local.yml 和自行编写的两容器 SQLite 编排用于本地试运行,不作为默认服务器部署方案。
已有 SQLite 或自定义 Compose 部署,不能只替换 Compose 文件或补装更新器就获得在线更新;应先核对原数据卷、完成备份和数据迁移。方案选择见 Docker 部署,更新约束、备份和回退见系统更新文档。
安全边界
- 首次管理员注册应在受控网络完成,公网部署保持
CANVAS_REGISTRATION_ENABLED=false。 - 设置准确的
CANVAS_CORS_ORIGINS,不要在公网使用*;使用 HTTPS 并正确转发代理头。 - 后端默认拒绝本机、私网和链路本地模型地址。开发时只通过
CANVAS_ALLOWED_PRIVATE_UPSTREAM_HOSTS精确放行可信主机,不要使用全量放行开关。 - 用户 API Key 不应出现在 URL、日志、错误上报或服务端长期明文存储中;只在可信部署和 HTTPS 链路中使用真实密钥。
- 后端
8080应留在 Compose 网络内,不要直接暴露到公网;限制.env、数据库、上传目录、备份和.settings-key的权限。 - 媒体资源可使用后端数据目录、阿里云 OSS 或腾讯云 COS;删除素材前会检查业务引用。
SECURITY.md 报告,不要在公开 Issue 中粘贴密钥、Cookie、数据库或生产日志。
文档与验证
文档导航
验证命令
按改动范围运行最小验证:
# 前端
cd web && bun run lint && bun run build
后端
cd backend && go test ./...
文档站
cd docs && bun run types:check
许可证
本项目采用 MIT 协议。项目特定代码的版权归 Open AI Canvas 贡献者所有;第三方组件按各自附带的许可证和版权声明使用。
贡献者与团队
感谢参与产品设计、开发、测试、内容和社区建设的成员。以下为紧凑展示,完整保留每位成员的头像、昵称、联系方式和个性签名:
ddCat项目发起者 · 微信:ddcat0829 [email protected] 在计算机里头没有任何黑魔法,所有的东西只不过是我现在不知道而已,总有一天我会把所有的细节、所有的内部的东西全搞明白的。 |
爱笑的毛毛虫用户名:sikongyue [email protected] 正在啃 main 分支,争取下次 merge 的时候变成蝴蝶 |
delve-s[email protected] 我亦无他,惟手熟尔 |
CyrusAuyeung[email protected] HKUST(GZ) UG |
奶大佬[email protected] 人生就是要不断的探索 |
dyh[email protected] 无 |
kyori[email protected] 励志成为未来最好用的画布仓库的贡献者 |
Bowen[email protected] 剑走偏峰,雷厉风行。 |
ken[email protected] 走自己的路 |
fish[email protected] AI 界热于助人的拖油瓶 |
QAyongID:QAyong B站:QAyong [email protected] AI 短剧合规,资产确权 |
_K37ix.[email protected] Making things that think |
Rou[email protected] 上善若水 |
vvdy/xhs:荣灵 [email protected] 就是水水 |
Dominic1556[email protected] Done is better than perfect |
宇熙[email protected] 年轻的时候不狂,老了拿什么回忆 |
影子[email protected] 年纪大佬才明白人要顺势而为。 |
Ray[email protected] AI时代的全栈落地工,欢迎找我聊需求 |
不见山谷VV:yu170718 [email protected] 空山不见人,但闻人语响 |
yep[email protected] 思考,坚持 |
汉堡爸爸VV:jxs62888 [email protected] 没什么大不了 |
nancyVV:jiahezuiai [email protected] 在哪跌倒,就在哪睡一觉 |
daqziaVV:wangzhiwei-8234 [email protected] NullPointerException |
醒梦VV:love-is-heart-is [email protected] Always believe that good things will happen |
morrowVV:morrow0127 [email protected] 最难不过坚持 |
春秋Agent记忆核心贡献者 · VV:A13068788886 [email protected] |
亿媒网老宋[email protected] 亿媒网 em8.top 全国10W+媒体、自媒体,助力企业品牌传播 |
|
Wyatt_K千里之行,始于足下。 |
ddCat
爱笑的毛毛虫
delve-s
CyrusAuyeung
奶大佬
dyh
kyori
Bowen
ken
fish
QAyong
_K37ix.
Rou
vv
Dominic1556
宇熙
影子
Ray
不见山谷
yep
汉堡爸爸
nancy
daqzia
醒梦
morrow
春秋
亿媒网老宋
Wyatt_K