你还记得吗?--那个 7860 端口上的夏天
DEV Community

你还记得吗?--那个 7860 端口上的夏天

序章 - 你还记得吗?

你还记得吗?那好像还是昨天刚发生的事一样。一个匿名的 GitHub 用户,在一个匿名图像论坛的帖子里找到的一段 Gradio 脚本,一行 git clone,一个 run.bat,然后浏览器里弹出了一个 127.0.0.1:7860 的页面--左边写提示词,右边出图,进度条一格一格地往前走,显存占用在任务管理器里跳来跳去。那种第一次在自己电脑上跑通 Stable Diffusion 的兴奋感,那种调了半天参数终于出了一张"能看"的图时的成就感,现在想起来,好像一切都还历历在目。

但仔细一算,从 2022 年 8 月 22 日那个仓库创建的下午,到今天 2026 年的盛夏--已经快四年了。四年。在互联网产品的时间尺度上,四年足够一个平台从诞生走向巅峰再走向沉寂,足够一代用户从入坑到退坑再到淡忘。A1111 WebUI 走完了这条完整的弧线。

四年前,AI 绘画对大多数人来说还只是 Midjourney 那种云端服务、Discord 里输入 /imagine 等待出图的体验。在本地机器上跑 Stable Diffusion,当时意味着打开终端、敲命令行、处理 Python 依赖地狱、面对一堆看不懂的参数。是 A1111 把这一切装进了一个网页界面里,让任何一个会打字的人都能在自己的显卡上生成图像。它不是第一个做这件事的人,但它是做得最完整、最易用、生态最繁荣的那个。

而现在呢?打开 GitHub 的 Release 页面,最后一个版本停留在 2025 年 2 月 9 日的 v1.10.1,那甚至不是 AUTOMATIC1111 本人发布的。Issues 区里有人开了讨论帖问"这个项目是不是死了"[^1]。社区的重心早已转向了 ComfyUI,那个节点式的工作流引擎正在以每周一个版本的速度迭代[^2]。ControlNet 的作者 lllyasviel 另起炉灶做了 Forge,4GB 显存就能跑 FLUX[^3]。曾经那个在 127.0.0.1:7860 上改变了一切的 WebUI,如今安静地躺在那里,像一个完成了历史使命的老兵。

这篇文章,是关于它的完整追忆。从 2022 年 8 月那个下午的第一行代码,到 2026 年今天它留下的遗产--每一个版本、每一个功能、每一个转折点,我都会尽量准确地记录下来。因为有些事情,趁还记得的时候,应该写下来。

第一章 - 2022 年 8 月 22 日

要把 A1111 的故事讲清楚,得先回到它的前因--Stable Diffusion 模型本身的诞生。

2022 年 8 月 22 日,Stability AI 联合慕尼黑大学 CompVis 实验室与 Runway ML,公开发布了 Stable Diffusion 1.4 模型[^4]。这是一个基于潜在扩散模型(Latent Diffusion Model)的文本到图像生成模型,参数量约 8.9 亿,以 CreativeML Open RAIL-M 许可证开源。在当时,这是能力最强的开源图像生成模型,没有之一。它的发布在 AI 社区引发的震动,不亚于一场地震。

但模型本身只是一组权重文件和一段推理脚本。Stability AI 提供的官方工具是一个 Python 脚本,需要在命令行中运行。对于大多数没有深度学习背景的人来说--艺术家、设计师、摄影爱好者、只是觉得好奇的普通网民--"打开终端,激活 conda 环境,运行 python scripts/txt2img.py --prompt 'a cat'"这件事本身就是一道门槛。而那道门槛背后,还有 CUDA 版本不对、PyTorch 装不上、显存不够、Hugging Face token 怎么填……一系列足以让人在第一步就放弃的障碍。

正是在这一天,2022 年 8 月 22 日 UTC 时间 14:05:26,一个 GitHub 用户名叫做 AUTOMATIC1111 的人,创建了一个名为 stable-diffusion-webui 的公开仓库[^5]。十分钟后,14:15:46,第一条实质性代码提交被推上去,提交消息简洁到只有一个词: first [^6]。

