unprompted
为 Stable Diffusion WebUI 提供 70+ 短代码模板引擎,支持条件逻辑、变量系统和 NLP 处理,让 Prompt 编写从关键词堆砌进化为编程式生成
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
为 Stable Diffusion WebUI 提供 70+ 短代码模板引擎,支持条件逻辑、变量系统和 NLP 处理,让 Prompt 编写从关键词堆砌进化为编程式生成
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
凌晨两点,你正在调试一张赛博朋克风格的角色图。"赛博朋克"、"霓虹灯"、"下雨的街道"、"高对比度"……一个个关键词敲进去,出来的效果却总差那么点意思。更要命的是,每次想复用这个风格,都得把整套 Prompt 完整复制一遍——一旦模板稍有变动,历史记录便成了灾难。
这是每一个 Stable Diffusion 重度用户的共同困境:Prompt 本质上是参数化指令,但 Stable Diffusion 的原生提示词系统更像一个"关键词机器",缺乏真正的逻辑表达能力。条件判断、循环复用、动态生成?原生工具爱莫能助。
Unprompted 正是为解决这个痛点而生。它为 Stable Diffusion WebUI(俗称 A1111 WebUI)带来了一套完整的模板语言系统,用类似"短代码"的语法,让 Prompt 编写从关键词堆砌,进化为真正的编程式生成。
Unprompted 由独立开发者 ThereforeGames 创建,首个 commit 追溯到 2022 年 10 月。项目完全开源,采用社区驱动模式维护,GitHub 社区反馈活跃。作为 A1111 WebUI 的非官方扩展,Unprompted 填补了 Stable Diffusion 原生 Prompt 系统在逻辑表达方面的空白。
项目的核心设计哲学是自然语言优先——所有语法都为可读性优化,即便没有编程经验也能快速上手。经过近四年迭代,当前版本 11.2.0,功能已相当成熟,涵盖了 70+ 内置短代码,覆盖条件逻辑、文件操作、随机选择、NLP 处理等全方位需求。
Unprompted 的核心是**短代码(Shortcode)**机制:用方括号 [...] 包裹指令,在 Prompt 执行时被实时解析和展开。这套设计借鉴自 WordPress 的同名插件,但又针对 AI 绘画场景做了深度定制。
条件逻辑是最基础也是最强大的能力。[if] 短代码允许你在 Prompt 中嵌入条件判断,实现场景自适应:
[if VAR_scene=night]cyberpunk city, neon lights[/if]
[if VAR_scene=day]sunny downtown, clear sky[/if]
这意味着同一个模板可以根据变量值动态切换内容,彻底告别为不同场景维护多套 Prompt 的噩梦。
通配符与随机选择是另一大核心能力。[choose] 块支持从预设列表中随机选取内容:
[choose 3]cyberpunk/neon/rain/smog/glitch[/choose]
更强大的是权重支持——某些选项可以被赋予更高的出现概率。这一特性让风格探索变得既系统又有可控的随机性。
变量系统贯穿整个模板。Unprompted 支持定义变量、引用变量、修改变量值,甚至可以在模板之间传递上下文。变量可以是用户定义的(VAR_xxx),也可以直接操作 Stable Diffusion 的内置参数,如 negative_prompt、cfg_scale、steps 等。
[set VAR_style]masterpiece, best quality[/set]
[set negative_prompt]lowres, bad anatomy[/set]
{VAR_style}, 1girl, solo focus
文件导入与模板复用:[file] 短代码支持从外部文件读取内容,支持子文件夹组织。这意味着你可以将常用的 Prompt 片段存为模板文件,在不同工作流中灵活引用,大幅减少重复劳动。
NLP 能力是 Unprompted 的独特亮点。内置对 NLTK 和 Pattern 库的集成,支持自动复数化、同义词替换、动词变位等自然语言处理能力,让语义操作自动化。
Stable Diffusion 专用短代码是 Unprompted 的独家能力,部分功能在其他扩展中找不到平替:
[txt2mask]:根据文本描述自动生成蒙版这些功能将 Unprompted 从"提示词辅助工具"提升为"AI 绘画工作流引擎"。
Unprompted 采用清晰的分层架构:
核心层(lib_unprompted/):包含模板引擎的核心实现,shared.py(30KB+)是整个系统的主控制器,处理短代码解析、变量管理和执行上下文。shortcodes.py 定义了短代码注册机制,simpleeval.py 负责表达式求值,casefy.py 处理文本格式转换。
短代码层(shortcodes/):
basic/:基础逻辑短代码(if/for/set/file/choose 等)stable_diffusion/:SD 专用短代码(txt2mask/bodysnatcher/ControlNet 等)脚本层(scripts/):unprompted.py(66KB+)是主入口脚本,负责与 A1111 WebUI 交互;unprompted_template_editor.py 是独立的模板编辑器。
稳定扩散集成层(lib_unprompted/stable_diffusion/):包含 CLIPSeg、ControlNet、OpenCLIP 等模型的集成代码。
技术栈:Python 3.10+,核心依赖包括 opencv-python(图像处理)、NLTK(自然语言处理)、Pattern(NLP 增强)。项目还集成了多个大型 ML 模型(CLIPSeg、GroundingDINO、FastSAM 等),以子模块形式管理。
Unprompted 已将能力边界扩展到 ComfyUI 生态。官方维护的 ComfyUI-Unprompted 节点让你在 ComfyUI 工作流中也能使用 Unprompted 模板语法。这意味着 Unprompted 正在从"A1111 专用工具"进化为"跨平台的 Prompt 模板标准"。
入门阶段(1-2小时):理解短代码的基本语法,体验条件判断和随机选择,上手门槛极低。官方 Starter Guide 和 Manual 文档质量极高。
进阶阶段(1-3天):学习变量系统、文件模板、NLP 短代码,开始构建个人 Prompt 知识库。
高阶阶段:掌握自定义短代码开发、Bodysnatcher 角色一致性等高级特性,需要一定 Python 基础。
强依赖 A1111/WebUI 生态:作为扩展运行,与 WebUI 版本更新高度耦合,不同版本兼容性需逐一验证。
模型文件体积庞大:完整安装包含多个大型 ML 模型,首次安装耗时较长。
无官方 Docker 支持:无法容器化部署到云端服务器。
Python 环境依赖复杂:从 Git 直接安装部分依赖,存在版本漂移风险。
无 License:项目未声明开源 License,使用和二次分发存在法律不确定性。
Unprompted 的出现代表了 AI 绘画工具从"工具层"向"平台层"演进的趋势。随着 Stable Diffusion 功能日益复杂,用户对 Prompt 系统的要求也从"能输入关键词"升级为"能表达复杂意图"。Unprompted 填补了这个空白,证明了 Prompt 工程化不只属于 LLM 领域,在多模态生成领域同样有旺盛需求。
核心评价:Unprompted 是 Stable Diffusion 生态中最具深度的 Prompt 工程工具之一。对于有复杂 Prompt 复用需求的用户,它是不可替代的生产力利器;但对于轻度用户,其学习成本可能高于收益。