comfyui_EncryptPreview
ComfyUI's non-persistent (in-memory) image preview feature
ComfyUI Encrypt Preview
独立的加密预览节点,接收 IMAGE,使用 ComfyUI 原生画布的网格、点击查看和方向键切换。图片在服务端内存中编码后做 XOR 混淆,浏览器还原显示。
安装
- 解压安装包,将其中的
comfyui-encrypt文件夹放入ComfyUI/custom_nodes/。 - 重启 ComfyUI,并强制刷新浏览器页面。
- 搜索 Encrypt Preview Image,用它替换工作流中的普通预览节点。
也可以在 ComfyUI 目录中通过 Git 安装:
git clone https://github.com/chou18194766xx/comfyui_EncryptPreview.git custom_nodes/comfyui-encrypt
已有旧仓库安装时,在其原目录执行 git pull 更新。ZIP 升级时先将旧副本移出 custom_nodes,再放入新目录,保持只有一份预览插件。新版沿用内部节点名 EncryptPreviewImage,升级后需重启 ComfyUI 并刷新网页。
依赖为 NumPy、Pillow、aiohttp,通常 ComfyUI 已经安装。若启动时提示缺少依赖,请使用 运行 ComfyUI 的同一个 Python 执行:
python -m pip install -r ComfyUI/custom_nodes/comfyui-encrypt/requirements.txt
无需前端构建或安装第三方预览扩展。卸载时移出该插件文件夹并重启 ComfyUI。
保存功能由独立的 ComfyUI Encrypt Save 提供,两者可以分别安装。
使用
- 将图片输出连接到节点的
images输入并运行。 - 多张图片以原生网格逐步显示;点击缩略图加载该张完整 PNG,左右方向键切换,
Esc返回网格。 - 右键节点选择 保存原图,下载当前选择或鼠标指向的原图。下载保留原分辨率和 PNG 像素,不是缩略图。
- 读取失败时,状态行显示原因;右键 重试预览 可重试请求。缓存过期则重新运行节点,上游图像生成可以继续命中 ComfyUI 缓存。
兼容与范围
已验证 ComfyUI 0.35.0 / 前端 1.51.10 的传统画布模式。本版直接复用这一模式的原生图片控件;使用 Nodes 2.0 时请在设置中关闭它,节点也会显示提示。其他核心或前端版本尚未验证。
本节点不写服务端明文预览文件。含有本节点的执行任务会关闭原生采样实时预览;普通任务仍使用原设置。工作流中的其他 PreviewImage、SaveImage 或第三方图片输出不受本插件接管。
原图以 PNG 在内存中保留,缩略图长边最多 384,通常为 JPEG;带透明通道的缩略图使用 PNG。浏览器最多同时处理两张图片,只保留当前一张大图;节点离开画布视野、折叠或移除后释放相应图片资源。
默认缓存上限 512 MiB,完成后保留 30 分钟;单次最多 256 张、每张最多 16,777,216 像素。当前批次超出缓存容量会明确报错,需要减小批次或分辨率。重启服务会清空预览历史中的图片缓存。
这里的“加密”是按需求采用的轻量 XOR 混淆,没有密码或密钥管理,不提供密码学保密。PNG 不嵌入工作流元数据。
已验证的性能
本机 CPU 测试通过真实 ComfyUI IMAGE 节点处理 100 张 1024×1024 图片,使用 Kodak 23 照片的四个变体循环构成批次;不包含模型采样或 GPU 工作流。
| 指标 | 本次测量 | | --- | ---: | | 首张缩略图就绪,含测试图片批次创建 | 0.90 秒 | | 加密预览节点处理 | 6.70 秒 | | 同样输入的原生 PreviewImage 节点处理 | 5.19 秒 | | 100 张缩略图传输 | 2.56 MiB | | 混淆后的原图与缩略图缓存 | 179.39 MiB | | 100 张缩略图的解码像素量 | 56.25 MiB |
后台比原生多约 29% 的耗时,包含缩略图生成、校验和混淆;浏览器先传输缩略图,原图按需读取。最后一项是图片像素量,不是浏览器总内存。上述为本机单次集成测量,未验证 Kaggle、GPU 或远程网络效果。
开发验证
python -m unittest discover -s tests -p test_core.py -v
node --test tests/test_codec.mjs tests/test_frontend.mjs
浏览器集成测试使用 tests/comfy_fixture_node.py 和 tests/browser.html,只安装到隔离的 ComfyUI 测试环境。覆盖 100 张索引完整性、原图字节一致性、取消、部分失败、过期、上游缓存复用、资源释放,以及普通工作流的采样预览恢复。测试辅助节点和接口不包含在安装包中。