# slice-lab **Repository Path**: renneseme/slice-lab ## Basic Information - **Project Name**: slice-lab - **Description**: SliceLab 是一个 Tauri 2 + React(Rust 核心) 的本地桌面应用。开发者用 AI(如 GPT)生成设计图 / 素材拼贴图后,SliceLab 负责把「切图 → 抠图 → 增强 → 导出 → 收藏 → 检索」整条链路做成一条命令:导入一张拼贴图,自动检测并框出各素材,人工微调后一键导出规范命名的 zip 素材包。 - **Primary Language**: Rust - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-09-16 - **Last Updated**: 2026-09-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # SliceLab — 切图增强工具 > 把 AI 生成的「素材大图」自动拆解为可直接投入开发的素材库:自动切图、背景消除、超分增强、规范导出与历史管理。 SliceLab 是一个 **Tauri 2 + React(Rust 核心)** 的本地桌面应用。开发者用 AI(如 GPT)生成设计图 / 素材拼贴图后,SliceLab 负责把「切图 → 抠图 → 增强 → 导出 → 收藏 → 检索」整条链路做成一条命令:导入一张拼贴图,自动检测并框出各素材,人工微调后一键导出规范命名的 zip 素材包。 ## 界面预览 导入拼贴图并自动检测素材框后,在画布上微调(`import-editing.png` 为导入与编辑画布界面): ![导入图片后 - 自动检测与画布编辑](docs/img/import-editing.png) 设置页(`settings.png` 为设置界面:主题、导出、模型下载与图床): ![设置页面](docs/img/settings.png) ## 功能特性 | 能力 | 说明 | |---|---| | **智能切图** | 背景分离 + 连通域检测,自适应任意布局与长宽比;框选新增 / 拖动缩放 / 拆分 / 合并 / 删除,全部可撤销重做 | | **背景消除** | 色键抠图(点选取色 + 容差 + 羽化)、Alpha 修复(近白 / 近黑)、边缘连通去背景、U²-Net 模型抠图(涂抹 / 画圈引导修正) | | **图片增强** | Real-ESRGAN 2x / 4x 超分(ONNX,异步不冻结 UI)、降噪 / 锐化 / 亮度 / 对比度 / 饱和度、一键增强组合 | | **导出打包** | PNG / JPG / WebP;zip 素材包按类别子目录 + `manifest.json` + 可自定义命名模板;多倍率 1x/2x/3x | | **历史任务** | 每次切图自动记录,可重新打开继续编辑并再次导出;崩溃草稿自动保存与恢复 | | **收藏灵感库** | 素材收藏、手动标签 + 自动补全、主色提取、按标签 / 类别 / 关键词搜索 | | **S3 图床上传** | 任意 S3 兼容端点(自建 RustFS / MinIO / R2 / OSS);多 Profile;凭据 AES-256-GCM 本地加密;批量上传与外链回写 | | **全局设置** | 浅色 / 深色 / 跟随系统主题、快捷键体系、导出路径 / 命名模板、模型按需下载、中 / 英界面切换 | > 完整需求与实现状态对照见 [PRD.md](PRD.md)(§12 为最新功能状态表),检测算法与实测指标见 [docs/DETECTION.md](docs/DETECTION.md)。 ## 安装 ### Linux(deb,x64) 从 [Releases](https://gitea.palworld.com.cn/renneseme/slice-lab/releases) 下载 `SliceLab_<版本>_amd64.deb`,然后: ```bash sudo dpkg -i SliceLab_<版本>_amd64.deb # 如依赖缺失(一般不会),执行: sudo apt-get install -f ``` 启动:`SliceLab`(桌面菜单或应用列表)。 ### Windows / macOS 从 Releases 下载 NSIS 安装包 / dmg 对应文件。 ## 从源码构建 ### 环境要求 - Node.js ≥ 20 与 npm(建议 22) - Rust 工具链(1.80+,经 rustup 安装) - Linux 还需系统库:`libwebkit2gtk-4.1-dev librsvg2-dev`(以及 gtk-3、libssl、appindicator 常规依赖) ### 开发运行 ```bash npm install npm run tauri dev # Vite 前端 + cargo 热重载,首次编译约 2-4 分钟 ``` ### 打包分发 ```bash npm run tauri build -- --bundles deb # Linux x64 deb npm run tauri build -- --bundles appimage # Linux AppImage npm run tauri build -- --bundles nsis # Windows 安装包 npm run tauri build -- --bundles dmg # macOS ``` 产物位于 `src-tauri/target/release/bundle/`。 ### 测试 ```bash npm run build # tsc --noEmit + vite build npm run test:rs # cargo test(Rust 检测 / 抠图 / 模板回归) ``` ## 使用流程 1. **导入**:点击「导入…」按钮或把图片拖入窗口(`png/jpg/webp/bmp`,支持多张,标签页切换)。 2. **检测与微调**:自动检测框出各素材;素材图里的文件名说明/标题文字会标为红框(文字框),**应用时默认排除**,需要时在检测对话框勾选「应用时包含文字框」;用快捷键 / 右键菜单补切、合并、拆分、删除,标注类别(icon / background / logo / illustration / other)。 3. **抠图 / 增强**:选中素材后打开「抠图」或「增强」对话框:色键 / Alpha / 模型抠图,超分 2x/4x 与基础增强,均带前后对比预览。 4. **导出**:一键导出 zip 素材包(按类别分目录、按命名模板命名、含 `manifest.json`),或导出单张图片。 5. **收藏与上云**:满意的素材点 ★ 收藏,打标签入库,可上传至 S3 兼容图床后回写外链。 ### 快捷键 | 按键 | 功能 | |---|---| | `V` | 选择 / 移动 | | `N` | 新增框选 | | `S` | 拆分画线(选中框后画一条切割线) | | `P` | 取色(放大镜取色) | | `H` | 平移画布 | | `D` | 自动检测(打开检测参数预览) | | `E` | 抠图对话框 | | `R` | 增强对话框 | | `Delete` / `Backspace` | 删除所选框 | | `Esc` | 关闭对话框 / 退出当前模式 | | `Ctrl+E` | 打开导出对话框 | | `Ctrl+V` | 从剪贴板粘贴导入 | | `Ctrl+Z` / `Ctrl+Y` | 撤销 / 重做 | ## 技术架构 - **壳与 UI**:Tauri 2.x,React 19 + TypeScript + Vite,Konva / React-Konva 画布交互,Zustand 状态管理。 - **Rust 核心**:`image` / `imageproc` 做解码、连通域、轮廓、裁剪;`ort`(ONNX Runtime)跑 Real-ESRGAN 与 U²-Net;`rusqlite` 存历史 / 收藏 / 标签;`rust-s3` 走 S3 协议图床;`aes-gcm` 加密图床凭据。 - **算法原则**:规则算法(色键、连通域、网格)零依赖即时可用;模型算法(分割抠图、超分)按需下载、失败优雅降级。所有处理本地完成,上传图片走显式操作。 ## 数据与隐私 - 用户素材只存本地应用数据目录;未显式上传前不离开本机。 - ONNX 模型不在安装包内,首次使用时按需下载(设置页可管理),包体保持在 100MB 以下。 ## 已知限制 - Linux(WebKitGTK)下剪贴板直接粘贴导入偶发失败,请用「导入…」按钮或拖拽。 - 图床凭据为本地 AES-256-GCM 加密存储,尚未接入系统钥匙串。 ## 路线图 - **M1(MVP,已完成)**:导入 / 检测 / 微调、三类抠图、超分与基础增强、zip 素材包 + manifest、历史、设置。 - **M2(已完成)**:U²-Net 模型抠图、一键增强、多倍率导出、收藏库与标签搜索、S3 图床上传、中 / 英界面。 - **M3(规划)**:CLIP 智能打标、相似图向量检索、批量任务队列、拖出即用。