一个基于 Gradio 库实现的 Stable Diffusion 网页界面。
-- 仓库描述,2022 年 8 月 22 日

这不是巧合。A1111 的诞生与 Stable Diffusion 1.4 的发布是同一天。网络上有些资料声称 A1111 "在 SD 发布大约一个月后才出现",这是不准确的--GitHub API 返回的仓库创建时间戳是铁证[^5][^6]。AUTOMATIC1111 在 SD 1.4 开源的当天就做出了回应,这种速度本身就说明了一件事:他不是临时起意,而是早有准备,在等一个模型开源的契机。

而那一天,AI 绘画的民主化进程,正式拉开了序幕。

第二章 - 来自 4chan 的火种

AUTOMATIC1111 是谁?这个问题到现在也没有确切答案。他从未公开过真实身份,GitHub 个人资料创建于 2022 年,提交记录中的作者署名是 AUTOMATIC,邮箱是 16777216c@gmail.com [^6]。16777216 是 2 的 24 次方,末尾的 c 被普遍认为暗指 4chan--这一点在项目的 README 里有更直接的线索。

翻开 A1111 仓库的 README 文件,Credits(致谢)部分写着这样一行:

Initial Gradio script - posted on 4chan by an Anonymous user. Thank you Anonymous user.
-- stable-diffusion-webui README

这行字揭示了 A1111 的真正起点:AUTOMATIC1111 并非从零开始构建这个项目。在 Stable Diffusion 1.4 发布后,4chan 上一位匿名用户贴出了一段基于 Gradio 的简单脚本,让 Stable Diffusion 可以在浏览器里跑起来。AUTOMATIC1111 拿到了这段脚本,以此为起点,迅速将它扩展为一个功能完整的 Web 应用,然后推上了 GitHub[^4]。

这个起源故事本身就有一种独特的互联网气质:匿名的人,在匿名的论坛上,贴出匿名的代码,然后另一个匿名的人接手了它,做成了改变整个行业格局的产品。没有公司,没有融资,没有路演,没有 LinkedIn 档案。只有 GitHub 上的一个化名和一段提交记录。

与 Stability AI 之间也没有任何从属关系。Stability AI 是模型的上游提供者,A1111 是独立的社区项目[^4]。这种独立性在后来变得至关重要--它意味着 A1111 的命运完全系于一个匿名维护者一身,这既是它最大的优势(不受商业利益裹挟),也是它最大的风险(没有组织级的延续性保障)。

2023 年 1 月 5 日,这种风险以一种戏剧性的方式暴露了:AUTOMATIC1111 的 GitHub 账号因涉嫌违反服务条款被短暂封禁,整个仓库一度下线,在社区引发了恐慌[^4]。整个生态的核心工具随着其创建者账号的消失而消失--这是任何依赖单一维护者的开源项目最害怕的场景。账号随后恢复了,GitHub 没有给出详细解释,但这次事件给所有人敲响了警钟。

十天之后,2023 年 1 月 15 日,AUTOMATIC1111 给项目加上了 AGPL-3.0 开源许可证[^7]。在此之前的将近五个月里,这个拥有数万 star 的项目居然没有正式的许可证文件--README 里还特意标注了一句"Now with a license!"。一个改变了 AI 绘画格局的项目,在法律层面上"裸奔"了近半年,这种事大概也只有在这个匿名、去中心化的社区里才会发生。

第三章 - 野蛮生长的五个月

从 2022 年 8 月 22 日到 2023 年 1 月 24 日,将近五个月的时间里,A1111 没有发布过一个带版本号的 Release。用户靠 git pull 拉取最新提交来更新,变更日志就是 commit history[^4]。但恰恰是这段"无版本号"时期,奠定了 A1111 几乎所有核心功能的基础。开发节奏之快,用"野蛮生长"来形容毫不为过。

