内容生产 / 生成式 AI 工具 / 合作 SaaS 项目,面向创作者团队与企业内部内容团队
ComfyUI 多租户内容生产平台后端
ComfyUI 原生节点图适合工程师使用,但缺少多租户权限、积分计费、能力复用、节点约束和面向内容生产流程的治理层。
我主导实现后端治理层,把 ComfyUI 工作流封装成带参数契约、输出契约、资源画像、节点白名单和积分定价的能力,并支持 DAG 生产流。
FastAPI 后端 -> 能力契约 -> 权限与节点白名单 -> 积分预扣账本 -> ComfyUI 薄客户端 -> 对象存储迁移 -> DAG 生产流。
后端核心链路已完成,覆盖能力契约、任务执行、积分账本、权限边界、对象存储迁移、路径逃逸防护和生产流 DAG;项目尚未上生产,不写生产效果。
ComfyUI 多租户内容生产平台后端,是一次把开源节点图工具收敛成 SaaS 后端能力层的合作项目。它面向个人创作者、MCN / 工作室和企业内部内容团队,重点不是再做一个 ComfyUI 面板,而是让工作流能被复用、授权、计费和编排。
项目目前刚完成后端核心链路,尚未进入生产环境。以下只写已经实现的工程部分,不写上线效果。
背景
ComfyUI 对工程师很友好。节点图清晰,自定义空间大,调试也直接。
但内容团队不是这样使用工具的。创作者更关心「我能用哪个能力」「要填哪些参数」「生成结果在哪里」「这次消耗多少积分」。管理员关心的是另一些问题:哪些节点允许用、谁能用、每个角色有多少预算、输出文件会不会串租户。
这个项目就是在 ComfyUI 和 SaaS 用户之间加一层后端治理。
真正麻烦的地方
最容易误判的是工作量。
如果只是提交 ComfyUI /prompt,很快。但平台化之后,每张工作流图都变成了一个需要被约束的产品能力。
能力要声明输入输出。节点要白名单。角色权限要再校验一遍。任务要先扣积分,失败要退款。ComfyUI 生成出的本地文件要迁移到对象存储。生产流要能把多个能力和人工审核串起来。
还有一个很小但很危险的点:ComfyUI history 里的 filename 和 subfolder 不能直接相信。它们如果包含 ../ 或绝对路径,平台就可能读到输出目录之外的文件。
我负责的部分
我主导了后端核心链路实现,包括能力契约、任务执行、权限校验、积分账本、对象迁移和生产流 DAG。
能力层,我把 ComfyUI workflow 封装成 WorkflowTemplate。发布前必须校验参数 schema、输出 schema、资源画像和节点依赖。工作流里实际出现的节点类型必须全部在 node_dependencies 里声明。
任务层,我实现了「先扣后跑」的执行链路。任务创建时先检查权限、并发和积分,再把参数注入 workflow JSON,最后提交给 ComfyUI。余额由积分事件账本求和,不直接维护成一个容易写坏的字段。
存储层,我实现了产物迁移和路径逃逸防护。读取文件前先拒绝绝对路径,再解析真实路径,并确认它还在 ComfyUI 输出目录里。不满足就直接拒绝,且不会调用 MinIO。
生产流层,我用 DAG 表达能力调用、文本变换和人工审核。运行时按拓扑顺序推进,节点输出只能传给下游。
方案与取舍
第一处取舍是不给用户直接暴露节点图。这样做少了很多自由度,但也减少了普通用户误操作和平台无法治理的风险。管理员封装能力,创作者填写参数,是更适合 SaaS 的边界。
第二处取舍是节点白名单。每增加一种节点,都要维护依赖声明和角色权限。这确实麻烦,但多租户平台不能默认相信一张节点图会守规矩。
第三处取舍是预扣积分。后扣费看起来友好,但生成任务会消耗真实算力。预扣让平台先判断余额和并发,失败路径再通过幂等退款处理。
第四处取舍是生产流先做轻。transform 目前只保留有限文本格式化,人工审核节点只做流程卡点。这个版本先保证核心链路成立,不把自己一开始就做成复杂工作流引擎。
结果
这个后端已经完成核心工程框架:能力契约、任务执行、积分账本、权限边界、对象存储迁移、路径逃逸防护和生产流 DAG。
但它还没有生产环境数据。这里不写用户数、不写生成量、不写稳定运行,也不写商业转化。
我对这个项目的判断是:ComfyUI 平台化的核心价值不在于多包一层 API,而在于把自由节点图收敛成平台能理解、能授权、能计费、能追责的能力单元。这个后端完成的是第一层地基。
相关链接
如果你正在做企业 RAG、知识库、AI 客服或 Agent 工作流,可以通过页面下方微信二维码或邮件沟通,邮箱:contact@aildnc.com。
联系
讨论类似项目
如果你正在评估类似的文档解析、企业 RAG、知识库或 AI 工作流,可以先发问题背景。 微信沟通优先,邮箱也可以:contact@aildnc.com。
扫码加微信沟通