本文档针对Infinitetalk-v3.5三进程架构(Gradio界面、CFG代理、ComfyUI引擎)中的“目标计算机积极拒绝连接”(WinError 10061)错误,提供系统化排障与优化方案。该错误本质为端口无服务监听或服务过载,核心应对策略围绕架构认知、快速自检、分级修复展开。通过浏览器访问或端口检测(8188/8190/7860)可30秒定位故障环节。

关键提醒包括:界面报错不等于任务失败,可直接检查output/目录确认成品;优先使用启动Infinitetalk-v3.bat全量重启,或restart_proxy.bat单独恢复代理。文档同时总结了2026-07-27版本的关键优化:启动脚本引入全链路就绪检查,消除冷启动竞争;代理模块增大监听队列并优化超时与重试机制,大幅提升高负载稳定性。维护者可参考日志定位与打包前清理流程,确保分发版本开箱即用。
# 故障排查指南:连接被拒绝(WinError 10061)
> 适用版本:Infinitetalk-v260201 v3.5 及之后(ComfyUI + CFG 代理 + Gradio WebUI 三进程架构)
> 最后更新:2026-07-27(随 comfy_proxy.py 假死修复同步更新)
—
## 1. 这个错误长什么样
“`
urllib.error.URLError: <urlopen error [WinError 10061] 由于目标计算机积极拒绝,无法连接。>
ConnectionRefusedError: [WinError 10061] 由于目标计算机积极拒绝,无法连接。
“`
**一句话含义:程序想连接的端口上没有服务在接听,或者服务太忙、接不过来。**
## 2. 先搞懂架构(30 秒)
“`
浏览器/Gradio 界面 (7860)
│
▼
CFG 代理 (8190) ←—— 提交任务、查询结果都经过它
│
▼
ComfyUI (8188) ←—— 真正干活的 GPU 推理引擎
“`

三个服务由 `启动Infinitetalk-v3.bat` 依次拉起。**任何一个环节出问题,界面都会报 10061。**
## 3. 快速判断:你是哪种情况?
| 场景 | 特征 | 严重吗 |
|——|——|——–|
| **A. 启动后立刻点提交** | 刚双击 bat 不到 1~2 分钟就操作 | 不严重,等服务就绪重试即可 |
| **B. 生成过程中界面刷错误** | 日志里节点还在正常执行(`正在执行节点…`) | **不影响结果**,任务在跑 |
| **C. 代理假死** | 任务结束后仍报错,新任务也提交不了 | 需要重启(见第 5 节) |
| **D. ComfyUI 崩溃** | 启动窗口里有 Python traceback,8188 端口消失 | 需要重启,先查日志找崩溃原因 |
## 4. 30 秒自检(任选一种方式)
**方式一:浏览器直接打开**
– http://127.0.0.1:8188 —— 能看到 ComfyUI 界面 = 引擎正常
– http://127.0.0.1:8190/queue —— 能返回一段 JSON = 代理正常
– http://127.0.0.1:7860 —— 能看到操作界面 = WebUI 正常
**方式二:命令行(在任意终端执行)**
“`bat
netstat -ano | findstr “LISTENING” | findstr “:8188 :8190 :7860”
“`
三个端口都在 = 服务存活;缺哪个,问题就在哪个。
## 5. 标准修复流程
### 万能修复(推荐,2 分钟)
1. 关闭启动窗口(或运行 `停止Infinitetalk.bat`)
2. 重新双击 `启动Infinitetalk-v3.bat`
3. **等窗口提示服务就绪后再操作**(看到三个端口都 LISTENING 的提示,通常 30~120 秒,模型大时更久)
### 只重启代理(ComfyUI 和界面不动)
确认 8188 正常但 8190 无响应时,运行:
“`
tools\restart_proxy.bat
“`
(该脚本会重新拉起代理并继续写 `user\comfy_proxy.out.log`。注意:手动重启的代理不受启动窗口管理,关启动窗口不会关掉它;下次用 `停止Infinitetalk.bat` 或完整重启即可清理。)