仓库创建当天,除了最基础的 txt2img 功能外,AUTOMATIC1111 就已经加入了 GFPGAN 人脸修复和 Prompt Matrix(提示词矩阵)[^6]。第二天,8 月 23 日,加入了提示词长度校验、--no-half 命令行选项,img2img 模式也增加了 Prompt Matrix 支持。8 月 24 日,Textual Inversion(文本反演)支持被合并,由社区贡献者 dogewanwan 提交的 PR[^6]。

接下来的两周内,功能以几乎每天一个的速度增长:

  • 2022-09-03 - Inpainting(局部重绘):提交消息戏称为"poor man's inpainting"--简陋但可用的局部重绘功能,让用户可以在已有图像上选区重新生成。
  • 2022-09-04 - ESRGAN 放大:神经网络图像放大器,让低分辨率生成图可以放大到高分辨率。同一天还加入了 Tiling(平铺生成)和分割注意力层(cross-attention)优化。
  • 2022-09-04 - UI 配置文件ui-config.json 的引入,让界面参数可以持久化保存。用户体验从"每次都要重新填"进化到"记住我的设置"。
  • 2022-09-30 - Embeddings 目录:为 Textual Inversion 嵌入文件建立独立目录结构,为后来庞大的 embedding 生态铺路。
  • 2022-10-08 - Hypernetwork 训练:受 NovelAI 模型泄露事件(2022 年 10 月)启发,加入 Hypernetwork 支持和训练模板。
  • 2022-10-29 - Extensions 子模块:扩展系统的雏形出现,为后来改变项目命运的扩展生态埋下了种子。
  • 2022 年 11 月 - 本地化与用户配置:加入多语言本地化文件和 webui-user.bat,让非英语用户和 Windows 用户也能方便地启动。
  • 2022 年 12 月 - LoRA 支持:通过 <lora:filename:multiplier> 提示词语法加载 LoRA 权重--这个功能后来成为整个 SD 微调模型生态的基石。

两个星期内,一个只有 txt2img 的脚本就变成了一个功能齐全的图像生成工作台:文生图、图生图、局部重绘、人脸修复、图像放大、文本反演、超网络训练、提示词矩阵、平铺生成、LoRA 加载……这个功能列表放在今天依然不过时。而这一切,是在没有任何版本号、没有正式 Release、没有 changelog 的情况下完成的。AUTOMATIC1111 和早期社区贡献者们以一种近乎疯狂的节奏,把一个 4chan 脚本变成了一个完整的软件。

在这段时间里,A1111 还确立了几项后来成为整个 Stable Diffusion 生态事实标准的约定。其中影响最深远的三项是:

三项遗产约定

  • 负面提示词(Negative Prompt):在正向提示词之外,增加一个独立的负面提示词输入框,告诉模型"不要生成什么"。这个设计简单到理所当然,但在 A1111 之前,大多数 SD 推理脚本并没有把它作为一个独立的、一等公民的输入字段。
  • 提示词权重语法(word:1.2) 这样的语法让用户可以对提示词中的特定词赋予不同权重,精确控制生成方向。这套语法后来被 Civitai、Hugging Face 等几乎所有模型分享平台采纳为标准。
  • PNG 元数据嵌入:生成的 PNG 图片中自动嵌入完整的生成参数(模型、提示词、负面提示词、采样器、步数、CFG scale、seed 等)。这意味着任何一张 A1111 生成的图片,都可以通过"拖回界面"来复现生成参数。这个约定后来也被整个生态广泛采纳。

这三项约定,没有一项是技术上多么复杂的东西。但它们共同构成了一个"用户体验标准"--当所有人都在用 A1111 时,A1111 的做法就成了标准。Civitai 上的模型说明页按 A1111 的用法写,教程按 A1111 的界面截图,提示词按 A1111 的语法格式。这种生态锁定效应,是 A1111 最深远的遗产之一[^4]。

第四章 - 版本号元年

2023 年 1 月 24 日,A1111 终于发布了第一个带标签的版本:v1.0.0-pre [^4]。那个 -pre 后缀透露出一种朴素的谦虚--在已经拥有数万 star 和完整功能集的情况下,AUTOMATIC1111 仍然认为这只是"预发布"。

v1.0.0-pre 的意义不在于功能--此时 txt2img、img2img、inpainting、upscalers、textual inversion、hypernetworks、LoRA、xformers、--medvram / --lowvram 等核心功能早已存在--而在于正式化了扩展系统。从这个版本开始,A1111 提供了一个标准的扩展安装机制,用户可以从 Extensions 标签页输入 GitHub URL 来安装第三方扩展,也可以使用 extensions-builtin/ 目录下的内置扩展[^8]。

同时,这个版本还提供了一个 sd.webui.zip 二进制发行包,面向那些连 Python 和 Git 都不会安装的用户--解压后双击 run.bat 就能运行(仅限 Windows 10 + NVIDIA 显卡)[^9]。在那个 AI 绘画教程还停留在"如何配置 conda 环境"的阶段,这个一键启动包极大地降低了入门门槛。

从 v1.0.0-pre 开始,A1111 进入了一个有节奏的版本发布周期。接下来的约一年半时间里,从 v1.1.0 到 v1.10.0,一共发布了十一个主要版本,每一个都带来了实质性的功能更新和架构改进。这段时期是 A1111 的黄金年代。

第五章 - 功能编年史

以下是 A1111 从 v1.1.0 到 v1.10.1 的完整版本编年。所有日期均来自 GitHub 官方 Release 页面[^9]。

v1.1.0 - 2023 年 5 月 1 日

第一个正式版本号(去掉了 -pre)。核心变化是切换到 torch 2.0.0(AMD GPU 除外),并引入了"随机数生成器源"(Random number generator source)设置,使同一 seed 在不同 GPU 上生成一致的图像--在此之前,同一 seed 在不同硬件上可能产生不同结果,这让参数分享和复现变得不可靠[^9]。此外还支持了 Gradio 主题 API,Linux 默认使用 TCMalloc 修复内存泄漏,img2img 增加了 "resize by"/"resize to" 选项卡,以及会话刷新后的进度恢复按钮。

v1.2.0 - 2023 年 5 月 13 日

启动时不再等待模型加载,显著加速了启动速度。LoRA 方面做了多项改进:使用元数据中的名称激活、修复部分 LoRA 不工作的问题、提供旧方法兼容选项。Gradio 升至 3.29.0,torch 升至 2.0.1,加入 --subpath 选项用于反向代理部署[^9]。

v1.3.0 - 2023 年 5 月 27 日

这个版本引入了两项重要优化:

  • Token Merging(通过 dbolya/tomesd 实现),在不显著降低图像质量的前提下减少计算量,提升生成速度
  • TAESD(Tiny AutoEncoder for Stable Diffusion),一种低成本的实时预览方案,让用户在生成过程中就能看到低分辨率的预览图[^9]

此外,LoRA 开始计算 hash 并加入 infotext,粘贴参数时可按 hash 匹配本地 LoRA;用户可以从 UI 中选择 cross attention 优化方式。代码管理方面,引入了 Ruff(Python)和 ESLint(JavaScript)代码检查工具--这是项目体量增长到需要规范化管理的信号[^9]。

v1.4.0 - 2023 年 6 月 27 日

inpainting 的缩放控制、自定义 k-diffusion 调度器设置、sysinfo 系统信息标签页。粘贴参数时可以从提示词推断 styles。xformers 升至 0.0.20,加入 custom unet 支持和持久化 conds 缓存(可选优化)。移除了 taming_transformers 依赖,开始做依赖瘦身[^9]。

v1.5.0 - 2023 年 7 月 25 日

这是一个里程碑式的版本。两项核心更新使其成为 A1111 历史上最重要的版本之一:

第一,SDXL(Stable Diffusion XL)支持。Stability AI 在 2023 年 7 月发布了 SDXL 1.0,这是自 SD 1.5 以来最大幅度的模型升级,参数量从 8.9 亿增加到约 66 亿,原生分辨率从 512×512 提升到 1024×1024。A1111 在 SDXL 发布后不到一个月就提供了原生支持(需要 --no-half-vae 标志)[^9][^10]。

