#ai #终端窗口 #稳定扩散 #comfyui

app yara_comfyui_tool

ComfyUI 的基于终端的伴侣程序

2 个版本 (1 个稳定版本)

1.0.0 2024年2月1日
0.1.0 2023年7月23日

#780 in 命令行工具

GPL-3.0 许可证

545KB
2K SLoC

Yara

Yara 是基于终端的 ComfyUI 伴侣工具。它能够:

  • 通过保存/加载到文件暂停队列生成
  • 通过编号/ID 取消排队生成
  • 检查正在运行/待处理的队列中的提示和模型
  • 快速使用某些更改重新生成许多图像(指定节点取消静音、静音或由 LoadImage 节点替换)
  • 切换睡眠模式,防止您的计算机进入睡眠状态并停止 ComfyUI
  • 保持您的终端直到所有作业/提示完成
  • 创建一个始终显示最新生成的图像的窗口
  • 显示图像的嵌入式生成数据
  • 从 CivitAI 帮助下载

安装

用法


安装

下载 "yara.exe"。在 "yara.exe" 所在的目录/文件夹中打开终端,并通过终端简单地输入 yara 运行程序。

首次运行时,您必须选择您的 ComfyUI 输出文件夹,然后将自动创建一个配置文件。您可以使用 yara config 参数打开包含配置文件的文件夹,手动编辑它(大多数选项只是用于配置 yara preview)。



用法

  1. 保存、加载、删除和列出队列
  2. 检查正在运行的队列
  3. 按编号删除生成
  4. 修改后重新生成图像
  5. 切换睡眠模式
  6. 检查图像的嵌入式生成信息
  7. 创建显示最新生成的图像的窗口
  8. 打开包含配置文件的文件夹
  9. 从 CivitAI 下载 10 打印帮助
  10. 别名

保存、加载、删除和列出队列

要保存待处理的生成到文件,运行

yara save [name]

如果您希望保存当前正在进行的生成,还可以使用 "yara save -wr [name]",请注意,Yara 无法保存部分生成;保存和加载正在进行的作业将重新从开始生成。

现在,您可以清理队列或关闭 ComfyUI。当您稍后想恢复生成时,再次运行以排队

yara load [name]

在将提示发送到ComfyUI后,Yara将等待ComfyUI完成图像生成,然后再将工作流程数据嵌入其中。如果您在所有图像生成之前退出Yara,则加载的图像不会有工作流程元数据;您可以使用yara fix来修复此问题。

您可以通过输入以下内容来打印所有已保存队列的列表:

yara list

您可以使用以下命令来删除一个已保存的队列:

yara delete [name]

检查正在运行的队列

要打印所有排队提示的ID,以及它们的模型、lora和正提示文本,请运行:

yara examine

如果您加载了一个长队列但忘记了它们的细节,或者如果您弄乱了一些提示(例如忘记删除一个lora)并想知道要删除哪些提示ID,这可能会很有用。

按编号删除生成

要取消排队的生成,请运行:

yara cancel [prompt IDs]

其中[提示ID]是一个由空格分隔的提示ID列表(当您在ComfyUI中使用“查看队列”时为队列标记递增数字)。

您也可以在提示ID后附加"+"来取消该提示以及下一个100个提示,或者使用"-"作为分隔符指定提示的包含范围。

yara cancel 60+       // Cancel generations 60, 61, 62, ..., 157, 158, 159

yara cancel 25-30     // Cancel generations 25, 26, 27, 28, 29, 30

在ComfyUI中删除许多提示很麻烦。当您意外地使用错误的参数排队提示或不再关心队列的一部分时,这将使部分取消更快、更容易。

修改后重新生成图像

此功能允许您快速重新生成许多图像,同时在工作流程中做出某些更改。

节点标题用于指定要更改哪些节点以及要做出什么更改。在ComfyUI中,设置要更改的节点上的自定义标题(右键单击节点 -> "标题"),并将其编辑为包含Yara的一条命令。

可用命令包括

命令 别名 功能 限制
!yara_unmute !yum 取消静音此节点。 仅适用于KSampler、KSamplerAdvanced和SamplerCustom节点。
!yara_mute !ym 静音此节点。
!yara_load_here !ylh 将此节点替换为LoadImage节点,加载原始生成的图像 仅适用于输出"IMAGE"的节点

在ComfyUI中生成图像。当您想要使用修改后的节点重新生成它时,请运行:

yara regen [filepath]

以重新生成图像。您可以将多个文件用空格分隔;我建议在文件浏览器中选择图像,并将其拖放到终端窗口中。

