Skip to content

htrert/tikpan-canvas

Repository files navigation

version nodejs react ts tauri license

tikpan-canvas

面向 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 安装包、软件内自动更新

v2.1 完整文档

启动软件后访问 http://127.0.0.1:3456/docs.html 查看完整用户手册,包括:

  1. 快速开始
  2. 画布操作 / 快捷键
  3. 5 种节点类型
  4. 模型档案与双层 Key 绑定
  5. 灵感库(9 个仓库)
  6. ComfyUI 工作流接入
  7. 内容工厂模板
  8. FAQ
  9. 故障排查
  10. Tauri 打包 + 自动更新

也可以直接看 docs/ 目录的 markdown 文件。


快速开始

前置条件: Node.js 18+ · 本地 ComfyUI(可选)· tikpan.com API 密钥

Windows

双击 start.bat

Mac / Linux

chmod +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 comfyupstream comfy

API 接口

端点 说明
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 插件的配套本地画布工具。
ComfyUI-Tikpan-Pro 提供节点能力,tikpan-canvas 提供可视化操作界面。


License

MIT © htrert

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages