[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-105427":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":9,"language":10,"languages":9,"totalLinesOfCode":9,"stars":11,"forks":12,"watchers":13,"openIssues":14,"contributorsCount":15,"subscribersCount":15,"size":15,"stars1d":16,"stars7d":16,"stars30d":16,"stars90d":15,"forks30d":15,"starsTrendScore":17,"compositeScore":18,"rankGlobal":9,"rankLanguage":9,"license":19,"archived":20,"fork":20,"defaultBranch":21,"hasWiki":20,"hasPages":20,"topics":22,"createdAt":9,"pushedAt":9,"updatedAt":23,"readmeContent":24,"aiSummary":9,"trendingCount":15,"starSnapshotCount":15,"syncStatus":25,"lastSyncTime":26,"discoverSource":27},105427,"ComfyUI-Local-Infinite-Canvas","1314521gjy\u002FComfyUI-Local-Infinite-Canvas","1314521gjy","ComfyUI-本地无限画布：本地 Infinite Canvas × ComfyUI 集成（基于 basketikun\u002Finfinite-canvas, MIT）",null,"Python",110,19,60,7,0,34,102,80.01,"Other",false,"main",[],"2026-11-01 00:16:31","# ComfyUI-本地无限画布\n\n本地优先的 **Infinite Canvas × ComfyUI** 集成：把开源无限画布、ComfyUI 工作流和本地网关接到一起，不依赖云端 API。\n\n> 当前版本 **v0.24.1**（2026-11-01）。GitHub 仓库 slug 使用 `ComfyUI-Local-Infinite-Canvas`（GitHub 仓库名只支持 ASCII）；项目中文名即 **ComfyUI-本地无限画布**。\n\n## 功能\n\n- 无限画布：文本、图片、视频、配置、分组节点；连线、框选、导出、自动保存。\n- 本地网关把 ComfyUI 工作流暴露成 OpenAI 兼容模型：画布只改渠道 Base URL，不改上游代码。\n- 图像：Z-Image Turbo、Krea2 Aesthetics、MOSS SFT（8 步极速 \u002F 50 步高质量、区域布局）、Qwen Image 2.1（多图编辑 \u002F 真蒙版局部重绘 \u002F 扩图）。\n- 视频：MiniMax-H3 文生、首尾帧、多参三个入口，共用文戏均衡工作流；支持采样预览、LoRA 卡、首尾帧\u002F多参考素材。\n- 放大：ESRGAN 快速放大、SeedVR2 图片超分、SeedVR2 视频超分（1.5×\u002F2×，保留原音频）。\n- 本地插件卡：LoRA 强度卡、ComfyUI 参数卡、画布修复助手卡；提示词优化（H3 结构化 \u002F 生图单段描述）。\n- 画布修复助手（Agent）：完整包内置，按需唤起；可用自己的云端文本 API 在本机定位并修复画布源码，用户确认后自动构建部署；3 分钟无提问自动休眠。应用内小补丁不含 Agent 工作区，卡片会提示下载完整包。\n- 本地反推 \u002F 本地提示词：Qwen3.5-9B（GGUF + 视觉投影）和 Florence-2 PromptGen v2.0 可在「设置 → 添加工作流」按需安装；不装也能用云端反推。\n- 系统面板：显存\u002F内存\u002FGPU\u002FComfyUI 状态、清理显存、一键重启 ComfyUI。\n- `LOCAL_ONLY` 本地模式：隐藏云端渠道、Agent、WebDAV、提示词库等非本地入口。\n\n## 架构\n\n```text\nstart-local.bat\n  └─ launcher\u002Fstart.mjs\n       ├─ ComfyUI        :8188   检测 \u002F 接管 \u002F 拉起\n       ├─ comfyui-gateway:8190   OpenAI 兼容网关 + 任务\u002F预览\u002F系统接口\n       └─ canvas         :3000   托管 infinite-canvas\u002Fweb\u002Fdist\n\n画布 :3000  →  网关 :8190  →  ComfyUI :8188\n```\n\n以上是默认端口；画布 3000 被占用时会回退到 3001–3010，实际地址以启动器窗口输出为准。网关端口由 `gatewayPort`（默认 8190）决定；改成其他端口时，若 8190 空闲，启动器会起兼容转发，旧页面无需刷新。\n\n## 目录\n\n```text\ninfinite-canvas\u002F      基于 Infinite Canvas v0.20.0 的本地修改版（MIT）\n  web\u002F                画布前端源码 + 构建产物 dist\u002F\n  web\u002Fpublic\u002Fplugins\u002F 本地 LoRA \u002F ComfyUI 参数插件\ncomfyui-gateway\u002F      Node.js + Express 本地网关（工作流注册表、绑定、任务、预览）\nlauncher\u002F             启动器（检测\u002F接管 ComfyUI、拉起网关、托管画布）\nstart-local.bat       Windows 一键启动\n```\n\n## 环境要求\n\n- Windows 10\u002F11；NVIDIA GPU（开发环境：RTX 4080 SUPER 32GB）。\n- Node.js 24+。\n- 一份可运行的 ComfyUI（便携版即可）。\n- **Git 源码仓库不包含模型权重、自定义节点和 ComfyUI 本体。** 完整发布包会附带运行所必需的预解压节点、H3 VAE ONNX、预览 VAE 与观澜 LoRA；其余模型\u002FLoRA 由资源中心按工作流下载，并遵守各自许可证。\n- 画布 `dist\u002F` 已随仓库提供；修改前端源码后需要重新构建。\n\n## 快速开始\n\n### 方式 A：使用完整发布包\n\n1. 解压完整包（自带 Node、网关依赖、随包节点和少量 VAE\u002FLoRA；v0.23.1 完整包还带画布修复助手的工作区与构建依赖；v0.24.0 额外带 Krea2 四视图 LoRA）。\n2. 双击 `start-local.bat`。\n3. 打开启动器打印的画布地址；默认 `http:\u002F\u002F127.0.0.1:3000`，3000 被占用时自动使用 3001–3010。\n4. 首次启动按提示安装缺失资源；进画布后点右上角「配置」确认 ComfyUI 连接。\n\n### 方式 B：从源码运行\n\n```bat\n:: 1. 安装网关依赖\ncd comfyui-gateway\nnpm install\ncd ..\n\n:: 2. 安装画布依赖并构建（修改前端后执行）\ncd infinite-canvas\\web\nnpm install --legacy-peer-deps\nnpm run build\ncd ..\\..\n\n:: 3. 复制启动器配置，按本机路径修改（也可以让启动器自动发现 ComfyUI）\ncopy launcher\\config.example.json launcher\\config.json\n\n:: 4. 一键启动\nstart-local.bat\n```\n\n启动器会检测 `8188` 和常见 ComfyUI 目录；找到后接管或拉起 ComfyUI，启动网关，并在 `http:\u002F\u002F127.0.0.1:3000` 托管画布。首次发现 ComfyUI 后会把路径写入 `launcher\u002Fconfig.json`。\n\n### 画布修复助手（Agent）\n\nv0.23.1 完整包内置「画布修复助手」卡片。它不是只读问答：在用户确认修复方案后，会在本机工作区改源码、typecheck、build，并部署到当前画布 dist。\n\n- **完整包 \u002F 小补丁**：Agent 服务、源码工作区和前端构建依赖只在完整包内，首次启动由启动器自动解压完整包根目录的 `assistant-runtime.zip`；应用内小补丁不携带这些大文件，卡片会提示「需要完整包」，不会启动服务，也不占性能。\n- **按需唤醒**：打开卡片或发第一条消息时，由网关分配空闲端口拉起服务；3 分钟没有提问、且没有在跑的对话\u002F构建时自动休眠，下次发消息或再加卡自动唤起。多张卡共享同一个服务。\n- **修复记录**：应用过的修改记录在 `assistant\u002Fdata`，整包更新后会自动重放到新源码并重新构建部署；无法重放的冲突会明确提示。部署会保留 `dist\u002Fconfig.js` 和用户自己加的插件文件。\n- **API Key**：只使用浏览器「设置 → 云端 API」里的配置，服务端不保存 Key；发布包、日志、工作区不包含 Key。\n- **构建护栏**：ComfyUI 正在生成或本机可用内存不足时，先拦下修复构建，避免边生成边构建。\n\n### 局域网 \u002F 多机访问（可选）\n\n默认全部只绑 `127.0.0.1`，单机行为不变。如果要在「工作站跑模型 + 其他设备浏览器打开 WebUI」，可在 `launcher\u002Fconfig.json` 增加：\n\n```json\n{\n  \"allowLan\": true,\n  \"canvasHost\": \"0.0.0.0\",\n  \"gatewayHost\": \"0.0.0.0\",\n  \"gatewayPublicHost\": \"192.168.1.10\",\n  \"corsOrigins\": \"http:\u002F\u002F192.168.1.10:3000,http:\u002F\u002F192.168.1.20:3000\"\n}\n```\n\n- `allowLan`：必须显式为 `true` 才允许非回环监听；默认 `false`，避免误把服务暴露到局域网。\n- `canvasHost`：画布静态服务监听地址；`gatewayHost`：网关监听地址。\n- `gatewayPublicHost`：写进前端 `config.js` 的对外可达网关地址；留空等于 `127.0.0.1`。\n- `corsOrigins`：允许跨域调用网关的画布来源，逗号分隔，不支持通配符。\n- 网关 `\u002Fapi` 和 `\u002Fadmin` 默认没有鉴权；显式设置 `GATEWAY_TOKEN` 后，`\u002Fapi\u002F*` 与 `\u002Fadmin` 会校验 `x-gateway-token`。放开监听后只限可信内网，并配合防火墙限制来源，**不要映射到公网**。跨机使用前先读下方「安全提示」。\n\n## 网关\n\n- 健康检查：`GET http:\u002F\u002F127.0.0.1:8190\u002Fhealth`\n- 模型列表：`GET http:\u002F\u002F127.0.0.1:8190\u002Fv1\u002Fmodels`\n- 管理页：`http:\u002F\u002F127.0.0.1:8190\u002Fadmin`\n- 工作流注册表：`comfyui-gateway\u002Fworkflows\u002Fregistry.json`\n- 工作流 = 模型；参数通过 bindings 映射到 ComfyUI 节点输入。\n- 视频任务异步执行，支持轮询、取消和采样预览；图片任务复用网关的请求取消。\n\n详细接口、环境变量和测试方法见 [`comfyui-gateway\u002FREADME.md`](comfyui-gateway\u002FREADME.md)。\n\n## 更新\n\n- 版本弹窗的「检查更新」由网关 `\u002Fapi\u002Fupdate\u002Fcheck` 提供，读取项目根目录的 `update.json`；Git 克隆安装会从 `origin\u002Fmain` 获取最新清单（点击检查时执行 `git fetch`）。\n- **文件夹安装**：点击「应用更新」会在软件内下载并校验代码补丁，只替换程序文件；`data\u002F`、模型、`node_modules`、`resources\u002Fbundled`、`assistant\u002Fworkspace`、`assistant\u002Fdata` 和 `launcher\u002Fconfig.json` 不会被覆盖。更新完成后网关自动重启，新页面自动刷新。Agent 的工作区和构建依赖不进入小补丁；需要 Agent 的旧用户请下载 v0.23.1 完整包。\n- **Git 克隆**：工作区没有已跟踪修改时执行 `git pull --ff-only`；`package-lock.json` 有变化时先在 `comfyui-gateway` 运行 `npm install`。启动器生成的 `infinite-canvas\u002Fweb\u002Fdist\u002Fconfig.js` 不再被误判为本地修改。\n- **强制更新**：如果确实改过程序源码，更新弹窗会显示「强制更新（保留 data）」；用校验过的补丁覆盖程序文件，保留 `data\u002F`、模型、`node_modules` 和 `launcher\u002Fconfig.json`，失败自动回滚。\n- **旧版本自举**：v0.22.6 及更早的 Git 安装如果被提示“工作区有未提交的修改”，先点「下载更新工具」运行一次，升到 v0.22.7 后即可正常使用应用内更新。\n- **v0.21.0–v0.21.2 旧版本**：这些版本里没有新的更新器。请从发布页下载 `update-bridge.zip`，解压后双击 `update.bat`，脚本会自动找到工作台并升级到最新版；之后即可使用应用内更新。不会把用户送到网页手动替换文件。\n- 发布新版本：同时更新根目录 `VERSION`、`update.json`、`CHANGELOG.md`，重新构建 `infinite-canvas\u002Fweb`，提交 `web\u002Fdist`，并生成 `patches\u002FvX.zip` 与 `update.json.patch`。\n\n## 常见问题\n\n- **页面打不开，或地址不是 3000**：看启动器窗口打印的实际画布地址；3000 被占用时会自动用 3001–3010。\n- **找不到 ComfyUI**：确认 ComfyUI 已启动；仍识别不到时进「设置 → 偏好设置 → ComfyUI 目录与资源扫描」，手动选包含 `main.py` 的根目录，保存后重新扫描。\n- **工作流显示不可用 \u002F 缺资源**：资源中心看缺多少、多大，勾选后「安装选中」；模型识别不了点「自选替换」；提示「待重启」说明文件已装但 ComfyUI 还没加载，重启 ComfyUI。\n- **更新失败**：把弹窗里的完整错误（阶段 + 原因）反馈；先别删 `.update` \u002F `.update-backup`，方便定位。应用内更新不需要手动替换文件。\n- **关掉页面后后台还在跑**：默认关页 30 秒后停后台；启动参数设了 `CLOSE_CANVAS_STOPS_BACKEND=0` 或 `STOP_ADOPTED_COMFY=0` 时会保持运行。\n- **局域网访问**：按下方「局域网 \u002F 多机访问」显式设置 `allowLan`；默认只绑 `127.0.0.1`，不要映射到公网。\n\n## 国内镜像\n\n- ModelScope 数据集镜像：https:\u002F\u002Fmodelscope.cn\u002Fdatasets\u002Fshensanshu\u002FComfyUI-Local-Infinite-Canvas\n- 国内克隆前先安装 Git LFS（`git lfs install`）；魔搭对 `web\u002Fdist`、锁文件等使用 LFS，未安装会得到指针文件：\n  `git lfs install && git clone https:\u002F\u002Fwww.modelscope.cn\u002Fdatasets\u002Fshensanshu\u002FComfyUI-Local-Infinite-Canvas.git`\n- 从魔搭克隆时远端默认分支是 `master`；网关更新逻辑会自动识别 `main`\u002F`master`，不需要手动改 `UPDATE_BRANCH`。\n\n## 安全提示\n\n- 网关、ComfyUI、启动器控制接口默认只绑 `127.0.0.1`，**没有鉴权**；设置 `GATEWAY_TOKEN` 后 `\u002Fapi\u002F*` 与 `\u002Fadmin` 会校验 `x-gateway-token`。\n- 只有显式设置 `allowLan: true` 并配置 `canvasHost` \u002F `gatewayHost` 才会放开监听；放开后只限可信内网，并配合防火墙限制来源，**不要映射到公网**。网关 `\u002Fapi` 与 `\u002Fadmin` 仍无鉴权，CORS 白名单不是访问控制。\n- 不要把 `:8188`、`:8190`、`:8290` 暴露到公网或不可信局域网。\n- 本地渠道默认 API Key 是占位值 `local`，网关不校验该值；仓库不包含真实 API Key、Token 或私钥。画布修复助手服务的 API Key 只在用户浏览器配置里，服务不落盘。\n- 不要提交 `launcher\u002Fconfig.json`、`comfyui-gateway\u002Fdata\u002F`、`assistant\u002Fdata\u002F`、任务输出、模型权重、`.env` 或任何密钥。\n- `launcher\u002Fconfig.json` 含本机路径；仓库只提供 `config.example.json`。\n\n## 署名与许可证\n\n本项目基于 [basketikun\u002Finfinite-canvas](https:\u002F\u002Fgithub.com\u002Fbasketikun\u002Finfinite-canvas) v0.20.0（MIT，Copyright (c) 2026 basketikun）修改，保留其许可证与版权声明，详见 [`infinite-canvas\u002FLICENSE`](infinite-canvas\u002FLICENSE) 和 [`NOTICE.md`](NOTICE.md)。\n\n`comfyui-gateway`、`launcher` 及本地集成修改由 **1314521gjy** 编写，按 MIT 许可发布，详见根目录 [`LICENSE`](LICENSE)。\n\nComfyUI 本体、其余模型权重、LoRA 和第三方自定义节点适用各自许可证；完整发布包随包附带运行必需的节点与少量 VAE\u002FLoRA，其余按工作流下载；本项目与 ComfyUI、MiniMax、阿里云通义千问、MOSS、字节跳动 SeedVR2 等项目的维护方无隶属关系。\n\n## 状态\n\n已在 Windows + RTX 4080 SUPER 32GB 环境完成图像、视频、放大、本地网关和画布回写的端到端验证。不同机器需要按本机 ComfyUI 的模型\u002F节点情况调整 `registry.json`；未安装对应模型的工作流会在网关标记为不可用，不会出现在 `\u002Fv1\u002Fmodels`。\n",2,"2026-10-31 04:26:46","CREATED_QUERY"]