news 2026/9/5 5:01:13

基于Stable Diffusion与LoRA的二次元角色定制:从环境部署到批量生成实战

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
基于Stable Diffusion与LoRA的二次元角色定制:从环境部署到批量生成实战

这次我们来看一个非常有意思的AI绘画项目,它能够将《三角符文》中的角色“花花公子”进行风格化创作,生成带有兽耳、Cosplay元素的“花哥”形象。这背后通常依赖于一个经过特定风格训练的Stable Diffusion模型或LoRA模型,用于实现角色的一致性和风格转换。

对于喜欢《三角符文》或二次元角色创作的玩家和创作者来说,这个项目的核心价值在于:它提供了一套本地化的、可控的角色形象生成方案。你不用再大海捞针地寻找同人图,而是可以自己定义角色的姿态、表情、服装细节,甚至批量产出不同场景下的“花哥”。本文将带你从零开始,理解如何部署和使用这类角色定制模型,重点包括环境搭建、模型加载、提示词技巧以及如何验证生成效果。

1. 核心能力速览

首先,我们快速了解这类角色定制AI绘画项目的核心规格和门槛。这能帮你快速判断是否值得投入时间尝试。

能力项说明
项目类型基于 Stable Diffusion WebUI 或 ComfyUI 的角色风格化模型/LoRA
核心功能文生图、图生图,生成指定游戏角色(花花公子)的兽耳、Cosplay等风格化形象
推荐硬件支持 CUDA 的 NVIDIA 显卡(如 RTX 3060 12G 或更高),显存建议 8GB 以上以获得更好体验
显存占用取决于基础模型分辨率及LoRA强度,通常 512x768 分辨率下,8G显存可流畅运行
支持平台Windows, Linux, macOS (CPU/Metal)
启动方式通过 Stable Diffusion WebUI 一键启动脚本或 ComfyUI 启动
是否支持 API是,可通过 WebUI 的 API 或 ComfyUI 的 API 进行集成调用
是否支持批量是,WebUI 和 ComfyUI 均支持批量生成和图片处理
适合场景同人创作、角色设定图产出、社交媒体内容制作、个性化头像生成

从表格可以看出,这是一个典型的本地AI绘画应用,门槛在于显卡和一定的部署操作。它的优势在于生成内容的高度定制化和隐私性。

2. 适用场景与使用边界

在开始部署前,明确它能做什么、不能做什么,以及需要注意的合规问题,至关重要。

适用场景:

  1. 同人创作与分享:为《三角符文》社群创作独特的“花哥”形象,用于非商业的同人分享。
  2. 角色概念设计:为游戏、动漫或故事创作提供角色视觉参考,快速迭代不同服装和风格。
  3. 个性化内容生产:生成独一无二的头像、壁纸或社交平台配图。
  4. 工作流集成:通过API将角色生成能力接入到自己的工具链中,实现自动化内容生产。

使用边界与合规提醒:

  1. 版权与授权:《三角符文》角色形象本身具有版权。使用此类模型生成的图像,仅限于个人学习、研究和非商业性质的同人创作。任何商用行为都必须获得原始版权方的明确授权,否则存在侵权风险。
  2. 肖像权与隐私:如果使用真人照片进行图生图或训练模型,必须确保已获得肖像权人的明确授权,严禁未经许可使用他人肖像。
  3. 内容安全:生成的内容需符合公序良俗,不得用于制作和传播违法、违规或不良信息。
  4. 技术局限性:模型生成效果受训练数据、提示词和参数影响,可能出现肢体扭曲、细节错误等问题,需要反复调试。

3. 环境准备与前置条件

要运行这样一个角色定制模型,你需要准备好以下软硬件环境。请逐项检查。

硬件要求:

  • GPU(推荐):NVIDIA 显卡,显存 ≥ 4GB(可运行基础功能),≥ 8GB 体验更佳。支持 RTX 20/30/40 系列,部分项目通过优化也可能支持更老的10系显卡或AMD显卡(通过ROCm),但NVIDIA CUDA生态支持最完善。
  • CPU(备用):如果没有合适显卡,可使用CPU模式运行,但速度会非常慢,仅适合测试模型能否加载。
  • 内存:建议 ≥ 16GB 系统内存。
  • 磁盘空间:至少预留 20GB 可用空间,用于存放基础模型、LoRA模型、依赖库和生成图片。

