Skip to main content
没有本地 GPU —— 或者想按需要一块更大的?把 ComfyUI 部署到一台 云 GPU 实例,再用 跑在机器上、用你自己的 Claude 或 ChatGPT 订阅的智能体,用自然语言驱动它。
实例只提供 ComfyUI + Manager + 智能体面板 UI。智能体的大脑 (面板编排器)跑在你自己的机器上,用你自己的订阅 —— 所以云实例 绝不会把 GPU 小时烧掉在 LLM 上,API 密钥和智能体登录也永远不会碰到那台盒子。见 拓扑

一键模板(最快路径)

预构建镜像启动时就准备好被智能体面板驱动 —— ComfyUI + 智能体面板 + ComfyUI-Manager v2 已经烤进去,不用再配置: Deploy on RunPod
  1. Deploy on RunPod 并选一块 GPU(RTX 5090 / 任何 Blackwell 或 Ada 卡都能用 —— 镜像带 cu128 torch)。
  2. 保持模板默认:暴露 HTTP 端口 3000,并把网络卷挂在 /workspace
  3. 等实例起来。一张会自动刷新的「ComfyUI is starting…」页面会一直服务到准备好 (ComfyUI 初始化大约 30–60 秒)。
然后跳到 从你的机器连接

从智能体面板部署并控制(v0.44+)

comfyui-mcp 0.44 起,你完全不用碰 RunPod 控制台,也不用跑 CLI —— 智能体面板 里有一块 RunPod 控制面板,替你部署、连接、监视和停止 实例,同一张控制表也随 移动端 App 一起发货。
  1. 密钥设一次。 在面板的 API 密钥 卡片里粘贴你的 RUNPOD_API_KEY。它保存在 服务端的 ~/.comfyui-mcp/.env —— 绝不会进浏览器。
  2. 从面板工具栏的主机指示打开 RunPod 控制面板(一开始读作 🟢 本地 · 你的机器)。
  3. 部署或连接。部署做一键实例(它走模板的部署链接,容量紧时会在 GPU 类型 / COMMUNITY→SECURE 之间回退),或从下拉框按名称选一台已有实例再点连接
  4. 实时看着。 状态卡片显示 GPU / VRAM / 运行时长 / hr空闲自动停止倒计时,主机指示翻成🔵RunPod<pod>GPU·hr** 和**空闲自动停止** 倒计时,主机指示翻成 **🔵 RunPod · `<pod>` · GPU · /hr —— 渲染跑在哪永远不会 含糊。智能体会把你的自定义节点 + LoRA 装上,并把模型下载到实例上,于是你得到和本地 机器完全一致的画布
  5. 切回去并停止。 使用本地会立刻把渲染改回你自己的机器;停止会关掉实例。 空闲自动停止(RUNPOD_IDLE_STOP_MINUTES,默认 15;只在你真的在实例上渲染时计数) 是你忘了关时的费用兜底。
死人开关(v0.47+)。 空闲自动停止活在 comfyui-mcp 进程里 —— 那个进程一死 (崩溃、合上笔记本),兜底以前也会跟着死,实例就会一直计费。现在通过连接器创建的 实例会带上实例侧的监视狗:comfyui-mcp 在照看实例时每隔几秒心跳一次;心跳停了,实例会在 宽限期之后自己停掉(从不销毁 —— /workspace 还在。启动后 45 分钟没有心跳,之后 心跳间隔 20 分钟;RUNPOD_DEADMAN_BOOT_GRACE_S / RUNPOD_DEADMAN_BEAT_GRACE_S)。 「照看」会熬过使用本地取消监视 —— 那些只改 UI 显示什么;监视狗只有在 comfyui-mcp 自己没了(或实例退出)时才会开火。监视狗用 RunPod 自动注入到每台实例的 实例作用域 API 密钥 停掉实例 —— 你的账户级密钥永远不离开本机,凭据上也没有什么需要 退出的。不想武装它,就在 runpod / action: "create" 上设 deadman:false (或 RUNPOD_DEADMAN=0),或把 DEADMAN_DISABLE=1 当作实例环境变量。控制台部署的 实例从不带心跳令牌,自定义模板部署(RUNPOD_TEMPLATE_ID)默认关闭 —— 只有那份 镜像带了我们的监视狗时才传 deadman:true
第一次租 GPU 跑 ComfyUI?博客把整条流程从头走到尾: 在租来的云 GPU 上运行 ComfyUI
本页剩下的是手动 / CLI 路径 —— 仍然完全支持,也是控制面板在底层驱动的东西。

从你的机器连接

