面向 AI 创作者的无限画布工具 · 本地运行 · 无需账户 · 双击即用
tikpan-canvas 是一个跑在本地的 AI 无限画布工具。你在画布上放 Prompt 卡片,选模型,点生成,结果图片直接贴回画布旁边。支持图片编辑、视频生成、音乐生成,以及内容工厂工作流(短剧/小说推文/电商素材)。
底层通过本地 ComfyUI 调用 攀升AI (tikpan.com) 的云端模型 API,不需要自己搭模型环境。
特点:
- 无账户体系,无注册,无登录
- 所有数据存在软件文件夹内,复制文件夹即可迁移
- 不写注册表,不改系统文件,删除文件夹无任何残留
- API Key 加密存本地,不上传任何服务器
- 双层 Key 绑定:全局一把 Key + 每节点单独覆盖 Key/中转站
- 9 个仓库灵感库:一键同步 GitHub awesome 仓库的提示词卡片
- 本地 ComfyUI 工作流:扫描你的 workflows 目录直接运行
- Tauri 桌面打包(v2.1+):5-15 MB 安装包、软件内自动更新
启动软件后访问 http://127.0.0.1:3456/docs.html 查看完整用户手册,包括:
- 快速开始
- 画布操作 / 快捷键
- 5 种节点类型
- 模型档案与双层 Key 绑定
- 灵感库(9 个仓库)
- ComfyUI 工作流接入
- 内容工厂模板
- FAQ
- 故障排查
- Tauri 打包 + 自动更新
也可以直接看 docs/ 目录的 markdown 文件。
前置条件: Node.js 18+ · 本地 ComfyUI(可选)· tikpan.com API 密钥
双击 start.batchmod +x start.sh && ./start.sh启动后浏览器自动打开 http://127.0.0.1:3456,首次使用弹出设置面板,填入 API 密钥即可开始。
┌──────────────────────────────────────────────────────────┐
│ 侧边栏 │ 无限画布 │
│ ───────────────────── │ │
│ 本地配置 │ [Prompt卡片] [图片节点] │
│ ● API密钥:已配置 │ │
│ ● ComfyUI:已连接 │ [生成结果] [Prompt卡片] │
│ │ │
│ 参数档案选择 │ 双击空白处 → 选择模型 │
│ 模型参数 │ 右键节点 → 复制/删除 │
│ 生成到画布 [Ctrl+Enter] │ 滚轮缩放 · 拖拽平移 │
└──────────────────────────────────────────────────────────┘
| 类型 | 模型 | 说明 |
|---|---|---|
| 图片生成 | GPT Image 2 | 文字生图,支持 1K/2K/4K |
| 图片编辑 | GPT Image 2 Edit | 选图后编辑,支持遮罩 |
| 图片生成 | Gemini / Nano Banana Pro | 多参考图融合生图 |
| 图片生成 | 豆包 Seedream 5.0 | 商品图、多图参考 |
| 视频生成 | Veo 3.1 | 首尾帧生视频,支持 4K |
| 视频生成 | Grok Video | 多参考图生视频 |
| 音乐生成 | Suno | 自定义风格、歌词、续写 |
tikpan-canvas/
├── start.bat / start.sh 一键启动(首次自动 npm install + build)
├── server.js 本地 HTTP 服务(API + 静态 SPA)
├── package.json Vite + React + TS 依赖
├── vite.config.ts
├── tsconfig.json
│
├── src/ ★ 前端源码 (TypeScript + React)
│ ├── main.tsx React 入口
│ ├── App.tsx 应用根组件
│ ├── types.ts 领域类型定义
│ ├── store.ts Zustand 状态管理
│ ├── api.ts /api/* 的类型化封装
│ ├── layout.ts 节点摆放算法(防重叠 / 螺旋寻位)
│ ├── generate.ts 生成 / 预览业务流程
│ ├── toast.ts 通知 store
│ ├── hooks/
│ │ ├── usePanZoom.ts 画布平移 + 滚轮缩放
│ │ ├── useNodeDrag.ts 节点拖拽(pointerup 才提交历史)
│ │ └── useHotkeys.ts Ctrl+Z/Y/D/C/V / Del / Ctrl+Enter
│ ├── components/
│ │ ├── Canvas.tsx 画布根节点
│ │ ├── NodeView.tsx 节点视图(prompt/image/video/audio/note)
│ │ ├── Launcher.tsx 模型选择器(点击空白处弹出)
│ │ ├── ContextMenu.tsx 节点右键菜单
│ │ ├── MiniMap.tsx 小地图
│ │ ├── Links.tsx 工作流连线
│ │ ├── EmptyHint.tsx 空画布引导
│ │ ├── Sidebar.tsx 左侧 7 个面板
│ │ ├── StageHeader.tsx 顶栏 + 侧栏 rail
│ │ ├── BottomToolbar.tsx 底部缩放 / 撤销 / 网格
│ │ ├── SettingsModal.tsx API Key 配置弹窗
│ │ ├── WelcomeOverlay.tsx 欢迎层
│ │ ├── Toasts.tsx 通知中心
│ │ └── panels/ 侧边栏子面板
│ └── styles/main.css 全局样式(含 light/dark 主题)
│
├── public/ ★ Vite 构建输出 + 静态文件
│ ├── index.html (构建产物,已加 .gitignore)
│ ├── assets/ (构建产物)
│ ├── admin.html 后台管理(保留原生 JS)
│ └── admin.js
│
├── public-legacy/ v1 版本备份(vanilla JS,仅供参考)
│
├── data/ ★ 所有用户数据
│ ├── local-config.json API 密钥 + ComfyUI 地址(不上传 git)
│ ├── canvas-autosave.json 画布自动保存(不上传 git)
│ ├── model-profiles.json 模型参数档案(可上传)
│ ├── projects/ 手动保存的项目
│ └── assets/ 资产元数据
│
└── logs/
└── canvas-YYYY-MM-DD.log 每日运行日志
# 终端 1:本地 Node API 服务(3456)
node server.js
# 终端 2:Vite 开发服务(5173,自动代理 /api → 3456)
npm run dev打开 http://127.0.0.1:5173 即可看到热更新版本。生产部署只需要 npm run build && node server.js,server 会从 public/ 把构建产物当成 SPA 服务(未知路径回退到 index.html)。
备份:复制 data/ 文件夹
迁移:复制整个文件夹到新电脑,运行 start.bat(首次启动会自动 npm install + 构建)
卸载:直接删除文件夹
| 变量 | 说明 | 默认值 |
|---|---|---|
TIKPAN_API_KEY |
API 密钥(覆盖 local-config.json) | — |
COMFY_URL |
ComfyUI 地址 | http://127.0.0.1:8188 |
PORT |
监听端口 | 3456 |
PROVIDER |
comfy 或 upstream |
comfy |
| 端点 | 说明 |
|---|---|
GET /api/config |
查看当前配置状态 |
POST /api/config |
保存 API Key 和 ComfyUI 地址 |
GET /api/autosave |
读取画布自动保存 |
POST /api/autosave |
写入画布状态 |
POST /api/generate |
提交生成任务 |
GET /api/logs?tail=100 |
查看近期运行日志 |
GET /api/profiles |
获取模型档案列表 |
GET /api/data-path |
获取数据目录绝对路径 |
本项目是 ComfyUI-Tikpan-Pro 插件的配套本地画布工具。
ComfyUI-Tikpan-Pro 提供节点能力,tikpan-canvas 提供可视化操作界面。
MIT © htrert