MCPcopy Index your code
hub / github.com/basketikun/infinite-canvas

github.com/basketikun/infinite-canvas @v0.4.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.4.0 ↗ · + Follow
978 symbols 2,524 edges 142 files 1 documented · 0% updated 3d agov0.4.0 · 2026-06-16★ 2,88414 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

infinite-canvas logo

无限画布 (infinite-canvas)

Linux.do Deploy to Render GitHub stars Version License Vercel ready Next.js

无限画布是一款面向图片创作的开源工作台。它把画布编排、AI 图片生成、参考图编辑、对话助手、提示词库和素材沉淀放在同一个界面里,适合用来探索视觉方案并连续迭代图片结果。

[!CAUTION] 项目目前处于开发阶段,不保证历史数据兼容。各种数据库结构和存储格式都可能直接调整,欢迎关注后续更新,当前更适合个人/本地部署,不建议直接公网多人共用。

如果你需要稳定维护自己的分支,建议自行 fork 后独立开发。二次开发与 PR 请保留原作者信息和前端页面标识。

核心功能

  • 无限画布:多画布项目、节点拖拽缩放、连线、小地图、撤销重做、导入导出。
  • AI 创作:浏览器前台直连你配置的 OpenAI 兼容接口,支持文生图、图生图、参考图编辑、文本问答、音频和视频生成;Seedance 2.0 可通过火山方舟 Agent Plan 接入。
  • 画布助手:围绕选中节点和上游节点对话、生图,并把结果插回画布。
  • 本地 Agent:通过本机 Canvas Agent 连接 Codex / Claude Code,让 Agent 通过 MCP 操作当前画布。
  • 提示词库:Next.js route 抓取多个 GitHub 开源项目,并缓存在运行实例内存中。

完整功能说明见 功能介绍

如果你在为担心没有合适的生图API来发愁,可以查看该免费生图项目:chatgpt2api

技术栈

  • 前端:Next.js、React、TypeScript、Tailwind CSS、Ant Design、Zustand、TanStack Query。
  • 少量 Next.js Route:第三方提示词内存缓存、WebDAV 可选代理。
  • 部署:Vercel 或 Docker。

快速开始

推荐直接导入仓库到 Vercel,根目录已提供 vercel.json,会构建 web/。AI API Key、Base URL、画布、素材和生成记录默认保存在浏览器本地。

git clone git@github.com:basketikun/infinite-canvas.git
cd infinite-canvas
cd web
bun install
bun run dev

Docker 运行:

docker build -t infinite-canvas .
docker run --rm -p 3000:3000 infinite-canvas

运行后默认端口3000,可访问 http://localhost:3000

首次打开后进入右上角配置,填入自己的 OpenAI 兼容 Base URLAPI Key

New API 自动配置

如果使用 New API,可在 系统设置 -> 聊天方式 -> 添加聊天设置 中填入:

https://canvas.best?apiKey={key}&baseUrl={address}

跳转后会自动打开配置弹窗并填入 API Key 和 Base URL。 如果自己部署了,可以把 https://canvas.best 替换成你部署的地址。

效果展示

image image
image image
5 image
image image

文档

赞助支持

如果这个项目对你有帮助,欢迎通过爱发电赞助支持,你的每一份鼓励都是持续更新的动力!

爱发电赞助

社区支持

学 AI,上 L 站:LinuxDO

点击链接加入群聊【AI开源交流】:https://qm.qq.com/q/DFnKzZ807u

开源协议

本项目使用 GNU Affero General Public License v3.0,见 LICENSE

Star History

Star History Chart

Extension points exported contracts — how you extend this code

DiaTextRevealProps (Interface)
(no doc)
web/src/components/ui/dia-text-reveal.tsx
AnimatedThemeTogglerProps (Interface)
(no doc)
web/src/components/ui/animated-theme-toggler.tsx

Core symbols most depended-on inside this repo

field
called by 65
canvas-agent/src/agents.ts
stringOptional
called by 29
web/src/app/(user)/canvas/components/canvas-assistant-panel.tsx
cn
called by 26
web/src/lib/utils.ts
uploadImage
called by 23
web/src/services/image-storage.ts
toolDefinition
called by 19
web/src/app/(user)/canvas/components/canvas-assistant-panel.tsx
emitProgress
called by 18
web/src/services/app-sync.ts
numberOr
called by 17
web/src/app/(user)/canvas/components/canvas-assistant-panel.tsx
modelOptionName
called by 16
web/src/stores/use-config-store.ts

Shape

Function 945
Method 26
Class 4
Interface 2
Enum 1

Languages

TypeScript100%

Modules by API surface

web/src/app/(user)/canvas/components/canvas-assistant-panel.tsx84 symbols
web/src/app/(user)/canvas/components/canvas-local-agent-panel.tsx60 symbols
canvas-agent/src/agents.ts57 symbols
web/src/app/(user)/canvas/[id]/canvas-client-page.tsx44 symbols
web/src/app/(user)/video/page.tsx37 symbols
web/src/services/api/image.ts32 symbols
web/src/services/api/video.ts31 symbols
web/src/app/(user)/image/page.tsx31 symbols
web/src/stores/use-config-store.ts26 symbols
web/src/app/api/prompts/route.ts26 symbols
web/src/components/layout/app-config-modal.tsx24 symbols
web/src/app/(user)/canvas/components/canvas-config-composer.tsx22 symbols

For agents

$ claude mcp add infinite-canvas \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page