软件与环境:

  1. 操作系统:Windows 10/11 64位,或 Ubuntu 等 Linux 发行版。
  2. Python:版本 3.10.x。这是 Stable Diffusion WebUI 最兼容的版本。
  3. Git:用于克隆项目仓库。
  4. CUDA 工具包:版本需与你的显卡驱动及 PyTorch 版本匹配。对于大多数用户,安装最新版 NVIDIA 显卡驱动后,通过 PyTorch 自动安装的 CUDA 运行时通常即可满足需求。
  5. 模型文件
    • 基础大模型:例如chilloutmixanythingCounterfeit等适合亚洲动漫风格的 Checkpoint 模型。
    • 角色 LoRA 模型:专门针对“三角符文花花公子兽耳”风格训练的 LoRA 模型文件(.safetensors格式)。
    • VAE:可选,用于改善颜色和细节,如vae-ft-mse-840000-ema-pruned.ckpt

4. 安装部署与启动方式

我们将以最流行的Stable Diffusion WebUI (AUTOMATIC1111)为例,演示如何部署和加载角色LoRA模型。ComfyUI 的流程类似,但更偏向节点式工作流。

步骤 1:获取 Stable Diffusion WebUI打开命令行(终端或 PowerShell),选择一个空间充足的磁盘(如 D盘),执行以下命令克隆仓库:

# 克隆 WebUI 仓库 git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git cd stable-diffusion-webui

步骤 2:放置模型文件将下载好的模型文件放入指定目录:

  • 基础模型 (Checkpoint):放入stable-diffusion-webui/models/Stable-diffusion/目录。
  • LoRA 模型:放入stable-diffusion-webui/models/Lora/目录。
  • VAE 模型:放入stable-diffusion-webui/models/VAE/目录。

步骤 3:启动 WebUIstable-diffusion-webui目录下,运行启动脚本:

  • Windows:双击运行webui-user.bat。首次运行会自动安装依赖,时间较长。
  • Linux/macOS:在终端执行./webui.sh

启动成功后,命令行窗口会显示类似Running on local URL: http://127.0.0.1:7860的信息。

步骤 4:访问与配置

  1. 在浏览器中打开http://127.0.0.1:7860
  2. 在左上角选择你放置的基础模型
  3. 点击生成按钮下方的“红色水晶”图标(或显示为“Show extra networks”),切换到Lora标签页。你应该能看到你放入的“花哥”LoRA模型。
  4. 点击该LoRA模型,它会以<lora:模型文件名:权重>的格式插入到提示词中。权重通常从 0.5-1.0 开始尝试。

至此,你的AI绘画环境已经就绪,并加载了角色模型。

5. 功能测试与效果验证

环境启动后,最关键的一步是测试模型是否工作,以及如何调整参数获得理想效果。我们将分步进行。

5.1 基础文生图测试

测试目的:验证LoRA模型能否被正确调用,并生成具有“兽耳花花公子”特征的基础形象。

操作步骤:

  1. 选择模型:在 WebUI 左上角,确认已选中你的基础动漫风格模型。
  2. 加载 LoRA:在提示词输入框下方,点击“Lora”标签,找到你的角色LoRA并点击,确保提示词框中出现了类似<lora:huage_v1:0.8>的标签。
  3. 编写提示词
    • 正面提示词 (Prompt)masterpiece, best quality, 1boy, (deltarune:1.2), ralsei, fluffy, animal ears, fox ears, cute, blush, wearing elegant suit, prince, solo, looking at viewer
    • 负面提示词 (Negative Prompt)lowres, bad anatomy, bad hands, text, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts, signature, watermark, username, blurry, artist name
  4. 设置生成参数
    • 采样方法 (Sampler):DPM++ 2M Karras 或 Euler a(速度快,效果不错)。
    • 迭代步数 (Steps):20-30。
    • 宽度/高度 (Width/Height):先设置为 512x768(竖版)或 768x512(横版),以降低显存压力。
    • 提示词引导系数 (CFG Scale):7-9。
    • 生成批次 (Batch count):1。
  5. 点击生成:观察控制台有无报错,并等待图片生成。

