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

Infinitetalk-数字人视频生成-图片数字人+视频数字人,效果超强!

关键提醒包括:界面报错不等于任务失败,可直接检查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-端口报错

三个服务由 `启动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` 或完整重启即可清理。)

Infinitetalk-连接报错

## 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。

Infinitetalk-连接报错

改前端信息,主要动这几个文件

文件 管什么
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 启动/停止与窗口控制

知识星球那段文字的修改位置

原文编译在 pyd 里无法直接改文件,我做了运行时替换机制——打开 start.py,找这段带醒目标记的常量(约 143 行):

Python

复制
# ====== 【知识星球/咨询推广文字——改这里】 ======
CONSULT_MD = (
    "AI问题咨询、远程一对一服务、AI软件/工作流定制等,欢迎加入知识星球沟通🤗🤗!    "
    "[国内](https://t.zsxq.com/uxk7B)  |  "
    "[国外](https://www.youtube.com/@walkingwithai1996/join)"
)
改文字、换链接都在这两行里,保存后重启服务即生效。它正上方的 BRANDING_MD 就是”整合包作者”那一行,以后换品牌信息也改那里。

为「开箱即用、零报错」做的改动

改动 文件 效果
代理抗假死 tools\comfy_proxy.py 队列 5→64;GET 轮询 180 秒退避重试;POST 提交 120 秒重试窗口(覆盖冷启动)
首启竞争消除 start.py 浏览器只会在全链路就绪后才弹出——用户看到界面就能直接提交,不可能再撞 10061
脚本便携化 tools\restart_proxy.bat、tools\test_proxy_fix.py 全部相对路径,解压到任何盘任何目录都能用

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注