【SD WebUI踩坑】启动报错 Expecting value: line 1 column 1 (char 0) 的终极解决方案

Stable Diffusion WebUI


【SD WebUI踩坑】启动报错 Expecting value: line 1 column 1 (char 0) 的终极解决方案




0. 前言

最近给 Stable Diffusion WebUI 更换了一个新的网络环境,结果噩梦开始了。启动时后台日志看起来正常,或者偶尔报个错,但一打开网页端,右侧就开始疯狂弹出红色的报错框:

Error

Expecting value: line 1 column 1 (char 0)

折腾了一整天,试过删除 config.json、重置 styles.csv、扫描空文件、设置--xformers --gradio-queue 参数、甚至重装了 Python 环境,都没有解决。最后发现,这根本不是文件损坏的问题,而是 Python 环境与 Windows 系统网络设置之间的"沟通障碍"

1. 问题现象

启动 webui-user.bat 后,控制台或浏览器端抛出 JSON 解析错误:

复制代码
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

有时候还会伴随另一个错误,提示无法连接本地服务:

复制代码
ValueError: When localhost is not accessible, a shareable link must be created...

2. 原因分析(不仅是文件坏了)

大多数教程会告诉你这是因为 config.json 变成了空文件(0KB)。确实,断电会导致文件清空。但如果你检查发现文件都有内容,却依然报这个错,那么真凶只有一个:网络干扰

核心逻辑:
  1. 自动协商失败 :当我们在 Windows 中开启网络加速时,Python 的 requests 库会尝试自动读取系统的网络设置。

  2. 协议错乱 :如果网络工具软件和 Python 之间的协议握手失败(比如 Python 默认用 HTTPS,而本地端口只响应 HTTP,或者 SSL 证书验证失败),网络端口会返回一个 HTML 格式的报错页面 ,而不是插件预期的 JSON 数据

  3. 解析崩溃 :Civitai Helper 或其他插件照旧地把这段 HTML 代码拿去当 JSON 解析,自然读不到第一行的 {,于是抛出 Expecting value...

  4. 误伤友军 :不仅外部请求崩了,连 WebUI 连接自己的 127.0.0.1 也被强制走了加速通道,导致"自己连不上自己"。

3. 终极解决方案:在启动脚本中"硬编码"网络配置

既然让 Python "自动识别系统设置"不可靠,我们就直接在启动脚本里把网络参数写死

这样做有三大好处:

  • 独立性:无论你是否开启 Windows 系统的全局开关,WebUI 都会强制走你指定的稳定通道。

  • 稳定性:显式定义的参数比自动抓取的要稳定得多,杜绝 HTML 报错。

  • 避坑 :配合 NO_PROXY设置参数,彻底解决本地连接 (localhost) 和外部下载的冲突。

操作步骤:

第一步:确认你的加速端口

打开你的加速工具软件,在设置里找到 "本地端口" 或 "HTTP 端口"。

*****

  • (请以你软件实际显示的为准)

第二步:修改 webui-user.bat

  1. 右键点击你的启动脚本 webui-user.bat,选择"编辑"。

  2. call webui.bat 这一行的上面,插入以下代码(请根据你的实际端口修改数字):

    @echo off

    set PYTHON=
    set GIT=
    set VENV_DIR=

    :: ========================================================
    :: 【核心修复代码开始】
    :: 1. 强制指定网络通道端口 (解决 HTML 返回值导致的 JSON 解析错误)
    :: 注意:这里通常都写 http://,即使是 HTTPS_PROXY 也建议写 http://
    set HTTP_PROXY=这里填写
    set HTTPS_PROXY=这里填写

    :: 2. 设置本地白名单 (至关重要!)
    :: 这一行能防止 WebUI 尝试通过网络去连接 localhost,
    :: 彻底解决 "ValueError: When localhost is not accessible" 错误
    set NO_PROXY=127.0.0.1,localhost
    :: 【核心修复代码结束】
    :: ========================================================

    :: 你的启动参数
    set COMMANDLINE_ARGS=--xformers --gradio-queue --disable-nan-check

    call webui.bat

第三步:保存并重启

  1. 保存文件。

  2. 关闭所有正在运行的 WebUI 黑色窗口。

  3. 双击 webui-user.bat 重新启动。

4. 效果验证

改完后,你会发现:

  1. 报错消失:浏览器不再弹红框,后台不再报 JSON 错误。

  2. 下载正常:Civitai Helper 等插件可以正常通过你指定的端口下载模型元数据。

  3. 本地直连 :因为配置了 NO_PROXY参数,生成图片时的本地通信直接走直连,速度快且稳定。

5. 总结

如果你也遇到了删不完的配置文件、修不好的 Expecting value,请立刻检查你的网络环境。不要依赖系统的网络加速设置,直接在 bat 里"硬编码"环境变量,才是 SD WebUI 最稳的运行方式。


(笔记结束)

希望这篇笔记能帮到更多被这个问题折磨的朋友!如果还有其他 SD 相关的问题,随时来问我。

相关推荐
leo__52018 分钟前
基于MATLAB的交互式多模型跟踪算法(IMM)实现
人工智能·算法·matlab
脑极体27 分钟前
云厂商的AI决战
人工智能
njsgcs1 小时前
NVIDIA NitroGen 是强化学习还是llm
人工智能
王老邪1 小时前
Windows下利用PowerShell实现Git自动推送
windows·git
七牛云行业应用1 小时前
重构实录:我删了 5 家大模型 SDK,只留了 OpenAI 标准库
python·系统架构·大模型·aigc·deepseek
知乎的哥廷根数学学派1 小时前
基于多模态特征融合和可解释性深度学习的工业压缩机异常分类与预测性维护智能诊断(Python)
网络·人工智能·pytorch·python·深度学习·机器学习·分类
mantch1 小时前
Nano Banana进行AI绘画中文总是糊?一招可重新渲染,清晰到可直接汇报
人工智能·aigc
编程小白_正在努力中2 小时前
第1章 机器学习基础
人工智能·机器学习
一人の梅雨2 小时前
亚马逊SP-API商品详情接口轻量化实战:合规与商业价值提取指南
python
wyw00002 小时前
目标检测之SSD
人工智能·目标检测·计算机视觉