预期结果与判断:

  • 成功:生成一张具有明显《三角符文》角色“花花公子”(Ralsei)特征,同时带有兽耳(如狐耳)、穿着优雅的男性角色图片。画风应与基础模型风格一致。
  • 失败排查
    • 黑图/扭曲:可能是VAE不匹配或模型损坏。尝试更换VAE或重新下载模型。
    • 无兽耳特征:LoRA权重可能太低,尝试将<lora:name:0.8>中的0.8提高到1.01.2。同时检查正面提示词是否包含animal ears, fox ears等关键词。
    • 显存不足:降低图片分辨率,或启用--medvram参数启动 WebUI。

5.2 图生图与风格强化测试

测试目的:利用一张已有的“花哥”草图或相似角色图,通过图生图功能,让LoRA模型在此基础上进行重绘和风格化,测试其理解与改造能力。

操作步骤:

  1. 切换到Img2Img标签页。
  2. 上传一张参考图(可以是简单的线稿,或另一张动漫男性角色图)。
  3. 在提示词中同样加入LoRA标签,并描述你希望强化的风格,例如:(deltarune ralsei:1.3), cute fox boy, detailed suit, fantasy background
  4. 调整重绘幅度 (Denoising strength):这是一个关键参数。建议从0.4-0.7开始尝试。值越低越保持原图构图,值越高自由度越大。
  5. 点击生成,对比原图与生成图。

效果验证:观察生成图是否在保留原图大致构图的基础上,成功融入了“兽耳花花公子”的服装、发型和神态特征。通过调整重绘幅度,你可以在“忠于原图”和“发挥创意”之间找到平衡点。

5.3 批量生成与角色一致性测试

测试目的:测试模型在连续生成多张图片时,能否保持角色核心特征(如兽耳、发型、服装风格)的一致性,这对于创作系列图至关重要。

操作步骤:

  1. 在文生图或图生图页面,设置Batch count(生成批次)为 4,Batch size(每批数量)保持为 1(以减少显存占用)。
  2. 保持核心提示词和LoRA标签不变,可以微调一些次要关键词,如表情smilingserious,或背景in libraryin garden
  3. 点击生成,等待产出4张图片。

判断标准:依次查看4张图片。成功的表现是:尽管表情、角度、背景略有变化,但角色的基本形象(兽耳类型、服装款式、发型、瞳色)保持稳定。如果出现角色性别、种族或核心服饰发生巨大变化,则说明LoRA模型的控制力较弱,可能需要提高LoRA权重,或在负面提示词中排除其他角色类型。

6. 接口 API 与批量任务

当你需要将生成能力集成到其他应用,或进行大规模自动化生成时,WebUI 的 API 功能就派上用场了。

6.1 启动 API 服务

Stable Diffusion WebUI 默认内置了 API。启动时添加--api参数即可启用。 修改你的webui-user.bat(Windows)或webui.sh(Linux/macOS)中的COMMANDLINE_ARGS变量:

# 在 webui-user.bat 中设置 set COMMANDLINE_ARGS=--api --listen # --listen 允许网络访问(注意安全风险),如果仅本地使用可省略

重启 WebUI 后,API 服务即启用。

6.2 调用文生图 API

下面是一个使用 Pythonrequests库调用 API 进行文生图的示例。这个示例包含了调用 LoRA 模型的关键参数。

import requests import json import base64 from io import BytesIO from PIL import Image # WebUI API 地址 url = "http://127.0.0.1:7860/sdapi/v1/txt2img" # 构造请求载荷,集成了LoRA payload = { "prompt": "masterpiece, best quality, 1boy, deltarune ralsei, <lora:huage_v1:0.85>, animal ears, fox ears, cute, prince, solo", "negative_prompt": "lowres, bad anatomy, bad hands, text, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts, signature, watermark, username, blurry", "steps": 20, "cfg_scale": 7.5, "width": 512, "height": 768, "sampler_name": "DPM++ 2M Karras", "batch_size": 1, "override_settings": { "sd_model_checkpoint": "你的基础模型名称.safetensors" # 确保模型已加载 } } # 发送 POST 请求 response = requests.post(url=url, json=payload, timeout=300) # 处理响应 if response.status_code == 200: r = response.json() # 图片以 base64 格式返回 for i, img_base64 in enumerate(r['images']): image_data = base64.b64decode(img_base64) image = Image.open(BytesIO(image_data)) image.save(f'./output_api_{i}.png') print(f"图片已保存: output_api_{i}.png") else: print(f"请求失败,状态码: {response.status_code}") print(response.text)

