Files
2025-12-24 12:41:17 +08:00

122 lines
7.6 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
## ComfyUI_PromptQueue
这是一个为 [ComfyUI](https://github.com/comfyanonymous/ComfyUI) 设计的自定义节点,旨在简化和自动化批量生成图像时的工作流。它允许你通过多行文本、外部文件以及可复用的模板来管理和序列化你的提示词。
---
## 📢 更新日志 (Update Log)
### 2025-12-09 重要更新:功能拆分与逻辑重构
为了提供更清晰的使用体验,本次更新对核心功能进行了重构:
1. **节点拆分**: 将原有的 `Style Prompt Queue` 拆分为两个独立的节点:
* `PQ (Incremental) / 增量队列`: 专注于单次/逐行生成,支持强大的索引控制。
* `PQ (Batch) / 批量队列`: 专注于一次性批量输出。
2. **预设系统优化**:
* **功能增强**: 批量版 (`PQ Batch`) 现已支持完整的预设保存与删除功能。
* **简易版升级**: 简易版 (`PQ Simple`) 现已增加预设选择功能,可直接调用已有预设。
* **文件分离**: 预设数据现已独立存储于 `_prompt_queue_state/presets.json`,方便分享与备份;运行状态隔离在 `state.json`。
* **⚠️ 注意**: 保存或删除预设后,**必须运行一次工作流**以执行操作,然后**刷新浏览器页面**,新的预设列表才会显示在下拉菜单中。
3. **节点重命名**: 采用更紧凑的中英命名(如 `PQ (Incremental) / 增量队列`),显著缩短节点宽度,提升 UI 体验。
4. **移除过时节点**: 移除了旧版的 `PromptQueue` 和 `SimplePromptQueue`,建议全面迁移到新版节点。
5. **全新的索引控制**: 引入了 `索引设置` 参数,替代了旧版的队列标识逻辑,支持更灵活的行选择(重置、锁定、列表循环)。
6. **UI 优化**: 调整了参数顺序,更符合操作直觉:前缀 -> 主体 -> 后缀。
7. **汉化**: 全面汉化了节点参数和选项。
---
## 🧩 节点介绍
### 1. PQ (Incremental) / 增量队列 🆕
这是您日常创作的主力节点。它专为**逐行调试**和**稳定生成**设计。
* **核心逻辑**: 每次运行只输出**一行**提示词。
* **容错机制**: 如果您的 KSampler 设置 `Batch Size > 1` (例如 4),该节点会输出 4 份**完全相同**的 conditioning。这意味着您将得到 4 张基于同一提示词的图片,方便优选,提高出图容错率。
* **参数详解**:
* **全局前缀**: 一个全局通用的提示词前缀(例如通用画质词、常用 LoRA 触发词等),**始终拼在最前面**。
* **使用规则**: 仅当你在“全局前缀”里填写内容时才会生效;留空则等同于旧版本逻辑(不添加任何全局前缀)。
* **画师风格提示词 (前缀)**: 输入风格、艺术家等前缀。
* **多行文本**: 核心主体提示词列表,每行一个。
* **提示词后缀**: 画面质量、细节描述等通用后缀。
* **使用文件**: 从文件读取提示词列表(每行一个)。
* **提示词文件夹 / 文件名**: 将文件路径拆分为“文件夹 + 文件名”,文件扩展名固定为 `.txt`。
* 示例:文件夹 `C:\Users\Administrator\Desktop\prompt` + 文件名 `21` -> 实际读取 `...\prompt\21.txt`
* **索引设置 (核心功能)**: 控制本次运行使用哪一行提示词。
* `-1` (或留空): **记忆模式**。接着上次的进度继续跑(适合长序列生成)。
* `0`: **顺序模式**。重置计数器,从第 1 行开始,并在每次生成后自动递增(适合想从头完整跑一遍队列)。
* `5` (数字 > 0): **指定模式**。强制只跑第 N 行 (如输入 5 则跑第 5 行),**不会**自动递增(适合反复调试特定提示词)。
* `2,8,35`: **列表模式**。只在第 2、8、35 行之间循环生成(适合精选生成)。
* **文本输出**: 提供 `prompt_text` 输出端口,可连接 ShowText 节点查看当前使用的完整提示词。
### 2. PQ (Batch) / 批量队列 🆕
专为**一次性大批量生成**设计。
* **核心逻辑**: 一次性输出多行提示词的 conditioning。
* **Batch 对应**: 如果 KSampler 设置 `Batch Size = 4`,该节点会分别输出列表中的第 1, 2, 3, 4 行提示词。生成的 4 张图将分别对应这 4 个不同的提示词。
* **预设支持**: 现已支持保存和加载预设模板。
* **⚠️ 注意**: 保存或删除预设后,请**刷新浏览器**以更新预设列表。
* **文本输出**: 提供 `prompt_text_list` 输出端口,输出当前批次的所有提示词文本。
* **提示词来源**: 同样支持“使用文件 + 提示词文件夹/文件名(固定 .txt)”。
### 3. PQ Simple / 简易版系列 🆕
包含 **增量简易** (`PQ Simple (Incr.)`) 和 **批量简易** (`PQ Simple (Batch)`) 两个节点。
* **特点**: 移除了保存和删除预设的复杂参数,界面极简。
* **预设调用**: 保留了 `预设模板` 下拉菜单,可以**读取和使用**在完整版中保存的预设。
* **适用场景**: 当您不需要修改预设,只需要专注于生成时使用。
### 4. Negative PQ / 负面队列
专门用于管理和应用负面提示词的节点。
* **核心功能**:
* **多行文本**: 输入所有负面提示词。
* **预设系统**: 支持保存和加载常用的负面提示词组合。
* **模板支持**: 可以定义模板结构。
---
## 🛠️ 安装
1. 打开命令行工具。
2. 进入 ComfyUI 的 `custom_nodes` 目录:
```bash
cd <你的ComfyUI根目录>/custom_nodes
```
3. 克隆本仓库:
```bash
git clone https://github.com/cyan9977/ComfyUI_PromptQueue.git
```
4. **重启 ComfyUI**。
---
## 🚀 快速上手 (PQ Incremental)
1. **添加节点**: 在 ComfyUI 中添加 `PQ (Incremental) / 增量队列` 节点。
2. **连接 CLIP**: 将上游的 `CLIP` 输出连接到此节点的 `clip` 输入。
3. **配置提示词**:
* **画师风格**: `masterpiece, best quality, by Makoto Shinkai`
* **多行文本**:
```
a girl on the beach
a boy in the park
a robot on a tree
```
* **后缀**: `8k, cinematic lighting`
4. **调试**: 将 `索引设置` 设为 `0`,确保每次点击生成都从第一行 "a girl..." 开始。
5. **批量容错**: 将 KSampler 的 `batch_size` 设为 4。点击生成,你将获得 4 张不同随机种子的 "a girl on the beach"。
6. **自动化**: 将 `索引设置` 改回 `-1`,再次点击生成,它将自动跳到 "a boy..."。
---
## ❓ 常见问题 (FAQ)
* **为什么删除了旧的 PromptQueue?**
* 旧节点功能较为基础,且“运行模式”参数容易混淆。新的 Style 系列节点通过分离“增量”和“批量”逻辑,并引入强大的“索引设置”,完全覆盖并增强了旧节点的功能。
* **预设保存在哪里?**
* 预设数据现在独立存储在 `ComfyUI/custom_nodes/ComfyUI_PromptQueue/_prompt_queue_state/presets.json` 文件中。您可以直接复制该文件来备份或分享您的预设。
* (旧版的 `state.json` 现仅用于存储运行计数器)。
* **保存或删除预设后,为什么下拉菜单没变化?**
* ComfyUI 的节点菜单是在页面加载时初始化的。保存/删除操作是在后端执行的,因此您需要**运行一次工作流**(让后端执行保存动作),然后**刷新浏览器页面**(重新加载前端菜单),才能看到更新后的预设列表。