修改架构,增加可视化

This commit is contained in:
2026-07-23 13:07:49 +08:00
parent e7152727ce
commit f17aa7db8a
27 changed files with 1725 additions and 2278 deletions
+28 -200
View File
@@ -1,209 +1,37 @@
# SmartSaveImage - 智能图片保存节点
# SmartSaveImage
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![Python 3.8+](https://img.shields.io/badge/python-3.8+-blue.svg)](https://www.python.org/downloads/)
[![ComfyUI](https://img.shields.io/badge/ComfyUI-Compatible-green.svg)](https://github.com/comfyanonymous/ComfyUI)
一个带实时路径预览的 ComfyUI 图片保存节点。节点菜单中搜索 **智能保存图片**
一个功能强大的ComfyUI自定义节点包,提供智能的文件夹管理和图片保存功能。
## 使用方式
## 🚀 安装
1. 连接 `images`
2. 选择保存位置;自定义模式可填写绝对路径或相对 `output` 的路径。
3. 填写子目录规则和文件名规则。
4. 在“保存结果预览”中确认最终目录与示例文件名。
### 方法一:通过ComfyUI Manager安装(推荐)
1. 打开ComfyUI Manager
2. 搜索 "SmartSaveImage"
3. 点击安装
模板变量默认折叠,展开后点击变量即可插入当前规则输入框。
### 方法二:手动安装
```bash
cd ComfyUI/custom_nodes
git clone https://github.com/kjqwer/SmartSaveImage.git
cd SmartSaveImage
pip install -r requirements.txt
## 模板变量
- 时间:`%date:yyyy-MM-dd%``%year%``%month%``%day%``%hour%``%minute%``%second%`
- 模型:`%model%``%model_full%``%unet%``%lora%``%vae%`
- 采样:`%seed%``%steps%``%cfg%``%sampler%``%scheduler%`
- 图片:`%width%``%height%``%prompt%``%batch%`
例如,保存到自定义根目录下的模型文件夹:
```text
子目录规则:krea/%model%
文件名规则:image
同名冲突:自动编号
```
### 方法三:下载ZIP
1. 下载本仓库的ZIP文件
2. 解压到 `ComfyUI/custom_nodes/` 目录
3. 重启ComfyUI
## 保存行为
## 🌟 主要特性
- 支持 PNG、JPEG、WebPPNG 默认压缩等级为 4,与 ComfyUI 自带保存节点一致,可在 0-9 间调整且始终无损;WebP 使用无损保存。
- 自动编号不会覆盖已有文件;覆盖模式也会保证批量图片互不覆盖。
- PNG 使用 ComfyUI 原生元数据字段;关闭“嵌入工作流”后不写入生成信息。
- 保存到 `output``input``temp` 时直接使用对应预览类型;其他绝对目录使用临时预览。
- 模型名自动从工作流读取,也可在“模型来源”中手动指定。
- **智能文件夹管理** - 自动创建有组织的文件夹结构
- **灵活的保存选项** - 支持多种图片格式和质量设置
- **元数据嵌入** - 自动提取并保存工作流信息
- **批量处理** - 高效处理多张图片
- **用户友好** - 直观的界面和丰富的选项
## 📦 节点介绍
### 智能文件夹管理器 (SmartFolderManager)
负责创建和管理文件夹结构,从工作流中自动提取元数据。
### 智能图片保存器 (SmartImageSaver)
负责保存图片,支持多种格式、压缩选项和元数据嵌入。
## 🚀 快速开始
### 基本使用流程
1. **添加智能文件夹管理器节点**
- 在ComfyUI中搜索"智能文件夹管理器"
- 将要保存的图片连接到管理器的images输入
2. **配置文件夹结构**
- 使用开关控制各层文件夹:日期、模型、种子、提示词、自定义
- 设置基础文件夹路径
- 可选择连接外部节点(模型、条件、潜在空间)获取更多信息
3. **添加智能图片保存器节点**
- 搜索"智能图片保存器"
- 将文件夹管理器的三个输出全部连接到保存器:
- images → images
- folder_path → folder_path
- metadata_json → metadata_json
4. **配置保存选项**
- 选择文件格式和质量设置
- 设置文件名和预览模式
## 📁 文件夹结构配置
### 灵活的层级控制
现在可以通过开关独立控制每一层文件夹的创建:
- **日期文件夹** (`enable_date_folder`)
- 按日期组织:`2024-11-15/`
- 可自定义格式:`yyyy-MM-dd`, `yyyy/MM/dd`
- 可选择包含时间:`2024-11-15_14-30-25/`
- **模型文件夹** (`enable_model_folder`)
- 按模型组织:`sdxl_base/`
- 自动从工作流提取模型名称
- 支持手动指定或从模型节点输入
- **种子文件夹** (`enable_seed_folder`)
- 按种子组织:`seed_12345/`
- 自动从工作流提取种子值
- 支持手动设置种子
- **提示词文件夹** (`enable_prompt_folder`)
- 按提示词组织:`beautiful_landscape/`
- 可设置最大长度,自动清理非法字符
- 支持手动输入或从条件节点获取
- **自定义文件夹** (`enable_custom_folder`)
- 完全自定义:`my_project/`
- 可以是任意文件夹名称
### 组合示例
- 全开:`2024-11-15/sdxl_base/seed_12345/beautiful_landscape/my_project/`
- 仅日期+模型:`2024-11-15/sdxl_base/`
- 仅种子+自定义:`seed_12345/experiment_01/`
## 🖼️ 图片保存选项
### 文件格式支持
- **PNG** - 无损压缩,支持透明度
- **JPEG** - 有损压缩,文件较小
- **WebP** - 现代格式,支持无损和有损
- **BMP** - 位图格式
- **TIFF** - 高质量格式
### 质量设置
- **JPEG质量**1-100(推荐95
- **WebP质量**1-100(推荐90
- **WebP无损**:启用无损压缩
- **PNG压缩**0-9级别(推荐6
### 文件命名选项
- **文件名前缀**:自定义前缀
- **添加时间戳**:在文件名中包含时间
- **添加计数器**:多张图片时的序号
- **计数器设置**:起始值和位数
## 🔧 高级功能
### 智能元数据获取
- **外部节点优先**:连接外部节点时优先从节点获取信息
- **工作流自动提取**:没有外部输入时从工作流中自动提取
- **图片尺寸检测**:直接从图片数据中获取准确尺寸
- **手动补充**:仅在需要时手动输入补充信息
### 元数据嵌入
- **参数记录**:保存采样器、CFG、步数等技术参数
- **工作流保存**:可选择嵌入完整工作流信息
- **多格式支持**PNG使用PngInfoJPEG/WebP使用EXIF
### 预览模式
- **保存并预览**:保存文件同时在界面显示
- **仅预览**:只在界面显示,不保存文件
- **仅保存**:只保存文件,不显示预览
### 文件管理
- **覆盖保护**:避免意外覆盖现有文件
- **自动重命名**:文件冲突时自动生成新名称
- **备份功能**:覆盖前创建备份文件
## 💡 使用技巧
### 推荐工作流设置
1. **日常使用**
- 开启:日期文件夹 + 模型文件夹
- 文件格式:PNG(质量优先)或WebP(体积优先)
- 预览模式:保存并预览
2. **批量实验**
- 开启:日期文件夹 + 种子文件夹 + 自定义文件夹
- 启用计数器,使用描述性前缀
- 考虑JPEG格式节省空间
3. **项目管理**
- 开启:自定义文件夹(项目名)+ 模型文件夹 + 种子文件夹
- 手动设置模型和种子确保一致性
- 嵌入完整元数据便于追溯
4. **连接外部节点获取准确信息**
- 将CheckpointLoader的MODEL输出连接到model_input
- 将CLIPTextEncode的CONDITIONING连接到conditioning_positive/negative
- 将KSampler的LATENT输出连接到latent_input
- 连接后会优先使用外部节点的信息,无需手动选择模型
### 文件夹路径设置
- **相对路径**:基于ComfyUI输出目录
- `output` 或留空 → 默认输出目录
- `my_project``ComfyUI/output/my_project/`
- **绝对路径**:指定完整路径
- `D:/AI_Images/` → 直接保存到指定位置
### 元数据利用
生成的图片会包含丰富的元数据信息:
- 在图片查看器中可以看到生成参数
- 便于后续复现相同效果
- 支持批量分析和管理
## ⚠️ 注意事项
1. **路径权限**:确保ComfyUI对目标文件夹有写入权限
2. **文件名长度**:避免过长的文件名(建议<200字符)
3. **特殊字符**:文件名会自动清理非法字符
4. **磁盘空间**:注意监控存储空间,特别是使用无损格式时
## 🔄 更新日志
### v0.1.0
- 重新设计的模块化架构
- 改进的元数据提取功能
- 更灵活的文件夹管理选项
- 增强的错误处理和用户反馈
## 🤝 支持与反馈
如果遇到问题或有改进建议,欢迎反馈!
---
*享受更智能的图片保存体验!* 🎨
插件只依赖 ComfyUI 已包含的 Pillow 与 NumPy,不需要额外配置环境。