关键参数说明:

  • prompt: 必须包含 LoRA 调用标签<lora:模型名:权重>
  • override_settings: 可用于指定本次生成使用的检查点模型,确保与LoRA兼容。

6.3 设计批量任务

对于需要处理大量不同提示词或参考图的场景,可以编写脚本进行批量处理。

import os import requests import json import base64 from io import BytesIO from PIL import Image # 基础配置 api_url = "http://127.0.0.1:7860/sdapi/v1/txt2img" output_dir = "./batch_output" os.makedirs(output_dir, exist_ok=True) # 批量提示词列表 prompt_list = [ "masterpiece, (deltarune ralsei:1.2), <lora:huage_v1:1>, fox ears, in library, reading a book, serene", "best quality, (deltarune ralsei:1.2), <lora:huage_v1:1>, fox ears, wearing ceremonial robe, holding a staff, fantasy castle background", "1boy, (deltarune ralsei:1.2), <lora:huage_v1:0.9>, cat ears, playful smile, sitting in a cafe", ] common_negative = "lowres, bad anatomy, bad hands, text, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts, signature, watermark, username, blurry" for idx, prompt in enumerate(prompt_list): print(f"正在生成第 {idx+1}/{len(prompt_list)} 张: {prompt[:50]}...") payload = { "prompt": prompt, "negative_prompt": common_negative, "steps": 25, "cfg_scale": 8, "width": 512, "height": 768, "sampler_name": "Euler a", "batch_size": 1, } try: response = requests.post(api_url, json=payload, timeout=120) response.raise_for_status() # 检查HTTP错误 result = response.json() img_data = base64.b64decode(result['images'][0]) img = Image.open(BytesIO(img_data)) img.save(os.path.join(output_dir, f'batch_{idx:03d}.png')) print(f" 已保存: batch_{idx:03d}.png") except requests.exceptions.RequestException as e: print(f" 请求出错: {e}") except (KeyError, json.JSONDecodeError) as e: print(f" 解析响应出错: {e}") except Exception as e: print(f" 未知错误: {e}") print("批量生成任务完成。")

这个脚本实现了简单的队列处理和错误捕获,是自动化生产的基础。你可以在此基础上增加图生图、参数随机化、结果评分等高级功能。

7. 资源占用与性能观察

了解资源占用情况,有助于优化生成体验和稳定性。

显存占用观察:

  • 在 WebUI 生成图片时,观察命令行窗口或系统任务管理器(GPU 监控)。
  • 主要影响因素
    1. 分辨率:显存占用与宽度 x 高度成正比。512x768 比 768x768 占用低。
    2. 批量大小 (Batch Size)Batch size大于 1 会显著增加显存占用,建议保持为 1,用Batch count实现多张生成。
    3. 模型复杂度:某些大型基础模型或启用多个 LoRA/ControlNet 会占用更多显存。
  • 典型情况:在 RTX 3060 12G 上,使用 512x768 分辨率,一个基础模型加一个 LoRA,显存占用通常在 4-6GB。如果接近或超过显卡显存,会导致生成失败或速度极慢。

性能优化建议:

  1. 启用 xFormers:在webui-user.batCOMMANDLINE_ARGS中添加--xformers,可以提升生成速度并略微降低显存占用。
  2. 使用低显存模式:如果显存紧张(如 4G或6G卡),启动时添加--medvram--lowvram参数。
  3. 优化分辨率:从低分辨率(如 512x512)开始测试,成功后再逐步提高。
  4. 关闭预览:在 WebUI 设置中关闭“实时预览”,可以减少一些内存开销。