第二,LoRA 扩展重构。此前由 LyCORIS 扩展处理的 LoCon、LoHa 等网络类型被整合进内置扩展系统,自 v1.5.0 起 A1111 原生支持多种网络类型[^10]。这个改动看似技术性,但它直接推动了后来 Civitai 上 LoRA 模型的爆发式增长--用户不再需要额外安装 LyCORIS 扩展就能加载各种微调模型。

此外还加入了自定义网络的用户元数据系统、扩展的 LoRA 元数据编辑器、生成图片出现 NaN 时自动切换至 32 位浮点 VAE 的保护机制、以及 API 端点(server-kill/restart/stop)。pip 安装跳过已安装包,启动加速约 2 秒[^9]。

v1.6.0 - 2023 年 8 月 31 日

又一个里程碑版本。

  • SDXL Refiner 支持--SDXL 的两阶段推理(Base 模型生成粗图,Refiner 模型精修细节)被内置为顺序推理流程[^10][^9]
  • RNG 源新增 NV 选项,使 CPU/AMD/Mac 生成与 NVIDIA 一致
  • Hires fix(高清修复)第二遍可使用不同 checkpoint
  • 内存中保留多个已加载模型的选项(减少切换时的加载等待)

采样器方面新增了 Restart、DPM++ 2M SDE Exponential/Heun/Karras、DPM++ 3M SDE 等一系列新选项,DPM++ 2M Karras 成为默认采样器。DDIM、PLMS、UniPC 被重构为统一使用 CFG denoiser,使其支持 img2img、AND 提示词组合和 SDXL[^9]。

架构方面,shared.pywebui.py 被拆分为多个文件,StableDiffusionProcessing 改用 dataclass,LoRA 补丁从 torch 内部移至专用模块。这些重构表明代码库已经大到需要模块化管理的程度。VAE 也支持为每个 checkpoint 选择独立 VAE[^9]。

v1.7.0 - 2023 年 12 月 16 日

  • Settings 标签页重构,加入搜索框和分类
  • SSD-1B 模型支持(Segmind 稳定扩散 1B,一个蒸馏压缩版的 SDXL)
  • SD 2.1 Turbo 支持
  • HyperTile 优化--通过分块处理注意力层来加速大分辨率生成
  • LyCORIS GLora 与 OFT 网络推理支持
  • lora-embedding 捆绑系统
  • Intel Arc GPU 的初始 IPEX 支持
  • 脚本元数据与 DAG 排序机制[^9]

v1.8.0 - 2024 年 3 月 2 日

torch 升至 2.1.2。多项重要更新:

  • Soft Inpainting(柔和重绘,让 inpainting 的边缘过渡更自然)
  • FP8 精度支持(降低显存和内存占用)
  • SDXL-Inpaint 模型支持
  • 官方 LCM(Latent Consistency Model)采样器支持--LCM 可以在 4-8 步内生成高质量图像,相比传统 20-30 步的采样器速度提升数倍[^9]

架构上采用 Spandrel 作为 upscaling 与人脸恢复的统一架构接口,从 requirements 中移除了 basicsr、gfpgan、realesrgan 及其大量依赖--这是一次重要的架构解耦,让放大和人脸恢复模型的添加变得模块化[^9]。Zero terminal SNR 噪声调度选项(注意:这是种子破坏性变更)。DAT upscaler 模型支持。Extra Networks 树状视图。华为昇腾 NPU 支持。提示词注释(Prompt comments)支持。自动向后版本兼容[^9]。

v1.9.0 - 2024 年 4 月 13 日

  • 主 UI 中的调度器选择
  • SDXL-Lightning 模型的 sgm uniform 调度器
  • DoRA(权重分解低秩适配)支持--DoRA 是 LoRA 的改进版本,在更少参数量下达到更好的微调效果,支持 LoRA/LoHa/LoKr 等多种网络类型
  • LyCORIS BOFT 网络支持
  • Refiner 切换改为基于模型 timesteps
  • 回调顺序重排 UI
  • 使用 diskcache 库做缓存
  • safetensors 元数据中嵌入封面图[^9]

