Agent调度器
介绍AgentScheduler,一个A1111/Vladmandic Stable Diffusion Web UI扩展,用于增强你的图像生成工作流程!
目录
兼容性
AgentScheduler的这个版本与以下最新版本兼容:
旧版本可能无法正常工作。
安装
使用Vlad的WebUI分支
该扩展已包含在Vlad分支的内置扩展中。
使用内置扩展列表
- 打开扩展标签页
- 打开"从URL安装"子标签页
- 粘贴仓库链接: https://github.com/ArtVentureX/sd-webui-agent-scheduler.git
- 点击"安装"
手动克隆
git clone "https://github.com/ArtVentureX/sd-webui-agent-scheduler.git" extensions/agent-scheduler
(第二个参数指定文件夹名称,你可以选择任何你喜欢的名称)。
基本功能
1️⃣ 输入你常用的提示词和设置。入队将你当前的提示词、设置、控制网络发送到AgentScheduler。
2️⃣ AgentScheduler扩展标签页。
3️⃣ 查看所有排队任务、当前正在生成的图像和任务的相关信息。拖放每行开头的手柄来重新安排生成顺序。
4️⃣ 暂停停止队列自动生成。恢复开始生成。
5️⃣ 按▶️优先处理选定任务,或在队列暂停时启动单个任务。删除你不再需要的任务。
6️⃣ 显示队列历史记录。
7️⃣ 筛选任务状态或按文本搜索。
8️⃣ 收藏任务以便更容易筛选。
9️⃣ 双击任务ID以重命名并快速更新基本参数。点击↩️重新入队旧任务。
🔟 点击每个任务查看生成结果。
隐藏功能:
同时将所有检查点排队
右键点击入队
按钮并选择使用所有检查点排队
可以快速将当前设置与所有可用检查点一起排队。
使用部分检查点排队
启用自定义检查点选择(见下面的扩展设置部分),你可以选择一个文件夹(或子文件夹)来使用其中的所有检查点排队任务。例如:选择anime
将排队anime\AOM3A1B_oragemixs
、anime\counterfeit\Counterfeit-V2.5_fp16
和anime\counterfeit\Counterfeit-V2.5_pruned
。
编辑排队任务
双击排队任务进行编辑。你可以通过更改task_id
来命名任务,或更新一些基本参数:prompt
、negative prompt
、sampler
、checkpoint
、steps
、cfg scale
。
扩展设置
转到设置 > Agent调度器
访问扩展设置。
禁用队列自动处理:选中此选项可在启动时禁用队列自动处理。你也可以从扩展标签页暂时暂停或恢复队列。
队列按钮位置:更改UI上队列按钮的位置。
隐藏检查点下拉菜单:扩展提供了一个自定义检查点下拉菜单。
默认情况下,排队任务使用当前加载的检查点。但是,更改系统检查点需要一些时间将检查点加载到内存中,而且你也不能在图像生成过程中更改检查点。你可以使用此下拉菜单快速将任务排队使用自定义检查点。
自动删除队列历史:选择保留队列历史记录的时间段。早于配置值的任务将被自动删除。请注意,收藏的任务不会被删除。
API访问
可以通过HTTP API访问此扩展的所有功能。你可以通过http://127.0.0.1:7860/docs
访问API文档。记得在启动参数中包含--api
。
队列任务
两个API /agent-scheduler/v1/queue/txt2img
和/agent-scheduler/v1/queue/img2img
支持原始webui API的所有参数。这些API返回任务ID,可用于稍后执行更新。
{
"task_id": "string"
}
下载结果
使用API /agent-scheduler/v1/results/{id}
获取生成的图像。API支持两种响应格式:
- json格式,base64编码
{
"success": true,
"data": [
{
"image": "data:image/png;base64,iVBORw0KGgoAAAAN...",
"infotext": "1girl\nNegative prompt: EasyNegative, badhandv4..."
},
{
"image": "data:image/png;base64,iVBORw0KGgoAAAAN...",
"infotext": "1girl\nNegative prompt: EasyNegative, badhandv4..."
}
]
}
- 带查询字符串
zip=true
的zip文件
API回调
使用参数callback_url
排队任务以注册API回调。例如:
{
"prompt": "1girl",
"negative_prompt": "easynegative",
"callback_url": "http://somehost:port/task_completed"
}
回调端点必须支持POST
方法,正文使用multipart/form-data
编码。正文格式:
{
"task_id": "abc123",
"status": "done",
"files": [图像文件列表],
}
使用FastApi
处理端点的示例代码:
from fastapi import FastAPI, UploadFile, File, Form
@app.post("/task_completed")
async def handle_task_completed(
task_id: Annotated[str, Form()],
status: Annotated[str, Form()],
files: Optional[List[UploadFile]] = File(None),
):
print(f"收到 {len(files)} 个文件,任务 {task_id} 状态 {status}")
for file in files:
print(f"* {file.filename} {file.content_type} {file.size}")
# ... 对文件内容进行操作 ...
# 收到 1 个文件,任务 3cf8b150-f260-4489-b6e8-d86ed8a564ca 状态 done
# * 00008-3322209480.png image/png 416400
故障排除
确保你运行的是最新版本的扩展和更新版本的WebUI。
- 要更新扩展,请转到"扩展"选项卡,点击"检查更新",然后点击"应用并重启界面"。
- 要更新WebUI本身,请在与webui.bat(或webui.sh)相同的文件夹中运行命令
git pull origin master
。
尝试找出问题原因的步骤:
- 检查WebUI输出控制台是否有错误。
- 在浏览器中按F12,然后转到控制台选项卡并重新加载页面,在此处查找任何错误消息。
常见错误:
AttributeError: module 'modules.script_callbacks' has no attribute 'on_before_reload'
如果在输出控制台中看到此错误消息,请尝试将WebUI更新到最新版本。
更新:扩展已更新为打印此警告消息:您的SD WEBUI已过时,AGENT SCHEDULER将无法正常工作。 您仍然可以使用该扩展,但在重新加载后它将无法正常工作。
ReferenceError: submit_enqueue is not defined
如果点击"入队"按钮后没有反应,并且在浏览器F12控制台中发现上述错误消息,请按照此评论中的步骤操作。
更新:此问题现已修复。
TypeError: issubclass() arg 1 must be a class 请更新扩展,可能已经修复。
TypeError: Object of type X is not JSON serializable 请更新扩展,应该已经修复。如果没有,请提交一个问题报告,并附上已安装扩展的列表。
对于其他错误,请随时提交新的Github问题。
路线图
列出此扩展可能的功能升级
- 连接多个SD webui节点以运行任务。
- 与GenAI管理平台ArtVenture同步
贡献
我们欢迎对Agent Scheduler扩展项目的贡献!请随时通过GitHub仓库提交问题、错误报告和功能请求。
如果您觉得这个扩展有帮助,请给我们一个⭐!
许可证
本项目采用Apache License 2.0许可。
免责声明
本项目的作者不对使用此软件造成的任何损害或法律问题负责。用户在使用此软件时需自行确保遵守任何适用的法律和法规,并承担与使用相关的所有风险。作者不对使用输入或输出内容引起的任何版权侵犯或法律问题负责。
由构建ARTVENTURE、ATHERLABS和SIPHER ODYSSEY的团队精心打造
关于ArtVenture(即将推出™️)
ArtVenture为生成式AI图像工作流程提供强大的协作功能。它旨在帮助各级设计师和创意专业人士更高效地协作,释放创造力,并对创作过程实现完全的透明度和跟踪。
当前功能
ArtVenture提供以下主要功能:
- 无缝访问:可在桌面和移动设备上使用
- 多人协作和协作式用户体验。强大的协作功能,如实时评论和反馈、版本控制以及图像/文件/项目共享。
- 强大的语义搜索功能。
- 站在巨人的肩膀上,利用A1111/Vladnmandic和其他先驱者的成果,在一个平台上提供从创意(草图/想法/业务需求)到最终结果(图像/文案发布/任务完成)的协作流程
- 某些重复任务的自动化工具
- 安全透明,利用哈希和元数据追踪模型、loras、图像的来源和历史,实现可追溯性和便于协作。
- 为初学者和有经验的用户提供个性化的用户体验,通过编辑提示和负面提示、选择新的训练模型和所需的输出质量,快速重新组合现有的SD图像。
目标受众
ArtVenture面向以下目标受众:
- 休闲创作者
- 小型设计团队或自由职业者
- 设计机构和工作室
🎉 敬请期待更新
我们希望您觉得这个扩展有用。随着我们不断完善这个扩展以支持我们的创意工作流程,我们将随时添加新功能和改进。
要及时了解最新消息和更新,请务必在GitHub和Twitter(即将推出™️)上关注我们。我们欢迎您的反馈和建议,也很期待听到AgentScheduler如何帮助您简化工作流程并释放创造力!