CPU vs GPU 推理

  • GPU推理:速度快,是标准使用方式。依赖 CUDA 和兼容的显卡驱动。
  • CPU推理:速度极慢(可能数十倍于GPU),仅用于验证模型能否加载。通过添加--use-cpu all启动参数实现。不推荐日常使用。

8. 常见问题与排查方法

部署和使用过程中,你可能会遇到以下问题。这里提供系统的排查思路。

问题现象可能原因排查方式解决方案
启动 WebUI 时卡在“Installing…”或依赖错误网络问题导致 pip 安装失败;Python 版本不兼容。查看命令行报错信息,通常会有具体的包名和错误。1. 配置网络环境。2. 确保使用 Python 3.10.x。3. 手动安装失败包:pip install 包名
模型加载失败,提示“Error loading model”模型文件损坏;模型类型与 WebUI 不匹配(如试图加载 LoRA 作为主模型)。检查模型文件大小是否异常;确认文件放置在正确的目录。重新下载模型文件;检查文件扩展名(.safetensors, .ckpt),并放入对应目录。
生成图片全黑或全灰VAE 模型问题;模型本身需要特定 VAE。生成时观察命令行是否有 VAE 相关警告。Settings -> Stable Diffusion中,换一个 VAE 模型(如vae-ft-mse-840000-ema-pruned)并应用设置。
LoRA 模型点击后无效果LoRA 模型未正确加载;提示词权重过低。在生成页面的“生成”按钮下方,查看是否有<lora:xxx:1>标签;检查控制台有无加载 LoRA 的日志。1. 确认 LoRA 文件在models/Lora/下。2. 重启 WebUI。3. 手动在提示词中输入<lora:文件名:1>,并尝试提高权重到 1.2。
生成时显存不足 (CUDA out of memory)分辨率过高;Batch size 太大;同时启用过多功能(如多个 ControlNet)。降低分辨率至 512x512;设置 Batch size 为 1;关闭不必要的功能。添加--medvram启动参数;使用--lowvram(速度会变慢);升级显卡硬件。
API 调用返回 404 或连接拒绝WebUI 未以--api参数启动;防火墙或端口占用。检查 WebUI 启动日志是否包含API started;检查端口 7860 是否被其他程序占用。确保启动参数包含--api;尝试更换端口--port 7861;检查防火墙设置。
生成的人物脸部崩坏或肢体扭曲提示词描述冲突;采样步数太少;模型本身缺陷。检查负面提示词是否足够;尝试使用“面部修复”选项;增加采样步数(如30)。使用更详细的正面提示词;在负面提示词中加入bad anatomy, deformed hands, deformed fingers;尝试不同的采样器。
生成速度非常慢使用 CPU 模式;未启用 xFormers;显卡驱动或 CUDA 版本老旧。检查任务管理器,看是 GPU 还是 CPU 占用高;查看启动日志确认 xFormers 是否加载。确保使用 GPU 运行;添加--xformers启动参数;更新显卡驱动至最新稳定版。

9. 最佳实践与使用建议

为了更高效、更安全地使用这个角色创作工具,遵循以下最佳实践:

  1. 项目文件管理

    • 建立清晰的目录结构,例如:
      sd_project/ ├── models/ │ ├── Stable-diffusion/ # 放基础模型 │ ├── Lora/ # 放 LoRA 模型 │ └── VAE/ # 放 VAE 模型 ├── inputs/ # 存放参考图、草图 ├── outputs/ # 存放生成结果,按日期或项目分类 └── scripts/ # 存放批量生成、API调用等脚本
  2. 提示词工程

    • 分层描述:按照[角色主体, 外观细节, 服装, 动作, 场景, 画质词]的结构组织提示词。
    • 使用括号强调(keyword:1.3)可以增强该关键词的权重,[keyword]可以降低权重。
    • 善用负面提示词:准备一个通用的高质量负面提示词列表,每次生成时调用,能有效避免常见瑕疵。
  3. 参数调优流程

    • 先定构图:用较低的步数(20)和分辨率快速生成多张草图,确定满意的构图和姿势。
    • 再精修:锁定种子(Seed),逐步提高分辨率、步数和CFG Scale,进行高清修复(Hires. fix)。
    • 控制变化:如果想保持角色一致但微调背景,可以固定种子,只修改提示词中的场景部分。
  4. 合规与版权自查清单

    • [ ] 生成的图像是否包含受版权保护的知名角色、商标或标识?如是,仅用于个人学习/研究。
    • [ ] 是否使用了未经授权的真人肖像作为图生图输入?如是,必须获得授权。
    • [ ] 生成的内容是否会公开传播?如公开传播,需确保内容符合平台规定和公序良俗。
    • [ ] 计划将生成图像用于商业用途?如商用,必须解决所有潜在的版权和肖像权问题。
  5. 自动化与备份

    • 使用脚本进行批量生成时,务必加入日志记录和错误重试机制。
    • 定期备份你的styles.csv(提示词样式)、优秀的生成参数组合(PNG Info)。
    • 对于重要的LoRA模型和基础模型,进行异地备份。

