comfyui_prompt_all_in_one
A ComfyUI extension with 2 custom nodes.
comfyui-prompt-all-in-one
面向 ComfyUI 的提示词编辑、整理和翻译扩展。项目由
sd-webui-prompt-all-in-one
迁移而来,使用两个专用 STRING 节点和可拖动、可缩放的 React 悬浮编辑器代替 A1111 固定的正/负提示词输入框。
功能
Prompt All in One · Positive与Prompt All in One · Negative两个 V3 节点,原样输出STRING。- 标签拆分、直接编辑、拖拽排序、批量启用/禁用/删除、权重增减、括号包装、格式化和黑名单。
- 完整中英文分组提示词词库,支持搜索和一键插入。
- 正向、负向分别保存最近 100 条编辑历史,并提供独立收藏夹。
- 原项目的在线翻译服务以及兼容 OpenAI API 的提示词生成。
- 检测 ComfyUI 已安装的 Checkpoint、LoRA 和 Embedding 引用。
- 简体中文和英文界面,适配 ComfyUI 明暗主题。
- 按 ComfyUI 用户隔离历史、收藏、设置和服务凭据。
- 从旧版
storage文件夹一次性导入历史、收藏和非敏感设置。
安装
推荐通过 ComfyUI Manager 搜索 comfyui-prompt-all-in-one 安装。
手动开发安装:
Set-Location E:\ComfyUI-Dev\custom_nodes
git clone https://github.com/DaNiuNai/comfyui_prompt_all_in_one.git
Set-Location .\comfyui_prompt_all_in_one
uv pip install --python ..\..\.venv\Scripts\python.exe -r requirements.txt
Set-Location .\ui
npm ci
npm run build
完成后重启 ComfyUI。发布包通常已经包含 dist/,只有直接从源码开发时才需要手动构建前端。
使用
- 在工作流中添加正向或负向 Prompt All in One 节点。
- 点击节点上的
Open Prompt Editor打开悬浮编辑器;再次点击同一节点按钮可关闭窗口。 - 在悬浮窗口编辑标签,将节点的
STRING输出连接到对应的文本编码节点。普通画布选择不会切换目标,点击另一个提示词节点的按钮才会显式改绑。 - 编辑框失焦、显式改绑或关闭窗口时会写入历史;连续相同内容不会重复保存。
节点上的标准多行文本框始终可直接编辑。悬浮窗口保存的禁用状态、译文和排序信息随工作流节点属性一起序列化,实际输出仍是普通字符串。窗口的位置、尺寸和开关状态保存在当前浏览器中,但重载后不会自动恢复目标节点。
LoRA 与模型检测
悬浮编辑器只检测 <lora:name:weight>、embedding:name 和 checkpoint:name 引用是否存在。ComfyUI 不会像 A1111 一样解析 <lora:...> 并自动加载模型;必须在工作流中使用 LoRA Loader 等对应节点。
旧数据导入
在“设置 → 导入旧数据”中选择旧项目的 storage 文件夹:
txt2img与img2img历史合并到正向分类。txt2img_neg与img2img_neg合并到负向分类。- 导入采用合并模式,可先预览;重复导入是幂等的。
- API 密钥不会上传或导入,必须在新扩展中重新填写。
浏览器只上传白名单中的 JSON 文件,后端不接受任意服务器磁盘路径。
数据与安全
用户数据位于:
ComfyUI/user/<用户 ID>/prompt_all_in_one/
服务凭据仅保存在对应用户的服务端 JSON 中,接口只返回脱敏值,日志不会主动输出密钥。凭据目前没有额外加密,请依靠操作系统文件权限保护 ComfyUI 用户目录,并避免将该目录纳入版本控制或公开备份。
翻译和 AI 操作会把所选文本发送到用户配置的第三方服务;普通工作流执行不会触发任何外部请求。离线 mBART、运行时安装依赖、A1111 主题 CSS 和远程自更新不在迁移范围内。
开发与验证
前端命令在 ui/ 中运行:
npm ci
npm run typecheck
npm run lint
npm test -- --runInBand
npm run build
Python 命令在项目根目录运行:
uv sync --extra dev
uv run ruff check .
uv run mypy
uv run pytest
dist/ 是 Vite 生成目录,请勿手工修改。
许可证与来源
本项目使用 GPL-3.0-only。迁移的词库、翻译服务元数据和适配器保留原项目的 MIT 许可,详见 THIRD_PARTY_NOTICES.md。