ValueError: unexpected ‘{‘ in field name

用户运行 rgthree ComfyUI 自定义节点,在 WebUI 启动或处理请求时, routes_config.py 中的 get_logo 函数尝试下载远程 SVG 图标文件,但下载失败后本地 SVG 模板包含多余的 {} 花括号,导致 Python 的 str.format() 方法抛出异

ValueError: unexpected '{' in field name

ValueError: unexpected ‘{‘ in field name

快速结论:该报错在 rgthree ComfyUI 启动或访问时出现,原因是 rgthree 的 SVG Logo 文件(托管于 comfy.rgthree.com)无法下载,导致 Python 字符串格式化时出现字段名解析错误。优先排查 rgthree 的 Logo 站点 DNS 是否正常。

问题场景

用户运行 rgthree ComfyUI 自定义节点,在 WebUI 启动或处理请求时,routes_config.py 中的 get_logo 函数尝试下载远程 SVG 图标文件,但下载失败后本地 SVG 模板包含多余的 {} 花括号,导致 Python 的 str.format() 方法抛出异常。此问题在多个用户设备上突然出现,与网络或 DNS 解析有关。

报错原文

File "\ComfyUI_3\custom_nodes\rgthree-comfy\py\server\routes_config.py", line 48, in get_logo
    resp = svg.format(bg=bg, fg=fg)
           ^^^^^^^^^^^^^^^^^^^^^^^^
ValueError: unexpected '{' in field name

原因分析

根本原因是 rgthree 的 Logo 托管站点(comfy.rgthree.com)因作者迁移服务器导致 DNS 解析失败。当 SVG 文件下载失败时,代码中使用了一个包含原始花括号 {} 的模板字符串,后续调用 .format(bg=bg, fg=fg) 时,Python 无法解析这些未转义的花括号,从而抛出 ValueError: unexpected '{' in field name。这是一个上游服务可用性问题,而非 rgthree 代码本身的 Bug。

环境排查

  • rgthree-comfy 自定义节点版本(无需特定版本,所有使用远程 Logo 下载的版本均受影响)
  • 网络环境:能否正常访问 https://comfy.rgthree.com/media/rgthree.svg
  • DNS 解析:dig comfy.rgthree.comnslookup comfy.rgthree.com 是否返回有效 IP
  • 浏览器直接打开上述 SVG 链接:如无法访问,确认是网络问题
  • ComfyUI 启动日志:检查是否有 DNS 错误或 HTTP 连接超时记录

解决步骤

  1. 优先尝试:等待上游站点恢复。根据 Issue 作者确认,DNS 问题已修复(“Should be resolved”),重启 ComfyUI 后通常可自动解决。
  2. 手动验证站点可访问性:在浏览器中打开 https://comfy.rgthree.com/media/rgthree.svg,确认是否返回 SVG 内容。如果不可访问,说明 DNS 传播尚未完成或本地 DNS 缓存未刷新。
  3. 刷新本地 DNS 缓存:
    • Windows:在命令提示符中执行 ipconfig /flushdns
    • macOS/Linux:sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
  4. 临时绕过(可选):如果急需使用且站点不可用,可编辑 rgthree-comfy/py/server/routes_config.py 文件,将第 48 行的 svg.format(bg=bg, fg=fg) 改为 svg.replace('{bg}', bg).replace('{fg}', fg)(需确保 SVG 模板中的花括号是 {bg}{fg} 形式),但这属于临时修改,不建议长期使用。
  5. 更新 rgthree-comfy:检查是否发布新版本,可能已修复为使用本地 Fallback 图标。

验证方法

重启 ComfyUI,观察启动日志中是否仍有相同的 ValueError 报错。在浏览器访问 ComfyUI 界面(默认 http://127.0.0.1:8188),确认页面左上角的 rgthree Logo 正常显示,或至少无报错弹窗。日志中看到成功获取 SVG 图标的记录即可确认问题解决。

参考来源

rgthree/rgthree-comfy #691

GamsGo AI

AI 工具推荐

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

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

了解 GamsGo AI

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

celebrityanime
celebrityanime
文章: 7747

发表回复

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