✨ feat(config): 更新模型配置与LLM提示词指南

- 将默认LLM模型从gemini-2.0-flash升级为gemini-3-flash-preview
- 将博主人设从"性感福利主播"更改为"二次元coser"
- 优化LLM生成SD提示词的指南,新增中国审美人物描述规则
- 为各SD模型添加颜值核心词、示范prompt和禁止使用的关键词
- 新增三维人物描述法(眼睛/肤色/气质)和专属光线词指导

📦 build(openspec): 归档旧规范并创建新规范

- 将improve-maintainability规范归档至2026-02-25目录
- 新增2026-02-26-improve-ui-layout规范,包含UI布局优化设计
- 新增2026-02-26-optimize-image-generation规范,包含图片生成优化设计
- 在根目录openspec/specs下新增图片质量、后处理、中国审美和LLM提示词规范

♻️ refactor(sd_service): 优化SD模型配置和图片后处理

- 为各SD模型添加中国审美特征词和欧美面孔排除词
- 新增高画质预设档,SDXL模型启用Hires Fix参数
- 将后处理拆分为beauty_enhance和anti_detect_postprocess两个独立函数
- 新增美化增强功能,支持通过enhance_level参数控制强度

♻️ refactor(services): 更新内容生成服务以支持美化增强

- 在generate_images函数中新增enhance_level参数
- 将美化强度参数传递至SDService.txt2img调用

♻️ refactor(ui): 优化UI布局和添加美化强度控件

- 注入自定义CSS主题层,优化字体、按钮和卡片样式
- 将全局设置迁移至独立的"⚙️ 配置"Tab,优化Tab顺序
- 在内容创作Tab的高级设置中添加美化强度滑块控件
- 优化自动运营Tab布局,改为2列卡片网格展示
This commit is contained in:
2026-02-26 22:58:05 +08:00
parent b635108b89
commit b5deafa2cc
53 changed files with 1578 additions and 387 deletions
@@ -0,0 +1,38 @@
## ADDED Requirements
### Requirement: beauty_enhance 作为独立美化增强函数
系统 SHALL 在 `sd_service.py` 中提供 `beauty_enhance(img: Image.Image, level: float = 1.0) -> Image.Image` 函数,支持以下增强操作(所有操作的强度随 `level` 线性缩放):
- 智能锐化(基于 `ImageFilter.UnsharpMask`,强调五官轮廓与发丝细节)
- 亮度与对比度微增(`level=1.0` 时各 +2-3%,`level=2.0` 时各 +4-6%)
- 饱和度提升(`level=1.0` 时 +5%,`level=2.0` 时 +10%,令肤色更均匀饱满)
- `level=0` 时 SHALL 直接返回原图,跳过所有处理
#### Scenario: 正常调用增强管线
- **WHEN** 调用 `beauty_enhance(img, level=1.0)`
- **THEN** 返回经过锐化、亮度微调、饱和度提升处理的 PIL Image,图片尺寸不变
#### Scenario: level=0 时跳过处理
- **WHEN** 调用 `beauty_enhance(img, level=0)`
- **THEN** 直接返回原始 img 对象,不执行任何增强操作
#### Scenario: level=2 时增强效果加倍
- **WHEN** 调用 `beauty_enhance(img, level=2.0)`
- **THEN** 锐化、亮度、饱和度的调整幅度均为 level=1.0 时的 2 倍
### Requirement: 后处理管线顺序为美化先于反 AI 扰动
系统 SHALL 在 `txt2img` 和 `img2img` 生成流程中,对每张输出图片依次执行:`beauty_enhance(img, level) → anti_detect_postprocess(img)`,确保美化增强在扰动引入之前完成。
#### Scenario: 生成图片经过完整两阶段后处理
- **WHEN** `txt2img` 成功生成图片
- **THEN** 每张图片先经过 `beauty_enhance`,再经过 `anti_detect_postprocess`,最终返回给调用方
### Requirement: enhance_level 参数从 UI 传递至后处理管线
系统 SHALL 支持 `enhance_level: float` 参数从 Gradio UI 经 `services/content.py` 的 `generate_images()` 函数传递至 `SDService.txt2img()`,最终传入 `beauty_enhance()`。新参数默认值为 `1.0`,向后兼容。
#### Scenario: UI 美化强度滑块值传递到生成结果
- **WHEN** 用户在"高级设置"中将美化强度滑块调整为 2.0 并点击生成
- **THEN** 生成图片经过 `beauty_enhance(img, level=2.0)` 处理
#### Scenario: 旧调用方不传 enhance_level 时行为不变
- **WHEN** `generate_images()` 未传入 `enhance_level` 参数
- **THEN** 默认使用 `level=1.0`,行为与优化前相同