【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 相关的问题,随时来问我。

相关推荐
黄美美分享1 分钟前
【免费开源】多平台直播录制软件!支持 40 + 平台直播录制,附软件下载!
windows·自动化·电脑·开源软件
合合技术团队2 分钟前
论文解读 | 从识别字符到理解结构,“树模型”让AI“看懂”复杂手写数学公式
人工智能·文字识别·公式识别·文档解析·textln·蜜蜂试卷
molaifeng2 分钟前
统一调度:用 EasyCLI + CLIProxyAPI 打造你的私人“AI 路由器”
人工智能·codex·opencode·easycli·cliproxyapi
EdgeOne边缘安全加速平台3 分钟前
一键管控 AI 爬虫,腾讯 EdgeOne 基础 Bot 管理能力免费开放
人工智能·爬虫
徐小夕@趣谈前端3 分钟前
基于Vue3+Nestjs从零实现一款AI思维导图工具
人工智能
maoku664 分钟前
从关键词到语义:向量数据库如何让AI真正理解你的需求
数据库·人工智能
寻道码路5 分钟前
【MCP探索实践】Google GenAI Toolbox:Google开源的企业级AI数据库中间件、5分钟搞定LLM-SQL安全互联
数据库·人工智能·sql·开源·aigc
QBoson8 分钟前
综述:多尺度模拟与机器学习在高熵合金研究中的当前应用现状
人工智能·机器学习
njsgcs8 分钟前
agentscope Mem0LongTermMemory记忆写入和查询工具2个py
人工智能
小小逐月者9 分钟前
SQLModel 开发笔记:Python SQL 数据库操作的「简化神器」
数据库·笔记·python