或者,您可以将要重新生成的图像移动到文件夹中,然后简单地运行

yara regen

不带任何参数,以重新生成该文件夹中的所有图像。Yara在此查找图像的文件夹可以在配置文件中自定义(yara config)。默认情况下,它在ComfyUI/output/regen中查找。

此功能主要针对两遍工作流程(其中您生成一个低分辨率图像,将其上采样,然后在低去噪的情况下对第二个KSampler进行另一遍)。您可以静音第二个采样器,并在其上设置!yara_unmute,生成许多低分辨率图像,并选择您想要进行第二遍的图像。然后,而不是手动加载图像工作流程并在重新生成之前取消静音节点,只需通过yara regen发送图像即可。您还可以在指向第二个采样器的VAEEncode上设置!yara_load_here,并在第一个采样器的SaveImage输出上设置!yara_mute,以避免重新生成低分辨率图像,如果您在CPU或老GPU上,这样可以节省时间。

为了正常工作,此功能需要将ComfyUI工作流程元数据嵌入到原始图像中。因此,它可能无法与第三方工具生成的图像一起使用。

切换睡眠模式

ComfyUI不会阻止Windows进入睡眠模式,但睡眠模式会停止ComfyUI的生成。您可以使用yara通过以下方式方便地切换睡眠模式:

yara caffeine   // disable sleep mode
yara melatonin  // enable sleep mode

默认情况下,'褪黑素'将在30分钟无活动后让Windows进入睡眠模式。您可以在配置文件中自定义此时长。

在队列清空前停止终端

要使终端在ComfyUI队列清空前保持运行,请运行:

yara wait

这主要用于在ComfyUI生成完成后停止终端。通常,我会禁用睡眠模式,然后将'yara wait'与'yara melatonin'链式调用。这样,我可以排队生成多个任务,然后离开电脑——当ComfyUI运行完成后,睡眠模式将被重新启用,这样我的电脑就不会无谓地运行。我也可能会在ComfyUI完成后执行其他命令,例如,如果我想在夜间生成图像并训练LorA,但又不想两者同时运行。

作为快捷方式,您可以使用

yara cwm

来禁用睡眠模式,等待队列清空,然后重新启用睡眠模式。(cwm代表Caffeine/Wait/Melatonin)。

检查图像嵌入的生成信息

运行

yara image

以启动交互式会话。输入图像的文件路径以获取图像的生成数据。模型、LorA、正提示文本和负提示文本将被打印到屏幕上,而完整的生成数据将以良好的格式复制到您的剪贴板。

(注意:您只需将图像拖放到终端窗口中,它将自动输入图像的文件路径)。

创建显示最新生成的图像的窗口

如果您想在不打开ComfyUI窗口的情况下预览生成输出,可以运行

yara preview

以打开一个始终位于顶部的窗口,该窗口会自动显示最近生成的图像。配置文件中(yara config)提供了配置窗口位置/大小或切换始终位于顶部/鼠标透过的设置。

打开包含配置文件的文件夹

要打开包含config.json文件的文件夹,请运行

yara config

从CivitAI下载

要从CivitAI下载模型/loras等,请运行

yara cai [URLs]

其中[URLs]是CivitAI模型/loras等的URL列表,它将打开浏览器窗口下载它们,并将标题、URL、文件名、关键字和描述复制到您的剪贴板。

我主要使用后一个功能,因为我保留了一个包含LorA相关信息的文本文件,这使得复制/粘贴所有关键信息变得容易。如果您只想将信息复制到剪贴板而不下载任何内容,请添加'-nd'标志

yara cai -nd [URLs]

打印帮助信息

要显示可用命令/参数,请使用

yara help

别名

一些命令可以缩短,以方便使用

命令 别名
保存 s
加载 l
删除 d
检查 e
等待 w
咖啡因 c
褪黑素 m
预览 p
图像 i
帮助 h
重新生成 rg

其他

如果您有任何问题、疑问或对某些功能/配置选项的请求,请随时创建问题或给我发消息。

本程序主要针对Windows进行开发。有一个Linux版本,但它缺少一些功能(睡眠模式切换),并且在非常简短的测试中,图像预览功能没有工作。我主要使用Windows,Linux下载量占总体下载量的很小一部分,因此这不是我的优先事项。如果您想在Linux上使用它,请随时提交拉取请求、GitHub问题或只是发消息给我,这样我知道人们对此感兴趣。

此程序是为截至2024年1月31日的最新ComfyUI版本二进制文件构建的。未来的ComfyUI版本可能会更改API,从而破坏此程序的某些部分。

依赖项

~24–38MB
~699K SLoC