ComfyUI-Manager 配合 aria2 加速模型下载:完整配置指南
【免费下载链接】ComfyUI-ManagerComfyUI-Manager is an extension designed to enhance the usability of ComfyUI. It offers management functions to install, remove, disable, and enable various custom nodes of ComfyUI. Furthermore, this extension provides a hub feature and convenience functions to access a wide range of information within ComfyUI.项目地址: https://gitcode.com/gh_mirrors/co/ComfyUI-Manager
ComfyUI-Manager 是 ComfyUI 的常用扩展,除了安装和管理自定义节点,还负责从网络下载模型文件。默认通道用单连接串行写入,遇到 GB 级文件时,速度通常跑不满带宽。本文讲如何用 Manager 内置的 aria2 通道把模型下载切到多线程模式,包含最小配置、验证方法和目录映射这些容易踩坑的部分。
📦 原理:Manager 何时把下载交给 aria2
先说结论:切换是自动的,你只需要设两个环境变量。
Manager 的下载模块(源码在 glob/manager_downloader.py)启动时会读取COMFYUI_MANAGER_ARIA2_SERVER。只要这个变量存在,它就通过 aria2p 库连上 aria2 的 RPC 接口,之后的模型下载都提交给 aria2 执行;变量不存在时,走默认的单连接下载。
RPC(Remote Procedure Call,远程过程调用)可以理解为 aria2 开放的控制端口,别的程序通过它下发"下载这个地址"的指令。aria2 本身是支持多线程的下载器:把文件切成多段,用多条并行连接同时拉取,带宽利用率和断点续传(中断后从已下载的位置继续,不用从头来)都比单连接好。两种通道的差异如下:
| 对比项 | 默认下载 | aria2 通道 |
|---|---|---|
| 网络连接 | 1 条连接 | 多条并行,由 aria2 的--split与--max-connection-per-server参数决定 |
| 中断处理 | 不完整的文件需要重新下载 | 断点续传,依托.aria2控制文件接着下 |
| 文件落盘位置 | 直接写 ComfyUI 的 models 目录 | 写在 aria2 侧配置的目录,需映射回 ComfyUI(见进阶部分) |
🛠 最小配置:安装 aria2 并开启 RPC 端口
最少要完成两件事:跑一个 aria2 服务,再在 ComfyUI 的 Python 环境装好连接它的库。
安装并启动 aria2 服务
以下命令在 Linux 下安装 aria2,并以守护进程方式开启 RPC 接口,密钥换成你自己的随机字符串:
sudo apt-get install aria2 aria2c --enable-rpc --rpc-secret=换成你自己的密钥 --daemon=truemacOS 用户把第一条换成brew install aria2,启动命令相同。服务默认只监听本机 127.0.0.1 的 6800 端口,无需额外放行防火墙。
在 ComfyUI 环境中安装 aria2p
Manager 依赖 aria2p 库来调用 aria2 的 RPC 接口,它不在默认依赖列表里,需要在 ComfyUI 的虚拟环境中手动安装:
pip install aria2p⚙️ 设置环境变量,让 ComfyUI-Manager 接管下载
启动 ComfyUI 之前设置两个变量:前者是 aria2 服务的地址,后者要和 aria2 启动时的密钥一致。
export COMFYUI_MANAGER_ARIA2_SERVER=http://127.0.0.1:6800 export COMFYUI_MANAGER_ARIA2_SECRET=换成你自己的密钥Windows 用户在 PowerShell 中对应写成:
$env:COMFYUI_MANAGER_ARIA2_SERVER="http://127.0.0.1:6800" $env:COMFYUI_MANAGER_ARIA2_SECRET="换成你自己的密钥"变量只在 Manager 启动时读取一次,改完必须重启 ComfyUI 才生效。想让它每次启动都带上,就把两行写进~/.bashrc、~/.zshrc,或在系统环境变量面板里配置。
✅ 验证 aria2 下载是否生效与常见卡点
重启 ComfyUI 后,在 Manager 的模型管理界面下载任意一个模型,两边一起看结果:
- aria2 侧:打开它的 Web 管理页,能看到新出现的下载任务,这是最直接的证据。
- Manager 侧:控制台进度条由每秒轮询 aria2 任务状态驱动,刷新方式和默认通道不同。
如果没走 aria2,通常是下面几种情况:
- 环境变量设了但没重启 ComfyUI,Manager 读到的仍是旧值
- 密钥与 aria2 启动参数不一致,RPC 握手失败
- 忘记安装 aria2p,启动时报 ImportError
- 任务下了,文件却没出现在 ComfyUI 里——这是目录没映射,看下一节
📈 进阶:Docker 部署 aria2 并映射模型目录
有个容易忽略的细节:当下载目标位于 ComfyUI 安装路径内时,Manager 会把目标目录换算成 aria2 侧的绝对路径,比如models/checkpoints会换算成/models/checkpoints。所以 aria2 容器必须把 ComfyUI 的 models 目录挂载进来,文件才会落到正确位置。
下面这份 compose 文件基于官方文档 docs/en/use_aria2.md 的示例整理,端口统一用 6800,模型与自定义节点目录按你的实际路径修改:
services: aria2: container_name: aria2 image: p3terx/aria2-pro environment: - RPC_SECRET=换成你自己的密钥 - RPC_PORT=6800 volumes: - ./config:/config - ~/ComfyUI/models:/models - ~/ComfyUI/custom_nodes:/custom_nodes ports: - "127.0.0.1:6800:6800" restart: unless-stopped注意RPC_SECRET要和COMFYUI_MANAGER_ARIA2_SECRET保持完全一致。端口只绑定 127.0.0.1,避免 RPC 接口暴露到公网。
至此,安装 aria2、设置变量、验证与目录映射都已覆盖。下一步建议:先按"最小配置"跑通一次本地下载,确认模型出现在 ComfyUI 的 models 目录后,再迁移到 Docker 部署。
相关资源:
- 官方 aria2 配置文档:docs/en/use_aria2.md
- 下载器源码:glob/manager_downloader.py
【免费下载链接】ComfyUI-ManagerComfyUI-Manager is an extension designed to enhance the usability of ComfyUI. It offers management functions to install, remove, disable, and enable various custom nodes of ComfyUI. Furthermore, this extension provides a hub feature and convenience functions to access a wide range of information within ComfyUI.项目地址: https://gitcode.com/gh_mirrors/co/ComfyUI-Manager
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考