v1.9.1(AVIF 支持、schedulers API 端点)、v1.9.3(4 月 22 日,bug 修复)、v1.9.4(5 月 28 日,pin setuptools 版本修复启动错误)相继发布[^9]。

v1.10.0 - 2024 年 7 月 27 日

这是 AUTOMATIC1111 本人发布的最后一个版本,也是 A1111 支持的最新一代模型:

  • Stable Diffusion 3 支持。SD3 的文本编码器 T5 默认关闭(可在设置中开启),推荐 Euler 采样器,暂不支持 DDIM 等 timestamp 采样器[^9]
  • 新调度器包括 Align Your Steps、KL Optimal、Normal、DDIM、Simple、Beta
  • 新采样器 DDIM CFG++

这个版本还包含了一系列大规模性能优化(Performance 1/6 至 6/6 系列 PR):use_checkpoint=False、用 torch 原生算子替换 einops.rearrange、预计算 is_sdxl_inpaint flag、sigmas 保留在 CPU、--precision half 避免推理时类型转换、LDM 优化补丁等[^9]。这些优化在保持生成质量的前提下进一步压榨了推理性能。

v1.10.1 - 2025 年 2 月 9 日

只有一个修复:CPU 上图像 upscale 的 bug。但这个版本的发布者不是 AUTOMATIC1111,而是维护者 w-e-w [^9]。这标志着 A1111 的维护结构发生了变化--原维护者已经事实上退出了日常开发。

版本发布时间线汇总

版本 发布日期 里程碑特性
v1.0.0-pre 2023-01-24 首个标签版本,扩展系统正式化
v1.1.0 2023-05-01 torch 2.0.0,RNG 源设置
v1.2.0 2023-05-13 启动加速,LoRA 改进
v1.3.0 2023-05-27 Token Merging,TAESD 预览
v1.4.0 2023-06-27 Custom UNet,conds 缓存
v1.5.0 2023-07-25 SDXL 支持,LoRA 扩展重构
v1.6.0 2023-08-31 SDXL Refiner,架构重构
v1.7.0 2023-12-16 SSD-1B,SD 2.1 Turbo,HyperTile
v1.8.0 2024-03-02 FP8LCM 采样器,Spandrel
v1.9.0 2024-04-13 DoRA 支持,调度器选择
v1.10.0 2024-07-27 SD3 支持,性能优化系列
v1.10.1 2025-02-09 最后版本(由 w-e-w 发布)

第六章 - ControlNet 革命与扩展帝国

如果说 A1111 的核心功能是骨架,那扩展系统就是让它真正长出血肉的肌肉。而在所有扩展中,没有哪一个比 ControlNet 的影响更深远。

2023 年 2 月 10 日,化名 lllyasviel 的研究者(后公开身份为张吕敏/Lvmin Zhang)发布了 ControlNet[^11]。这是一种让扩散模型"听话"的技术:通过输入一张参考图(边缘检测图、深度图、人体姿态图等),引导模型生成在结构上与参考图一致的新图像。在此之前,Stable Diffusion 的生成结果主要靠提示词引导,控制力有限--你能告诉它"画一个站着的人",但无法精确控制那个人的姿态。ControlNet 改变了这一点。

ControlNet 发布后,社区开发者 Mikubill 迅速推出了 sd-webui-controlnet 扩展,让 ControlNet 可以直接在 A1111 界面中使用[^11]。2023 年 4 月,lllyasviel 又发布了 ControlNet 1.1,改进了模型质量和控制精度。从那时起,ControlNet 扩展成为几乎所有 A1111 用户的标配--一个没有安装 ControlNet 的 A1111 实例,就像一辆没有方向盘的汽车。

ControlNet 只是扩展生态的冰山一角。在 A1111 的黄金时期,Extensions 标签页里可以找到数百个扩展,覆盖了几乎所有能想到的功能:

扩展 功能 影响
sd-webui-controlnet ControlNet 集成 结构控制的事实标准
Deforum 动画生成 让 A1111 从静态图像工具变成动画工具
Ultimate SD Upscale 分块放大 突破显存限制,生成超大分辨率图像

| ADetailer

Comments

No comments yet. Start the discussion.