ImagePort
Desktop AI image generation and editing workspace with Gallery, masks, agent mode, custom providers, local history, and full backup support.

ImagePort
桌面端 AI 图片生成与编辑工作台。
把参考图、蒙版、生成历史、Agent 对话和本地备份放进一个更稳定的 Tauri 应用里,让 OpenAI-compatible 图片工作流不再受浏览器 CORS 和本地存储限制影响。
Highlights
Preview

Gallery workspace
Tech Stack
How It Works
flowchart LR
A["SvelteKit UI"] --> B["Provider adapter"]
B --> C["Tauri HTTP bridge"]
C --> D["OpenAI / xAI / Gemini / Custom provider"]
A --> E["SQLite task history"]
A --> F["App data image files"]
A --> G["Tauri Store settings"]
Loading
前端负责 Gallery、Agent、设置、收藏与交互状态;Tauri 后端负责代理 HTTP 请求、流式响应和取消请求;本地 SQLite、Store 与应用数据目录共同保存长期历史。
Quick Start
需要先安装:
Bun
Rust
Tauri 2 对应平台依赖
安装依赖:
bun install启动 Web 开发服务器:
bun run dev启动桌面端:
bun run tauri dev生产构建:
bun run tauri buildCommon Commands
Project Layout
ImagePort-Desktop/
src/
lib/api/ Provider adapter、OpenAI-compatible、Responses/Agent runner
lib/components/ Gallery、Settings、Lightbox、Mask editor、品牌组件
lib/domain/ 纯业务模型、设置归一化、下载、收藏、备份、任务历史
lib/storage/ SQLite、Store、FS 图片文件、剪贴板、下载
lib/tauri/ 前端 Tauri command wrapper
routes/ SvelteKit 页面入口
src-tauri/
capabilities/ Tauri 权限配置
src/commands/ Tauri commands
src/services/ Rust HTTP client、streaming、cancellation
static/brand/ ImagePort logo 与图标草案
docs/ 发布检查清单等项目文档
API Profiles
在应用设置中创建 API 连接。模型能力预设与接口协议彼此独立:官方服务使用原生协议,第三方网关按其文档选择兼容协议,不需要为每个网站新增适配器。
API Key 保存在本地 Tauri Store 中。导出设置时默认不包含 API Key。
内置协议包括 OpenAI Images、OpenAI Responses、xAI Imagine Images 与 Gemini Interactions。例如,Gemini/Banana 模型既可以通过 Google 官方 Interactions 调用,也可以在中转站兼容 /v1/images/generations 时切换到 OpenAI Images。设置页会预览最终的 POST 地址,并对常见协议错配给出提示。
Gallery 参数会根据当前服务商和模型能力动态调整。Grok 与 Gemini 不支持像素级蒙版;Gemini 生成多张图片时会发起多次独立请求。Agent 模式目前仍使用 OpenAI Responses API。
Local Data
ImagePort 的数据默认保存在本机:
历史数据优先级最高:应用不会在启动时自动清理历史图片,清理动作必须由用户确认。
Acknowledgements
ImagePort 的桌面端工作流灵感来自 gpt_image_playground。感谢这个 Web 端项目在 Gallery 生图、参考图、蒙版编辑和 Agent 创作体验上的探索;ImagePort 在此基础上面向桌面端重新组织了应用结构,并重点补上跨域请求、本地大图持久化和长期历史管理。
Release
发布前至少运行:
bun test
bun run check
bun run build
cd src-tauri && cargo check更多手动检查见 release-checklist.md。
GitHub Release 自动打包由 .github/workflows/release.yml 负责。创建 tag 并发布 Release 后,workflow 会在 macOS、Windows 和 Linux 上分别运行 tauri build,并把安装包上传到当前 Release。
使用发版命令前需保证工作区干净。命令会同步 package.json、Tauri 配置、Cargo 包和锁文件版本,创建 release commit 与 tag,并推送当前分支和 tag:
bun run release 0.2.0随后在 GitHub 从 v0.2.0 创建并发布 Release;workflow 会检出该 tag、校验四处版本一致后构建各平台安装包。
当前 workflow 尚未配置代码签名、公证、Windows 签名证书或 updater 私钥;这些凭据后续可通过 GitHub Secrets 接入。
最近更新
查看全部更新项目时间
- 开始
- 2026-06-04
技术栈
- TypeScript
- Svelte
- JavaScript
- Rust
- CSS
- HTML


