函式庫 / SDK
basketikun/infinite-canvas avatar
basketikun/infinite-canvas

無限画布:瀏覽器本地的 AI 图片创作工作台

AI AI Agent 代理 OpenAI chatgpt2api grok2api flow2api newapi 。

6,521 個 Star1,649 個 ForkTypeScriptAGPL-3.0

秒懂

它是什麼?
TypeScript 開源項目,把画布編排、OpenAI 兼容生图、提示词庫和本地 Agent 收進同一界面。
適合誰用?
無限画布适合已有 OpenAI 兼容 API、希望在瀏覽器裡連续迭代图片方案的個人创作者;不适合需要稳定本地數據格式或企業級後端托管的团队。試用前先跑 bun run dev 或 docker compose up -d,在右上角設定 Base URL 與 API Key,並确認 IndexedDB 裡的画布能否按预期导出。
可以商用嗎?
可以。MIT 是寬鬆授權:你可以使用、修改並販售以它為基礎的軟體,只需保留著作權與授權聲明。
還在維護嗎?
有在維護。儲存庫最近一次提交在 9 天前。
用什麼語言寫的?
主要是 TypeScript(依據 GitHub 的語言統計)。

以上回答依據專案的 GitHub 資料(最近同步於 2026年9月14日)與我們的分析,不構成法律意見。

開源專案深度解析

工作台把編排與生图放在同一頁

basketikun/infinite-canvas 的 README 將項目定位為面向图片创作的開源工作台,把画布編排、AI 图片生成、參考图編辑、對话助手、提示词庫和素材沉淀放在同一界面。README 称它适合探索視觉方案並連续迭代图片結果,而不是只做单次文生图。

倉庫元數據標注语言為 TypeScript,主頁為 canvas.best,默認分支 main。README 同時提醒項目處於開發阶段,不保證历史數據兼容,本地存储格式可能直接調整;需要稳定分支的讀者被建议 fork 後独立開發。這條警告應放在选型最前面,而不是事後补救。

文档导航還列出 Render 一键部署連結、Docker 專頁與 SECURITY.md 漏洞提交入口,说明作者同時面向自托管與公開實例使用者。赞助區列出的 Atlas Cloud、秘塔 MiniMax H3 與 Infistar 等多模態 API 合作,属於可选接入渠道,並非倉庫內置密钥。

核心功能從节点画布到远程插件

README 的核心功能列表给出了可核對的能力边界。無限画布部分包括多画布項目、节点拖拽缩放、連線、小地图、撤销重做、导入导出。AI 创作由瀏覽器前台直連使用者設定的 OpenAI 兼容接口,支援文生图、图生图、參考图編辑、文本问答、音頻和影片生成。

画布助手围绕选中节点和上游节点對话、生图,並把結果插回画布。本地 Canvas Agent 通過本机程序連接 Codex 或 Claude Code,讓 Agent 经 MCP 操作当前画布;Codex App 插件安裝後会自動注册 MCP 並尝試拉起本地 Agent。插件係統支援通過 URL 動態安裝、啟用、更新、卸载远程节点插件,並提供 TypeScript SDK 開發画布节点插件。提示词庫內置 7 個開源來源,並支援自定义標准 JSON 來源,由瀏覽器前端直連並缓存到 IndexedDB。

节点連線與小地图组合,适合把多次生图結果排成可比較的視觉板。撤销重做與导入导出意味着項目檔案可在瀏覽器間迁移,但 README 已警告本地存储格式可能随版本變化,升級前應先导出画布再更新镜像或依赖。

API Key 與画布數據默認留在瀏覽器

README 的快速開始部分明确:AI API Key、Base URL、画布、素材和生成記錄默認保存在瀏覽器本地。這意味着部署 Docker 或 Render 並不会自動把密钥托管到服務端,除非讀者自行改造。

本地開發指令為:git clone 倉庫後進入 web 目錄,執行 bun install 與 bun run dev。Docker 路径為倉庫根目錄 docker compose up -d,默認端口 3000,访问 http://localhost:3000。首次打開後進入右上角設定,填入 OpenAI 兼容 Base URL 和 API Key。若默認 OpenAI 調用方式與中转站不同,可自定义生图或影片脚本調用。

自托管 docker compose 默認监听 3000 端口,适合在內網给設计小组共用;密钥仍由每位访问者在瀏覽器設定頁填寫。若团队希望集中审计 API 用量,需要自行加反向代理與日志,README 未提供後端账號體係。

Canvas Agent 與 Codex 插件链路

README 文档导航列出 canvas-agent/README.md 與 plugins/infinite-canvas Codex app 插件。本地 Agent 路径面向希望用 Codex 或 Claude Code 驱動画布操作的開發者;插件路径则尝試自動注册 MCP 並拉起 Agent。

這條链路的驗收不應只看頁面能否打開。應在設定 API 後创建两個节点並連線,再按 canvas-node-manual.mdx 與 canvas-shortcuts.mdx 檢查撤销、小地图和导入导出。若使用 Agent,需确認本机 Agent 進程能被插件或 canvas-agent 目錄中的说明成功連接,並观察 MCP 操作是否把生成結果寫回画布节点。

canvas-agent 與 Codex 插件两條路径都依赖 MCP 协议讀寫画布狀態。驗收 Agent 链路時,除啟動 web 前端外,還應阅讀 canvas-agent/README.md 中的連接步骤,确認本机防火墙未阻断 Agent 與瀏覽器之間的本地端口。

chatgpt2api 與自定义中转接口

README 在核心功能後指向同作者的 chatgpt2api 項目,供缺少生图 API 的讀者參考。無限画布本身不捆绑特定厂商,自定义接口調用被描述為可灵活适配各類中转站與自建服務。

這意味着驗收時要带着真實 Base URL 試驗,而不是假設默認 OpenAI 形狀即可工作。建议在右上角設定後分别触發文生图與图生图各一次,記錄请求脚本是否命中自定义路径;若失败,對照 docs/content/docs/overview/features.mdx 中的接口说明調整脚本,而不是只換 API Key。

chatgpt2api 倉庫由同一作者维护,README 將其作為免费生图 API 的參考實現。無限画布對中转站的适配靠“自定义生图脚本”,因此同一 Base URL 在不同供應商下可能需要不同 JSON 欄位;應在 features.mdx 對照欄位映射後再批量跑任務。

AGPL-3.0 與 README 開源协议表述

倉庫元數據 license 欄位為 AGPL-3.0。AGPL 對通過網络提供服務的使用场景有额外源码公開要求,與 README 末尾“MIT License、可用於閉源產品”的表述並不一致。正式采用前應以 LICENSE 檔案與 GitHub 元數據為准,並向法務确認 SaaS 或二次分發边界。

二次開發與 PR 需保留原作者信息和前端頁面標识,這是 README 在 CAUTION 块中的硬性要求。fork 维护長期分支時,應同時跟踪 releases 標签(如 v0.16.0)與本地 IndexedDB 导出格式,避免升級後画布項目無法导入。

AGPL-3.0 要求網络服務使用者通常需向使用者提供對應源码獲取方式,與 README 末尾 MIT 文案冲突時以 LICENSE 為准。二次開發若移除前端標识或作者信息,與 README CAUTION 要求相悖,fork 長期维护前應明确合规策略。

無限画布最小驗收清单

在 web 目錄 bun run dev 啟動後,打開 localhost:3000,設定 Base URL 與 API Key,新建画布节点並完成一次文生图;随後執行导入导出,确認 IndexedDB 中的項目在刷新後仍在。若走 Docker,重復同樣步骤並記錄 compose 暴露的端口。

完整 smoke test:web 目錄 bun install && bun run dev,瀏覽器打開 localhost:3000,右上角填 Base URL 與 API Key,新建两节点連線,各触發一次文生图,再导出画布 JSON 並在隐私窗口导入,确認 IndexedDB 往返無损。

針對 infinite-canvas,先依 README 的實際入口執行最小流程,再查看專案指定的輸出、日誌與設定檔。infinite-canvas 的判斷不能只看指令返回成功:要把輸入、版本、權限和產物一起對照,並以檔案未說明的部分標記為未確認。

編輯結論

無限画布适合已有 OpenAI 兼容 API、希望在瀏覽器裡連续迭代图片方案的個人创作者;不适合需要稳定本地數據格式或企業級後端托管的团队。試用前先跑 bun run dev 或 docker compose up -d,在右上角設定 Base URL 與 API Key,並确認 IndexedDB 裡的画布能否按预期导出。 對 infinite-canvas 而言,適合先在隔離環境核對 README 列出的指令與檔案,再決定使用範圍;不適合把檔案未說明的相容性、效能或安全保證當成既定事實。

官方來源

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
社群筆記

社群筆記