彻底解决 ComfyUI Mixlab 插件 Whisper.available False 的报错

彻底解决 ComfyUI Mixlab 插件 Whisper.available False 的报错
https://github.com/MixLabPro/comfyui-mixlab-nodes

彻底解决 ComfyUI Mixlab 插件 Whisper.available False 的报错

在 ComfyUI 中安装 Mixlab Nodes 插件后,控制台显示其他节点正常,便 Whisper.available False。即使环境里安装了 openai-whisperfaster-whisper,问题依然可能存在。

Whisper.available False

本文将分享如何通过修改 __init__.py 进行深度 Debug,并修复 Whisper.py 中的路径逻辑漏洞。


1. 深度排查:让报错“开口说话”

Mixlab 的默认日志只提示 False,不显示原因。为了抓出真凶,我们需要修改插件的入口文件:

  • 文件路径custom_nodes\comfyui-mixlab-nodes\__init__.py
Win_ComfyUI\custom_nodes\comfyui-mixlab-nodes\__init__.py
  • 修改位置:约第 1455-1456 行(Whisper 检测块)。
  • 操作:将原本沉默的 except 块改为打印完整堆栈。

# 修改前 except Exception as e: logging.info('Whisper.available False') # 修改后 (增加 Traceback 打印) except Exception as e: import traceback logging.info(f'Whisper.available False. Reason: {e}') traceback.print_exc() 

修改后重启,控制台显露真凶:

FileNotFoundError: [WinError 3] 系统找不到指定的路径。: '...\\models\\whisper'


2. 核心原因:路径初始化崩溃

排查发现,该问题并非依赖缺失,而是 nodes/Whisper.py 的代码健壮性不足

  1. 代码在初始化时会强制扫描 models/whisper 文件夹。
  2. 如果用户尚未创建该目录,os.listdir() 会直接抛出异常导致模块加载失败。

3. 终极解决方案

第一步:手动创建目录

在你的 ComfyUI 的 /models 目录下,手动新建文件夹:whisper


第二步:修复源码逻辑漏洞

打开 custom_nodes\comfyui-mixlab-nodes\nodes\Whisper.py,在 model_sizes 扫描逻辑前加入自动创建目录的判断。

Win_ComfyUI\custom_nodes\comfyui-mixlab-nodes\nodes\Whisper.py

# 确保目录存在,防止 os.listdir 报错抛出 WinError 3 if not os.path.exists(whisper_model_path): os.makedirs(whisper_model_path) # 此时再执行扫描逻辑,即使文件夹为空也只会返回空列表,不会导致加载失败 model_sizes = [ d for d in os.listdir(whisper_model_path) if os.path.isdir(os.path.join(whisper_model_path, d)) and os.path.isfile(os.path.join(os.path.join(whisper_model_path, d), "config.json")) ] 

第三步:正确放置 CTranslate2 模型

由于代码检查 config.json,我们需要下载 Faster-Whisper 格式的模型(如 Systran/faster-whisper-tiny)。

https://huggingface.co/collections/Systran/faster-whisper
https://huggingface.co/Systran/faster-whisper-tiny/tree/main
# Download the model hf download Systran/faster-whisper-tiny
  • 工具:可以使用 hf-mirror 镜像下载。
  • 存放:将模型文件(model.bin, config.json 等)放在 models/whisper/faster-whisper-tiny/ 下。

正确的文件结构应该是:

H:\PythonProjects1\Win_ComfyUI\models\whisper\faster-whisper-tiny\ ├── config.json ├── model.bin ├── tokenizer.json ├── vocabulary.txt └── README.md (可选)

Mixlab 的这个节点通常支持以下两类模型:
• Faster-Whisper 模型:例如 tiny, base, small, medium, large-v3 的 CTranslate2 格式文件夹。
• OpenAI 原版模型:.pt 格式的文件。
可以先尝试方案 A,重启后看看控制台是否变成了 Whisper.available True。


确保环境里已经安装了 faster-whisper,接下来最关键的一步就是放置模型文件。由于代码逻辑里有一个硬性条件:模型文件夹内必须包含 config.json,这意味着它需要 Faster-Whisper (CTranslate2) 格式的模型。

如何获取并放置模型?

    • faster-whisper-tiny (体积小,速度极快)
    • faster-whisper-base (平衡性好)
    • faster-whisper-large-v3 (精度最高,中文识别强)
  1. 刷新节点:放好之后,你可以在 ComfyUI 中添加 Load Whisper Model ♾️Mixlab 节点,在下拉菜单里就能看到你刚放进去的文件夹名字了。

正确的文件结构:需要将下载的文件夹解压到 H:\PythonProjects1\Win_ComfyUI\models\whisper 目录下。结构必须如下所示: 

H:\PythonProjects1\Win_ComfyUI\models\whisper\ └── large-v3/ <-- 文件夹名随意,但里面必须有 json ├── config.json <-- 必须存在,否则节点识别不到 ├── model.bin ├── tokenizer.json └── vocabulary.json 

下载模型:

https://huggingface.co/Systran

你可以从 Hugging Face 的 Systran 页面 下载。常用的模型包括:



4. 验证修复

重启 ComfyUI 后查看控制台日志输出以验证修复:

Whisper.available

可以看到控制台显示 Whisper.available 后面没有 False(或者显示了 True),就说明模块已经绕过了路径检查,成功加载到了 ComfyUI 中。


5. 经验总结

在开发 ComfyUI 插件或维护 Python 环境(如 EPGF 框架)时:

  1. Debug 优先:修改 __init__.py 打印 traceback 是定位插件加载问题的万能钥匙。
  2. 路径防御性编程:使用 os.listdir 前必做 os.path.existsos.makedirs

博主: AITechLab

时间: 2026年1月16日


Read more

VsCode远程连接服务器后安装Github Copilot无法使用

VsCode远程连接服务器后安装Github Copilot无法使用

VsCode远程连接服务器后安装Github Copilot无法使用 1.在Vscode的settings中搜索Extension Kind,如图所示: 2.点击Edit in settings.json,添加如下代码: "remote.extensionKind":{"GitHub.copilot":["ui"],"GitHub.copilot-chat":["ui"],} remote.extensionKind 的作用 这是 VS Code 的远程开发配置项,用于控制扩展在远程环境(如 SSH、容器、WSL)中的运行位置。可选值: “ui”:扩展在本地客户端运行 “workspace”:扩展在远程服务器运行 这两个扩展始终在 本地客户端运行,

AI绘画关键词网站效率提升实战:从数据预处理到模型加速

快速体验 在开始今天关于 AI绘画关键词网站效率提升实战:从数据预处理到模型加速 的探讨之前,我想先分享一个最近让我觉得很有意思的全栈技术挑战。 我们常说 AI 是未来,但作为开发者,如何将大模型(LLM)真正落地为一个低延迟、可交互的实时系统,而不仅仅是调个 API? 这里有一个非常硬核的动手实验:基于火山引擎豆包大模型,从零搭建一个实时语音通话应用。它不是简单的问答,而是需要你亲手打通 ASR(语音识别)→ LLM(大脑思考)→ TTS(语音合成)的完整 WebSocket 链路。对于想要掌握 AI 原生应用架构的同学来说,这是个绝佳的练手项目。 从0到1构建生产级别应用,脱离Demo,点击打开 从0打造个人豆包实时通话AI动手实验 AI绘画关键词网站效率提升实战:从数据预处理到模型加速 最近在开发一个AI绘画关键词推荐网站时,遇到了不少性能瓶颈。用户输入描述词后,系统需要快速返回最相关的绘画风格关键词,但最初的版本响应慢、推荐结果也不够精准。经过一系列优化,最终将查询响应时间降低了60%。下面分享整个优化过程的关键技术和实战经验。 痛点分析:

TWIST2——全身VR遥操控制:采集人形全身数据后,可训练视觉base的自主策略(基于视觉观测预测全身关节位置)

TWIST2——全身VR遥操控制:采集人形全身数据后,可训练视觉base的自主策略(基于视觉观测预测全身关节位置)

前言 我司内部在让机器人做一些行走-操作任务时,不可避免的需要全身遥操机器人采集一些任务数据,而对于全身摇操控制,目前看起来效果比较好的,并不多 * 之前有个CLONE(之前本博客内也解读过),但他们尚未完全开源 * 于此,便关注到了本文要解读的TWIST2,其核心创新是:无动捕下的全身控制 PS,如果你也在做loco-mani相关的工作,欢迎私我你的一两句简介,邀你加入『七月:人形loco-mani(行走-操作)』交流群 第一部分 TWIST2:可扩展、可移植且全面的人形数据采集系统 1.1 引言与相关工作 1.1.1 引言 如TWIST2原论文所说,现有的人形机器人远程操作系统主要分为三大类: 全身控制,直接跟踪人体姿态,包括手臂、躯干和腿部在内的所有关节以统一方式进行控制(如 HumanPlus [12],TWIST [1] ———— TWIST的介绍详见此文《TWIST——基于动捕的全身遥操模仿学习:教师策略RL训练,学生策略结合RL和BC联合优化(可训练搬箱子)》 部分全身控制,

Stable-Diffusion-3.5 Java开发实战:SpringBoot微服务集成指南

Stable-Diffusion-3.5 Java开发实战:SpringBoot微服务集成指南 1. 开篇:为什么要在SpringBoot中集成Stable-Diffusion-3.5? 如果你正在开发一个需要AI图像生成功能的Java应用,可能会遇到这样的问题:Python生态的AI模型怎么和Java微服务架构结合?其实很简单,通过RESTful API的方式,我们就能让SpringBoot应用轻松调用Stable-Diffusion-3.5的图像生成能力。 想象一下这样的场景:你的电商平台需要自动生成商品海报,内容社区想要为用户提供头像生成功能,或者设计工具希望集成AI绘图能力。这些都是Stable-Diffusion-3.5在Java应用中很典型的应用场景。 我自己在项目中集成过多个AI模型,最大的感受是:关键不在于技术多复杂,而在于找到简单可靠的集成方式。接下来,我会带你一步步实现这个集成过程。 2. 环境准备与项目搭建 2.1 基础环境要求 在开始之前,确保你的开发环境满足以下要求: * JDK 11或更高版本 * Maven 3.6+ 或 Gradl