Skip to content

hloolx/draw

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

109 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Draw

Draw 是一个面向图片、视频和工作流创作的开源 AI 画布工作台。

当前维护仓库:

https://github.com/hloolx/draw

后续源码、镜像、Issue 和发布记录都以 hloolx/draw 为准。

功能概览

  • 无限画布:多项目、节点拖拽缩放、连线、小地图、撤销重做、导入导出。
  • AI 图片创作:支持 OpenAI 兼容接口、Images API、Responses API、图生图、参考图编辑、流式响应和 Base64 图片返回。
  • 视频创作:支持视频生成任务、进度展示、历史结果、下载、保存素材和云端存储同步。
  • 创作工作流:支持个人/公开模板、变量表单、AI 创建工作流、多图系列生成和运行记录。
  • 素材管理:支持我的素材、素材库、参考图复用、批量导入导出和引用保护删除。
  • 管理后台:支持用户、渠道、提示词、系统设置、AI 调用日志和存储配置管理。
  • 存储:支持浏览器 IndexedDB、SQLite 元数据和 S3/R2 兼容对象存储。

项目仍在快速迭代中,数据库结构和本地数据格式可能随版本调整。生产部署前请先备份 .envdata 目录。

快速开始

Docker Compose

git clone https://github.com/hloolx/draw.git
cd draw
cp .env.example .env
docker compose up -d --build

默认访问地址:

http://localhost:13000

本地开发

启动 Go 后端:

cp .env.example .env
go run .

启动 Next.js 前端:

cd web
npm install
npm run dev

默认端口:

  • 前端:http://localhost:13000
  • 后端:http://127.0.0.1:18080
  • 前端 API 代理:/api/* -> http://127.0.0.1:18080

常用命令

后端测试:

go test ./...

前端类型检查:

cd web
npm run typecheck

前端测试:

cd web
npm test

前端生产构建:

cd web
npm run build

构建嵌入式前端并准备单二进制打包:

node scripts/build-embedded-web.mjs
go build -o draw .

部署说明

推荐使用 Docker Compose 部署。镜像构建工作流会根据当前 GitHub 仓库自动发布到 GHCR:

ghcr.io/hloolx/draw

服务器只需要保留 .envdata 目录,升级前建议先备份:

git pull
docker compose up -d --build

生产环境建议:

  • 修改默认 ADMIN_PASSWORD
  • 修改默认 JWT_SECRET
  • 使用 HTTPS 反向代理到 127.0.0.1:13000
  • 生产环境只需要暴露 13000,页面和 /api/* 都由同一个二进制提供。
  • 定期备份 .envdata

下载发布包

GitHub Releases 会自动提供多平台单二进制产物:

  • draw-linux-amd64.tar.gz
  • draw-linux-arm64.tar.gz
  • draw-darwin-amd64.tar.gz
  • draw-darwin-arm64.tar.gz
  • draw-windows-amd64.zip
  • draw-windows-arm64.zip
  • SHA256SUMS.txt

每个压缩包里只有一个可执行文件:Linux/macOS 为 draw,Windows 为 draw.exe。前端静态资源已经嵌入 Go 二进制,运行时不需要安装 Node.js,也不需要额外的 web 目录。

Linux/macOS:

tar -xzf draw-linux-amd64.tar.gz
./draw

Windows:

Expand-Archive .\draw-windows-amd64.zip
.\draw-windows-amd64\draw.exe

默认访问地址:

http://localhost:13000

如需修改端口或数据库路径,可以在同目录放置 .env,或直接设置环境变量,例如 PORTDATABASE_DSNADMIN_PASSWORDJWT_SECRET

文档

开源协议

本项目基于 AGPL-3.0 协议开源,详见 LICENSE

本仓库包含对原项目 basketikun/infinite-canvas 的二次开发内容,请在继续分发或部署时保留原作者信息和协议声明。

About

No description, website, or topics provided.

Resources

Contributing

Security policy

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages