As of 1 day ago suddenly can’t see installed custom nodes, can’t download/update any custom nodes

出现“As of 1 day ago suddenly can't see installed custom nodes, can't download/update any custom nodes”时,通常是因为 ComfyUI Manager 拉取远程 custom-node-list.jso

快速结论:出现“As of 1 day ago suddenly can’t see installed custom nodes, can’t download/update any custom nodes”时,通常是因为 ComfyUI Manager 拉取远程 custom-node-list.json 后,在处理缺少 reference 字段的条目时抛出 KeyError: 'reference',导致整个自定义节点列表加载失败。优先排查 Manager 版本,以及远程节点列表里是否有异常条目。

适用环境:Issue 中确认的环境为 Windows 便携版 ComfyUI(路径包含 ComfyUI_windows_portable),使用的是数个月前版本的 ComfyUI-Manager,Python 位于便携包内的 python_embeded。Issue 未提供具体的 Python、CUDA、PyTorch、显卡型号和 Manager 版本号。

最快修复方案:Issue 中明确验证过升级 ComfyUI-Manager 可以解决问题。

注意事项:评论中提到的“修改源码,让旧版跳过无 reference 的条目”属于可优先尝试的变通方案,未在 Issue 中给出具体代码或验证结论;修改前应备份文件。Issue 也确认远程列表已在 main 上恢复为每条都有 reference,因此旧版 Manager 能否重新可用,取决于它拉取到的列表版本。

问题场景

用户在 Windows 便携版 ComfyUI 中使用较旧版本的 ComfyUI-Manager,未更新 ComfyUI、未安装新节点,也未主动修改便携目录。某天打开 Manager 后,看不到已安装的自定义节点,也无法查看或下载、更新任何自定义节点。终端中可以看到 Manager 正常从本地和 raw.githubusercontent.com 拉取 extension-node-map.json、custom-node-list.json、github-stats.json,但随后在 fetch_customnode_list 处理请求时出错。

报错原文

Error handling request from 127.0.0.1
Traceback (most recent call last):
  File "...\python_embeded\Lib\site-packages\aiohttp\web_protocol.py", line 510, in _handle_request
    resp = await request_handler(request)
  File "...\python_embeded\Lib\site-packages\aiohttp\web_app.py", line 569, in _handle
    return await handler(request)
  File "...\python_embeded\Lib\site-packages\aiohttp\web_middlewares.py", line 117, in impl
    return await handler(request)
  File "...\ComfyUI\server.py", line 52, in cache_control
    response: web.Response = await handler(request)
  File "...\ComfyUI\server.py", line 144, in origin_only_middleware
    response = await handler(request)
  File "...\ComfyUI\custom_nodes\ComfyUI-Manager\glob\manager_server.py", line 525, in fetch_customnode_list
    json_obj = await populate_github_stats(json_obj, json_obj_github)
  File "...\ComfyUI\custom_nodes\ComfyUI-Manager\glob\manager_server.py", line 224, in populate_github_stats
    url = node['reference']
          ~~~~^^^^^^^^^^^^^
KeyError: 'reference'

原因分析

Issue 中已定位的原因:远程 https://raw.githubusercontent.com/ltdrdata/ComfyUI-Manager/main/custom-node-list.json 中出现了没有 reference 字段的条目。2025-02-02(提交 268b84a2)之前的 Manager 版本不容忍这种情况:只要有一个条目缺少 reference,populate_github_stats 在读取 node['reference'] 时就会抛出 KeyError,导致整个自定义节点列表请求失败。因此界面表现为“看不到任何自定义节点”,而不是只有某一条显示异常。

评论中提到的其他可能原因包括:Manager 新版本可能转向 ComfyUI Registry,远程 JSON 更新后旧版兼容性变差。但这些属于讨论中的推测,Issue 最终确认的直接原因是缺少 reference 字段。

环境排查

  • 确认 ComfyUI-Manager 的版本;Issue 中的用户使用的是“数个月前”的版本,未给出精确版本号。
  • 确认是否使用 Windows 便携版 ComfyUI,以及 ComfyUI\custom_nodes\ComfyUI-Manager 的路径是否与终端日志一致。
  • 确认终端是否先成功输出 FETCH DATA from ... custom-node-list.json [DONE],随后才出现 KeyError: 'reference'。
  • 确认远程 custom-node-list.json 中是否仍有条目缺少 reference;Issue 结论称当前 main 已恢复为全部条目都有 reference。
  • Issue 未提供 Python、CUDA、PyTorch、显卡和具体节点依赖版本,无需据此补写。

解决步骤

  1. 优先升级 ComfyUI-Manager 到当前版本。Issue 中明确回复 “Yes, the update can solve the problem.”,这是已验证的首选处理方式。
  2. 如果因旧工作流、旧模型等原因不想升级旧便携环境,可优先尝试按评论建议修改读取节点列表的源码,使旧版在缺少 reference 时跳过该条目而不是整体失败。Issue 未给出具体修改位置和代码,操作前请备份 manager_server.py。
  3. 修改前确认问题是否已自行恢复:Issue 收尾说明远程 main 列表已恢复为每条都有 reference(6045/6045),旧版 Manager 重新拉取后可能恢复正常。
  4. 若仍失败,检查终端中 custom-node-list.json 的拉取结果和错误堆栈,确认是否仍为 KeyError: 'reference',再决定升级或打补丁。

验证方法

重启 ComfyUI 后打开 ComfyUI-Manager,确认“已安装节点”和可下载节点列表均能正常显示,终端不再出现 populate_github_stats 中的 KeyError: 'reference',并且 fetch_customnode_list 请求不再返回 Error handling request from 127.0.0.1。

参考来源

ltdrdata/ComfyUI-Manager #2183

GamsGo AI

AI 工具推荐

想把多个 AI 模型放在一个入口?

GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。

了解 GamsGo AI

推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。

这个方案解决了吗?

celebrityanime
celebrityanime
文章: 35055

发表回复

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