2 个版本 (1 个稳定版本)
1.0.0 | 2024年2月1日 |
---|---|
0.1.0 | 2023年7月23日 |
#780 in 命令行工具
545KB
2K SLoC
Yara
Yara 是基于终端的 ComfyUI 伴侣工具。它能够:
- 通过保存/加载到文件暂停队列生成
- 通过编号/ID 取消排队生成
- 检查正在运行/待处理的队列中的提示和模型
- 快速使用某些更改重新生成许多图像(指定节点取消静音、静音或由 LoadImage 节点替换)
- 切换睡眠模式,防止您的计算机进入睡眠状态并停止 ComfyUI
- 保持您的终端直到所有作业/提示完成
- 创建一个始终显示最新生成的图像的窗口
- 显示图像的嵌入式生成数据
- 从 CivitAI 帮助下载
安装
用法
安装
直接下载链接
下载 "yara.exe"。在 "yara.exe" 所在的目录/文件夹中打开终端,并通过终端简单地输入 yara
运行程序。
首次运行时,您必须选择您的 ComfyUI 输出文件夹,然后将自动创建一个配置文件。您可以使用 yara config
参数打开包含配置文件的文件夹,手动编辑它(大多数选项只是用于配置 yara preview
)。
用法
- 保存、加载、删除和列出队列
- 检查正在运行的队列
- 按编号删除生成
- 修改后重新生成图像
- 切换睡眠模式
- 检查图像的嵌入式生成信息
- 创建显示最新生成的图像的窗口
- 打开包含配置文件的文件夹
- 从 CivitAI 下载 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