让一个故事,从文字走向银幕
影策是一个开源的 AI 影视与短剧创作工作台。它把自由画布、结构化分镜、角色与风格资产、图片/视频/音频生成、异步任务和本地 Agent 放在同一条创作链路里,让创作者从文字 brief 走到可复用的镜头资产。 > 项目仍在快速开发,数据结构和外部接口可能直接调整。默认适合个人、本地或可信环境部署;未经安全配置,不要直接作为公网多人服务使用。 当前版本以仓库根目录 [`VERSION`](VERSION) 为准。 ## 赞助商 感谢以下赞助商对影策项目的支持: | LOGO | 类型 | 赞助商名称 | 说明 | 网站 | | --- | --- | --- | --- | --- | |
| 商业 | ArtDance | 本项目 Seedance 模型的天使投资人。 | [artbox.top](https://artbox.top) |
|
| 企业 | 秘塔 | 提供 MiniMax H3 视频生成 API,支持原生 2K、音画同步和 OpenAI 兼容协议。 | [metaso.cn](https://metaso.cn/minimax-h3/?s=dd) |
## 贡献者与团队
感谢参与产品设计、开发、测试、内容和社区建设的成员:
| 头像 | 昵称 | 邮箱 | 个性签名 |
| --- | --- | --- | --- |
|
| 爱笑的毛毛虫
| delve-s | [3013141136@qq.com](mailto:3013141136@qq.com) | 我亦无他,惟手熟尔 |
|
| CyrusAuyeung | [cyrusauyeungho@gmail.com](mailto:cyrusauyeungho@gmail.com) | HKUST(GZ) UG |
|
| 奶大佬 | [1304634970@qq.com](mailto:1304634970@qq.com) | 人生就是要不断的探索 |
|
| dyh | [1613203335@qq.com](mailto:1613203335@qq.com) | 无 |
|
| kyori | [1771634408@qq.com](mailto:1771634408@qq.com) | 励志成为未来最好用的画布仓库的贡献者 |
|
| Bowen | [admin@bowen.games](mailto:admin@bowen.games) | 剑走偏峰,雷厉风行。 |
|
| ken | [2506802@qq.com](mailto:2506802@qq.com) | 走自己的路 |
|
| fish | [cihai.sea@gmail.com](mailto:cihai.sea@gmail.com) | AI 界热于助人的拖油瓶 |
|
| QAyong
| _K37ix. | [2773843782@qq.com](mailto:2773843782@qq.com) | Making things that think |
## 当前能力
- **自由画布**:项目、节点、连线、框选、缩放、小地图、撤销重做、导入导出和公开只读分享。
- **影视工作流**:剧本、角色、场景、风格板、参考素材、结构化分镜和 3D 导演台。
- **多媒体生成**:文本、图片、视频、音频任务,支持参考图、首尾帧、运镜、视频续写、局部修改和批量生成。
- **任务与素材**:后端异步队列、任务日志、取消/重试、账号素材库、资源引用校验和登录后的跨设备同步。
- **Agent 协作**:画布助手、本地 Canvas Agent、MCP 工具、Codex App 插件和技能库。
- **管理与渠道**:系统渠道、逻辑模型、用量/积分、功能开关、对象存储、响应拦截和管理后台。
详细功能清单见 [`docs/content/docs/overview/features.mdx`](docs/content/docs/overview/features.mdx),实现入口见 [`docs/content/docs/backend/code-map.mdx`](docs/content/docs/backend/code-map.mdx)。
## 架构概览
```text
浏览器(web/)
├─ React 工作区、画布、任务中心、素材库
├─ localForage/Zustand 本地状态与降级缓存
└─ request.ts / channel relay
│ 登录态 JSON、SSE、资源请求
▼
后端(backend/)
├─ Gin handler -> service -> repository/model
├─ SQLite(本地)或 PostgreSQL + Redis(部署)
├─ 异步任务 worker、资源存储、权限和模型中转
└─ provider/outbound -> 外部模型渠道
本地 Agent(canvas-agent/) <-> 浏览器画布 <-> Codex MCP / 本机 CLI
Codex 插件(`plugins/yingce/`)负责把 MCP 接入 Codex App。
```
前端默认把 `/api` 代理到 `http://127.0.0.1:8080`;生产环境由网页容器的 Nginx 代理到后端,只有 web 的 `3000` 端口需要对外暴露。系统模型和文本任务的 SSE 只在明确的流式路径关闭代理缓冲,详见 [`nginx.conf`](nginx.conf) 和 [SSE 文档](docs/content/docs/overview/docker.mdx)。
## 本地开发
### 环境
- Bun(前端和文档站)
- Go 1.25(后端)
- Node.js 18+(Canvas Agent)
- 如使用 Docker 开发,需要 Docker Compose
### 宿主机启动
```bash
git clone https://github.com/ddcat-ai/open-ai-canvas.git
cd open-ai-canvas
# 开发数据必须使用 Git 忽略的目录,不要直接使用 backend/data
mkdir -p .local/project-workbench-debug .local/cache/go-build .local/cache/go-mod
# 终端一:后端
cd backend
CANVAS_BACKEND_DATA_DIR=../.local/project-workbench-debug go run ./cmd/server
# 终端二:前端
cd ../web
bun install
bun run dev
```
打开