如何在阿里雲 ECS 上為 dsh-comfyui 配置出圖後端
在阿里云 ECS 上给 dsh-comfyui 配一台能出图的后端
這份教學説明如何在阿里雲 ECS 部署 ComfyUI,讓本地 DeepSeek Harness(DSH)連接遠端出圖後端。文中比較同機、VPC 內網和 EIP 公網三種拓撲,並説明 GPU 顯存選型、安全組來源限制,以及 `--listen`、`baseUrl`、`apiKeyEnv` 和 `mediaHost` 等設定。
2026-10-28 4
版权
版权声明:
本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《 阿里云开发者社区用户服务协议》和 《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写 侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
简介: 本文详解如何在阿里云ECS部署dsh-comfyui后端:明确“DSH本地+ComfyUI上云”架构,涵盖拓扑选择(同机/VPC内网/EIP公网)、GPU显存导向的实例选型、最小化安全组配置、`--listen`监听设置及DSH侧关键参数(`baseUrl`/`mediaHost`/`apiKeyEnv`)。直击4大高频坑点,强调安全与连通性验证,助你低成本、高安全地启用AI出图能力。(239字)
在阿里云 ECS 上给 dsh-comfyui 配一台能出图的后端
dsh-comfyui 自己不含算力。它做的是把 DeepSeek Harness 的 Agent 接到一个正在跑的 ComfyUI 上,默认地址 http://127.0.0.1:8188。所以"上云"这件事的真实含义是:把 ComfyUI 那半边搬到 ECS,DSH 和插件留在你天天用的机器上。GPU 按小时计费,没必要为了聊天再养一台。
下面按"定拓扑 → 选规格 → 开口子 → 填字段"的顺序走,最后收四个真会绊人的坑。
先把拓扑定下来
三种摆法,选一种再动手:
同机。DSH 和 ComfyUI 都在一台带 GPU 的机器上,baseUrl 保持默认。最省事,但笔记本上的显卡跑大图会很难受。
VPC 内网。DSH 也跑在阿里云上(另一台 ECS,或同 VPC 的容器),baseUrl 填 ComfyUI 实例的私网 IP。生产环境建议从这个摆法起步:流量不出 VPC,安全组只放行同安全组,公网完全不必暴露。
EIP 公网。ComfyUI 在 ECS,DSH 在你本地。给实例绑 EIP,baseUrl 填 EIP,安全组按来源 IP 放行。方便,但你要接受"这个端口在公网上"的事实 —— 所以只对自己的出口 IP 开。
实例规格:出图吃的是显存
ComfyUI 的瓶颈几乎总在显存,不在核数。挑规格时先问自己三个数:目标分辨率、单批张数、要加载几个模型。视频工作流还要再叠一层,帧数直接换显存。
CPU 实例只能跑轻量工作流。小模型、低分辨率、纯 CPU 节点能跑,但常规扩散模型工作流会慢到没有实用价值。只是偶尔出张缩略图,CPU 机型也行;涉及人像、风格迁移、短视频,就得是 GPU。
系统盘别抠。模型动辄几十 GB,装两三个工作流就上百 GB,还要留输出空间。数据盘单独挂一块,日后迁移更省事。
安全组:只开一个口,开给谁
ComfyUI 自身没有鉴权,谁能连上 8188,谁就能提交任务、读你的输出。所以安全组这一条要当成硬约束:
- 入方向只加一条,端口 8188,来源写你自己的固定出口 IP,别写
0.0.0.0/0。 - 走 VPC 内网时,来源改成同安全组或对端网段,公网规则一条都不留。
- 出方向默认即可,出图不需要额外放行。
改完记得确认实例绑的是这份规则,而不是默认安全组。
让 ComfyUI 真的对外监听
安全组开了还不算通。ComfyUI 默认只监听回环地址,进程起来了、本机 curl 得到,外部一律连不上。启动时要用 --listen 让它绑到对外网卡(内网摆法绑私网网卡就够),端口保持一致。
DSH 侧填什么
设置页的 ComfyUI 分区能改的字段不多,重点是这几个:
baseUrl:同机留默认;内网填私网 IP;公网填 EIP。带不带协议头要写全。apiKeyEnv:远程若要鉴权,这里填环境变量名(默认COMFYUI_API_KEY),不是密钥本身。comfyuiDirs:本机 ComfyUI 安装目录列表,用来定位 models、自定义节点、音色库。远程摆法下它帮不上忙,留空即可。outputDir:删除资产时定位文件用,默认自动推断;远程时对不上就会删不掉。mediaHost:生成媒体的外网访问基址。公网摆法必须显式配,理由见坑四。
填完点测试连接,通了再往下。
坑一 · 最新版装进了 0.1.1 的老宿主
现象:dsh plugin --profile web add dsh-comfyui 装完,启动就弹风险提示,或者设置页里 ComfyUI 那一栏根本不出。
原因:版本线不匹配。0.5.x 要求宿主是 dsh ≥ 0.1.2 且小于 0.3;0.1.1 的宿主只能配 0.3.x 那条 beta 线。README 的配对表写得很清楚,但 latest 标签默认给最新版,很容易装上不该装的那条线。
解决:先 dsh --version 看宿主版本。落在 0.1.2 到 0.3 之间就用默认安装;还是 0.1.1 就装 dsh-comfyui@beta,留在 0.3.x 线,别为了追新去动宿主。
坑二 · 端口通了,面板却自己收起来
现象:本机 curl 得到 ComfyUI,点会话头部的「ComfyUI 面板」按钮却没反应,按钮不高亮,页面顶部弹一条提醒,看着像插件没装上。
原因:面板按钮点下去时会探测后端和 ComfyUI 的连接,连不上就自动收起。常见成因是 ComfyUI 只监听回环地址、端口和 baseUrl 对不上,或者安全组刚改完但进程还没重启。
解决:先在本机确认端口通,再回到 DSH 把 baseUrl 的协议、主机、端口逐段核对,最后看一眼顶部提醒里的具体原因 —— 它写的不只是"失败",而是失败在哪一层。
坑三 · 勾了运行前必读,run 一直被拒
现象:工作流在库里看得见,参数也齐,Agent 一调 run 就返回被拒绝,提示要先读技能包。
原因:这个工作流的技能包勾了「运行前必读」。本会话如果还没读过它,run 会被拦下来。这不是权限问题,也不是实例配置问题,是设计好的闸门。
解决:让 Agent 先取一次技能包正文再跑,并留意每次新会话都要重来一遍。排错时先看这道闸,比怀疑安全组快。
坑四 · 内网能出图,公网链接是空的
现象:在 ECS 本机或同一 VPC 里打开媒体链接正常,换成手机或家里的机器就是空白;有时还伴随鉴权失败。
原因:两个独立的点。一是鉴权:密钥写进了 cordis.yml 明文,或者 apiKeyEnv 指向的环境变量在宿主进程里根本不存在。二是地址:mediaHost 没配对外基址(默认自动检测),在 NAT 或 EIP 后面它猜不到,于是生成的链接指向一个外部访问不到的地址。
解决:密钥改用 apiKeyEnv(默认 COMFYUI_API_KEY)指向环境变量,绝不写进配置文件明文 —— 它不会下发到浏览器,但配错了就是连不上。mediaHost 显式写成 EIP 或已解析的域名,配完重新生成一张图再验,旧链接不会自动改写。
上线前的验收清单
四步都过一遍再交付:ECS 上 curl 本地端口;从 DSH 所在机器 curl 私网或 EIP 地址;设置页点测试连接;生成一张图并从另一台设备打开媒体链接。第四步最容易被跳过,也最容易在交付后暴露问题。
最后补一句安全口径:这个插件在扫描里是「含敏感能力」,且尚无人工评估。它会碰本地文件、向外发请求、驱动远端 ComfyUI;放到公网上之前,请把这句话当成提醒而不是免责声明。
总结
把 ComfyUI 放 ECS、把 DSH 留在手边,关键就三件事:安全组只对自己的来源开口、baseUrl 与实际监听对齐、mediaHost 和密钥各就各位;同类插件的中文清单在 这里。
适合与不适合
适合:本地没有像样显卡、但需要经常出图的人;要给团队搭一台共用出图后端的;已经在阿里云上有 VPC、想把生成服务收进内网的;需要长期保留输出、又不想占本地磁盘的。
不适合:想省掉 ComfyUI 运维、直接调托管出图 API 的;只跑纯文本工作流、根本不涉及画面的;预算只够 CPU 实例却要做常规人像与视频的;不愿意为公网端口做来源限制的。
标签:dsh-comfyui、DeepSeek Harness、阿里云 ECS
本文由 DeepSeek Harness Hub 自动整理,数据来源于插件详情页。
來源:阿里雲開發者社區 AI · developer.aliyun.com