10. 总结与下一步

这个基于 Stable Diffusion 和 LoRA 的“三角符文兽耳花哥”生成项目,本质是一套强大的本地化角色创作工具。它的最大价值在于将风格控制权交给了使用者,让你能围绕一个核心概念进行无限延伸的创作。

你最应该优先验证的,是 LoRA 模型与你的基础大模型的兼容性,以及通过提示词控制角色特征(如兽耳类型、服装)的精确程度。最容易踩的坑通常是环境配置、显存不足和提示词效果不佳。

成功跑通流程后,你可以探索更多进阶玩法:

  • 组合多个 LoRA:尝试将“兽耳”LoRA 与“特定画风”LoRA 结合,创造独一无二的混合风格。
  • 集成 ControlNet:使用 OpenPose、Canny 或 Depth 模型,精确控制生成角色的姿势、线稿或景深。
  • 训练专属模型:如果你有足够多的“花哥”设定图,可以尝试使用 Dreambooth 或 LoRA 训练方法,炼制一个完全属于你自己版本的模型。

工具已经就位,创意是唯一的限制。建议收藏本文的排查清单和最佳实践部分,在遇到问题时快速回顾。现在,你可以关闭这篇指南,去启动你的 WebUI,输入第一个提示词,开始创造你的“可可爱爱的花哥”了。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/5 5:00:18

【Linux】【shell】常用命令全称

Shell 命令全称与含义详解 Everybody,Shell 命令是不是特别难记?哪怕记住了,如果不常用常新,也容易忘记。 就像让你记住一串不知何意的密码:cptbtptpbcptdtptp。不是记不住,就是容易记错。但要是告诉你这是“吃葡萄不吐葡萄皮,不吃葡萄倒吐葡萄皮”的拼音首字母,是不…

作者头像 李华
网站建设 2026/9/5 4:57:52

ARM Mali GPU开发实战:架构、驱动与AI部署全解析

Mali GPU 这颗藏在 SoC 里的“计算心脏”&#xff0c;这些年我折腾过的架构、驱动和部署问题&#xff0c;值得好好梳理一遍。这篇文章我打算从一个实际开发者的视角&#xff0c;把 ARM Mali GPU 相关的资源、开发工具链、驱动调试和 AI 部署经验一次性讲透&#xff0c;文中涉及…

作者头像 李华
网站建设 2026/9/5 4:56:17

倍福PLC与ZAPI控制器CAN2.0通信实战指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/5 4:56:02

Runway Ruby 导出 ACES 色彩空间:AI 视频进入专业后期流程的关键一步

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/5 4:53:15

基于STM32的充电桩环境安全监测系统设计与实现

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/5 4:52:18

28天艾尔慢酿与海岛仙人掌果的邂逅——蒙小花红啤匠心工艺揭秘

在精酿啤酒的世界里&#xff0c;工艺决定品质&#xff0c;原料赋予灵魂。蒙小花精酿红啤之所以能够在众多产品中脱颖而出&#xff0c;背后是一套融合传统酿造智慧与现代食品科技的完整工艺体系。从原料的万里寻踪到28天艾尔慢发酵的耐心候候&#xff0c;每一个环节都凝聚着对“…

作者头像 李华