我用 Rust 写了个 AI 媒体管家:Gliding Horse 赋能 media_agent,目标是让 ComfyUI 工作流彻底自动化
我用 Rust 写了个 AI 媒体管家:Gliding Horse 赋能 media_agent,让 ComfyUI 工作流彻底自动化
摘要:本文深入介绍如何用 Rust 构建 AI Agent 操作系统 Gliding Horse,并将其能力注入 ComfyUI 图片生成领域,打造出 media_agent 自动化工作流系统。文章详细解析了动态 PDCA 编排、JSON‑LD 语义总线、33+ 自定义节点、13 种模型架构支持等核心技术,并通过与传统 ComfyUI 的对比,展示 Agent 驱动的图片/视频生成如何从“手工作坊”进化为“自动化流水线”。适合对 Stable Diffusion、AI Agent、Rust 系统开发感兴趣的读者。
关键词:Rust, AI Agent, ComfyUI, Gliding Horse, media_agent, Stable Diffusion, PDCA, 工作流自动化, 图片生成, 视频生成, JSON-LD, 模型管理
玩过 Stable Diffusion 的朋友都知道,搭工作流是个体力活。文生图、图生图、ControlNet、LoRA 叠加……光是把节点连对就能耗掉一个下午。更别提视频生成、模型管理这些高级需求,一旦流程复杂起来,ComfyUI 那满屏的蜘蛛网简直让人头皮发麻。
我就想:能不能让 AI 自己来搭工作流?于是我把自己之前写的 Gliding Horse(流马)——一个完整的 AI Agent 操作系统——的能力注入到了图片生成领域,做出了 media_agent。它是一个用 Rust 从零写的 ComfyUI Agent,不仅能跑图,还能自己规划、执行、检查生成任务,把 PDCA 循环和 JSON‑LD 语义工作流带到了图像生成场景。
一、Gliding Horse:给 Agent 配上一套“操作系统”
先简单介绍下 Gliding Horse。它是一个用 Rust 构建的 AI Agent 操作系统,核心思想是把 LLM 当成 CPU,给它配上缓存、内存、文件系统和权限管理。它最大的特色是动态 PDCA 编排和JSON‑LD 语义总线:
- 动态 PDCA:SA(调度器)根据任务的 5W2H 自动决定执行拓扑——简单任务直接交给 DA 执行,复杂任务自动拆解为计划、执行、检查、决策的循环,甚至并行调度多个 Agent。
- JSON‑LD DAG:所有的任务步骤、技能依赖、中间产物都用 JSON‑LD 表达,通过 SPARQL 查询实时编译成可执行的有向无环图,Agent 不再依赖预设的静态流程。
传统 ComfyUI 工作流是一个静态的 JSON 文件,节点之间的连接是死的。而 Gliding Horse 让工作流活起来:Agent 可以根据用户意图自动选择合适的模型、采样器、后处理步骤,并动态组装出执行图。
二、media_agent:把 Agent 能力注入 ComfyUI
media_agent 就是基于 Gliding Horse 内核开发的增强智能图片/视频生成工作流系统。它完全用 Rust 编写,在底层集成了 stable-diffusion.cpp 和 llama.cpp 作为推理引擎,支持 13 种模型类型、33+ 自定义节点以及 29 个预置工作流模板。
整个系统的架构长这样:
你可以看到,media_agent 在普通的推理引擎之上架设了一层Agent 编排层,这正是 Gliding Horse 的核心价值:它让图片/视频生成不再只是“按图索骥”地执行一个固定 JSON,而是变成了一个可决策、可纠错、可复用的认知流程。
三、PDCA 如何让出图更靠谱?
举个实际的例子:用户输入“把这张照片变成吉卜力风格,分辨率 2K”。
传统做法是手动选择图生图节点,调整 ControlNet 和 LoRA 权重,一遍遍抽卡。而 media_agent 的处理流程是:
- Plan:PA(计划 Agent)解析需求,识别出需要“图像加载→风格迁移→超分”三个步骤,并从技能图谱里找到最适合的 ControlNet 模型(
control_v11p_sd15_softedge)和风格 LoRA(ghibli_style_offset.safetensors)。 - Do:DA(执行 Agent)调用对应的节点执行,实时通过 WebSocket 推送预览图。
- Check:CA(检查 Agent)拿生成结果和用户需求比对,如果色彩偏差太大或细节丢失,自动标记为不合格。
- Act:AA(决策 Agent)根据检查结果决定是否调整参数重试,或者将合格的图片存入知识图谱。
整个过程都是 Agent 自动驱动的,用户只需要说一句话。
对于更复杂的任务,media_agent 还可以启用 JSON‑LD DAG 模式。工作流被编译成有向无环图,利用 Gliding Horse 的 SPARQL 查询引擎在运行时动态加载模型依赖,实现真正的“工作流即数据”。
四、富的节点与模型生态
media_agent 目前内置了 33+ 自定义节点,覆盖了:
- 模型加载:Checkpoint、UNET、CLIP、VAE、LoRA、ControlNet 等 8 种加载器
- 采样器:KSampler、高级采样器、自定义采样器、噪声注入
- 图片处理:缩放、超分、混合、裁剪、旋转、翻转、色彩调整、滤镜
- 视频处理:SVD 图转视频、帧插值、AnimateDiff 动画
支持 13 种模型架构,从经典的 SD1.5 到最新的 SD3.5、Flux、SVD、CogVideo 全部覆盖。模型管理器会自动扫描指定目录,建立索引,并提供双层 LRU 缓存(VRAM 优先,RAM 兜底),大幅降低重复加载开销。
实时预览通过 WebSocket 推送,每隔几步采样就发一张中间结果,让你在浏览器里就能看到出图过程,不用死等。
五、与传统 ComfyUI 的对比
| 特性 | ComfyUI | media_agent |
|---|---|---|
| 工作流定义 | 手动拖拽节点 JSON | 自然语言 + Agent 自动编排 |
| 流程适应性 | 静态,改需求要重搭 | PDCA 动态调整,自动纠错 |
| 模型管理 | 依赖路径配置 | 自动发现索引 + LRU 缓存 |
| 后端扩展 | Python 插件 | Rust 多后端池,GPU 推理高效 |
| 工作流复用 | 导出 JSON | JSON‑LD 语义图,可查询、可推导 |
| 实时交互 | WebSocket 预览 | 同支持,且 Agent 可实时响应反馈 |
media_agent 不是在重复造轮子,而是在 ComfyUI 成熟的节点思想之上,增加了一个“大脑”。这个大脑由 Gliding Horse 提供,让图片生成从“手工作坊”进化到了“自动化流水线”。
六、开源与未来
media_agent 和 Gliding Horse 都已经在 GitHub 开源:
- media_agent:https://github.com/doiito/media_agent
- Gliding Horse:https://github.com/doiito/gliding_horse
media_agent 目前已经完成了 188 个单元测试,覆盖模型管理、多后端、节点系统、工作流引擎等核心模块。如果你既对 Stable Diffusion 感兴趣,又想探索 AI Agent 的落地实践,这两个项目绝对值得一看。
未来我计划为 media_agent 增加 WebUI 前端、分布式推理支持,以及更多视频生成模型的集成。但更让我兴奋的是:Agent OS 的思路正在从一个抽象概念,变成可以跑图、可以写代码、可以管工作流的实际工具。这或许就是 AI 工程化的下一站。
欢迎 star,欢迎提 issue,更欢迎一起把 Agent 从“玩具”变成“生产力”。
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐

所有评论(0)