实例起来之后,拿到它的公网代理 URL(RunPod → 你的实例 → :3000 HTTP 端点,例如 https://<pod-id>-3000.proxy.runpod.net),在笔记本上跑一条命令
远程 HTTPS 实例connect 会自动打开一条安全加密的 wss:// 隧道 (经 Cloudflare)连到你机器上的智能体桥接,并把那个 URL 交给实例的面板 —— 于是实例的 HTTPS 页面到达智能体时没有浏览器提示、不用复制任何东西,任何浏览器都行。对 本地 ComfyUI 它用普通的 ws://127.0.0.1:9180 回环桥接。无论哪种,智能体 —— 以及 你的 Claude/ChatGPT 登录 —— 只跑在你的机器上;实例上什么都不会安装。 收尾:让 connect 继续在你自己的机器上跑着,在浏览器里打开实例的 ComfyUI,打开 智能体面板侧边栏,点连接 然后用自然语言驱动节点图。
为什么要隧道? 实例页面通过 https:// 提供,浏览器会阻止安全页面打开一条到你机器 的不安全 ws:// 套接字(混合内容 / Private Network Access)。隧道给桥接一个有效 TLS 的 wss:// URL —— 由每个会话的随机令牌把门 —— 于是到处都能用,不用提示。
如果实例在认证后面,在本地 connect 命令上设置 COMFYUI_AUTH_TOKEN(可选再加上 COMFYUI_AUTH_HEADER / COMFYUI_AUTH_SCHEME)。对挡在 Cloudflare Access 前面的 实例,创建一把 Access 服务令牌 并设置 CF_ACCESS_CLIENT_ID + CF_ACCESS_CLIENT_SECRET —— 两者会骑在每一次 ComfyUI 请求上(HTTP + 队列监视器 WebSocket),于是连接器能过门,而给人看的登录页仍然留给浏览器。

全部留在你的机器上(不用 Cloudflare)

不想让桥接走 Cloudflare?用你自己的 SSH 端口转发 到达实例,让页面变成回环源 (普通 ws:// 就能用,不用隧道):
然后打开 **http://localhost:3000**。或者连到实例的直接 https URL,但用 --insecure-bridge 强制普通回环桥接(然后你自己安排实例页面到达 ws://127.0.0.1:9180 的路径)。 想要默认 Cloudflare 快速隧道之外的稳定、自建替代 —— 你自己的域名、没有临时主机名、 完全拥有那一跳 —— 而不是上面两种?见 自建中继

拓扑:智能体跑在哪

实例故意不带 Node.js 智能体、不带 Agent SDK、也不带 LLM 客户端 —— 它们只会白白烧掉 GPU 小时。推理循环住在你的机器上;实例是纯 ComfyUI 后端。这和本地智能体面板用的是同一套 远程驱动模型,只是 ComfyUI 在云 GPU 上而不是 localhost。

什么会持久化(什么不会)

镜像为快速停 / 启做了优化。重的软件 —— ComfyUI、它的 venv、Manager v2 —— 烤进 不可变镜像并从 /opt/ComfyUI 运行,而 custom_nodes 住在 /workspace 卷上 (符号链接),所以你的安装会留下来。热重启不做完整安装 / 同步 / 种子,只是重新拉起 ComfyUI。
运行时安装的自定义节点能熬过重启。 custom_nodes 符号链接到 /workspace/custom_nodes;每次启动时镜像里烤好的节点(智能体面板 + 内置)会被种子 / 刷新进去(于是镜像升级会带上当前面板,同时保留你自己的节点),每个节点的 Python 依赖会从卷上的持久 pip 缓存重新装进 venv —— 第一次之后很快。模型也会留下。要把 一个节点烤进去、启动时零工作,把它加到 Dockerfile 并重新构建镜像(见下)。

构建并部署你自己的镜像

一键模板就是预构建镜像。还有一份精简预构建镜像 —— 同样的 ComfyUI + 智能体面板 + Manager,但没有可选的捐赠附加(runpod-uploader/croc/app-manager),也没有烤进去 的 SDXL 抽查 checkpoint,在 CI 里持续构建 —— 同样公开在 ghcr.io/artokun/comfyui-mcp-runpod:cu128-lean, 如果你只想把 RunPod 模板指过去、自己什么都不构建。 要定制它 —— 钉版本、烤进额外自定义节点、改模型布局 —— 从 docker/runpod/ 自己构建并推送:
构建时不需要 GPU。然后创建一份指向你镜像的 RunPod Pod 模板,暴露 HTTP 端口 3000, 并在 /workspace 挂网络卷 docker/runpod/README.md 是完整的构建参考 —— 多阶段 Dockerfile、确切的 ComfyUI 启动标志、 extra_model_paths.yaml 卷映射、Manager 远程安装门、环境变量,以及体积 / 钉死的取舍。

其他云端目标

connect 流程不是 RunPod 专用 —— 它对任何能提供智能体面板、且能到达的 ComfyUI 都有效(另一家云主机、VPS、局域网上的盒子)。把 connect 指向它的 URL,并打开外部 编排器开关:
要把 comfyui-mcp 本身暴露成托管、带认证的 MCP 服务器(而不是部署 ComfyUI),见 远程 / 托管连接器