## 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 的节点菜单是在页面加载时初始化的。保存/删除操作是在后端执行的,因此您需要**运行一次工作流**(让后端执行保存动作),然后**刷新浏览器页面**(重新加载前端菜单),才能看到更新后的预设列表。