## 6. 最重要的一条:界面报错 ≠ 任务失败
Gradio 界面取结果走的也是代理。代理卡住时,**任务往往已经在 ComfyUI 里跑完了,只是界面拿不到结果显示出来**。
先去这里找成品:
“`
output\InfiniteTalk_00001-audio.mp4 ← 带音频的最终视频
output\InfiniteTalk_00001.mp4 ← 无音频视频
output\InfiniteTalk_00001.png ← 封面帧
“`
文件在 = 任务成功了,重启代理/刷新界面即可,**不用重跑**。
## 7. 预防措施(发给所有使用者)
1. **浏览器打开 = 服务已就绪**:2026-07-27 起,启动脚本会等全链路(含 ComfyUI 模型加载)真正就绪后才弹出浏览器,**看到界面就可以直接用,不用自己估算等待时间**
2. **生成中不要连点提交**:每次提交都会排队,连点只会加重负载
3. **大任务生成中界面刷错误别慌**:只要日志里节点还在推进,就是正常的,等它跑完
4. **长时间挂机后第一件事先自检**:用第 4 节的方法确认三个端口都在,再提交新任务
## 8. 出问题先看哪些日志
| 日志文件 | 看什么 |
|———-|——–|
| `user\gradio.out.log` | 界面操作、任务提交、取结果的错误 |
| `user\comfy_proxy.out.log` | 代理转发、参数注入、上游连接错误 |
| `user\comfyui_8188.out.log` | ComfyUI 本体:模型加载、节点执行、崩溃 traceback |
| `user\last_prompt.json` | 最近一次提交给 ComfyUI 的完整工作流(注入后的最终版) |
## 9. 技术背景(给维护者)
2026-07-27 修复前,代理在大任务 GPU 高负载期间会**永久假死**,原因有三:
1. 监听队列(backlog)只有 5,轮询风暴瞬间打满 → 前端 TCP 被 RST(10061)
2. 上游连接被拒只重试 1 次(2.5 秒),而 ComfyUI 事件循环阻塞可达数十秒
3. 卡住的请求线程最长 600 秒才释放,越积越多直到整个代理无响应
修复(`tools\comfy_proxy.py`):
– `request_queue_size` 5 → 64
– GET 轮询改为 15 秒短超时 + 180 秒退避重试窗口(扛过整个 GPU 阻塞期)
– POST /prompt 仅在”连接被拒(未发出字节)”时重试(窗口 120 秒,覆盖冷启动加载),避免重复提交
– 客户端断开的写异常降级为 warning,不再刷 traceback
配套修复(`start.py`):
– Gradio 启动前先轮询代理 `/queue`,确认 ComfyUI 全链路就绪后才 `launch()`——
浏览器弹出的时刻就是可以提交任务的时刻,消除”启动中点提交报 10061″的首启竞争
验证测试:`tools\test_proxy_fix.py`(上游迟启 3 秒 → 重试成功;上游死亡 → 窗口后返回 502 而非连接被拒)。
## 10. 二次分发打包流程(给维护者)
压制安装包之前,双击运行根目录的 **`打包前清理.bat`**,它会自动:
1. 停止全部服务
2. 把个人文件【移动备份】到 `%USERPROFILE%\Infinitetalk-个人文件备份`
(`input\` 照片音频、`output\` 生成结果、`tmp\` 密钥文件等,绝不删除)
3. 删除可再生物件:`user\*.log`、`last_prompt.json`、所有 `__pycache__`、`TEMP\`、旧配置备份
打包后使用者的首次体验:双击 `启动Infinitetalk-v3.bat` → 等浏览器自动弹出(= 已就绪)→ 直接用,不会报 10061。

改前端信息,主要动这几个文件
| 文件 | 管什么 |
|---|---|
| start.py | 最常用。品牌链接(BRANDING_MD)、CFG 输入框(add_cfg_control)、按钮置灰(add_submit_guard)、界面美化(CUSTOM_CSS)、默认参数(apply_webui_defaults) |
| tools/comfy_proxy.py | 实际生效的生成参数(模型指向、cfg/shift/blocks_to_swap 注入规则) |
| user/webui_overrides.json | 前端 CFG 数字框的存值(自动生成,一般不用手改) |
| gradio_config.json | WebUI 默认参数(分辨率等,pyd 界面部分不读它,以 start.py 为准) |
| 启动Infinitetalk-v3.bat / 停止Infinitetalk.bat | 启动/停止与窗口控制 |
知识星球那段文字的修改位置
Python
# ====== 【知识星球/咨询推广文字——改这里】 ======
CONSULT_MD = (
"AI问题咨询、远程一对一服务、AI软件/工作流定制等,欢迎加入知识星球沟通🤗🤗! "
"[国内](https://t.zsxq.com/uxk7B) | "
"[国外](https://www.youtube.com/@walkingwithai1996/join)"
)
为「开箱即用、零报错」做的改动
| 改动 | 文件 | 效果 |
|---|---|---|
| 代理抗假死 | tools\comfy_proxy.py | 队列 5→64;GET 轮询 180 秒退避重试;POST 提交 120 秒重试窗口(覆盖冷启动) |
| 首启竞争消除 | start.py | 浏览器只会在全链路就绪后才弹出——用户看到界面就能直接提交,不可能再撞 10061 |
| 脚本便携化 | tools\restart_proxy.bat、tools\test_proxy_fix.py | 全部相对路径,解压到任何盘任何目录都能用 |



