zhoujie b5deafa2cc 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列卡片网格展示
2026-02-26 22:58:05 +08:00

51 lines
4.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

## 1. sd_service.py — 中国审美词优化
- [x] 1.1 更新 `majicmixRealistic` 模型 `prompt_prefix`:添加 `(almond eyes:1.2)``(porcelain skin:1.2)``(youthful appearance:1.1)`,确保 `delicate facial features` 带权重
- [x] 1.2 更新 `realisticVision` 模型 `prompt_prefix`:添加 `(almond eyes:1.1)``(luminous fair skin:1.2)``(refined features:1.2)``(elegant temperament:1.1)`
- [x] 1.3 更新 `juggernautXL` 模型 `prompt_prefix`:添加 `(almond eyes:1.2)``(porcelain skin:1.2)``(delicate facial features:1.2)``(youthful appearance:1.1)``asian girl` 改为 `(chinese beauty:1.2)`
- [x] 1.4 在三个模型 `negative_prompt` 中补充 `strong jawline, prominent brow ridge, angular facial structure, square jaw, heavy brow`
- [x] 1.5 更新各 `PERSONA_SD_PROFILES` 人设的 `prompt_boost`:确保每个人设包含至少 1 个与中国审美相关的差异化气质词(甜妹-减龄感、知性-优雅气质、赛博博主-精致感 + 未来感等)
## 2. sd_service.py — 高画质预设与 Hires Fix
- [x] 2.1 在 `majicmixRealistic` `presets` 中新增 `"高画质 (约5分钟)"`steps=50, cfg_scale=7.0, width=640, height=960, sampler="DPM++ SDE", scheduler="Karras", batch_size=1
- [x] 2.2 在 `realisticVision` `presets` 中新增 `"高画质 (约5分钟)"`steps=50, cfg_scale=7.0, width=640, height=960, sampler="DPM++ SDE", scheduler="Karras", batch_size=1
- [x] 2.3 在 `juggernautXL` `presets` 中新增 `"高画质 (约5分钟)"`steps=40, cfg_scale=6.0, width=832, height=1216, sampler="DPM++ 2M SDE", scheduler="Karras", batch_size=1并增加 `enable_hr: True, hr_scale: 1.5, hr_upscaler: "4x-UltraSharp", hr_second_pass_steps: 20, denoising_strength: 0.4`
- [x] 2.4 在 `txt2img` 方法中:当 preset 包含 `enable_hr` 字段时,将该字段注入 SD API payload当架构为 sd15 时强制忽略 `enable_hr`
- [x] 2.5 添加 Hires Fix upscaler fallback 逻辑:捕获 SD API 返回的 upscaler 不存在错误,降级为 `"Latent"` 并记录 warning 日志
## 3. sd_service.py — 美化增强管线拆分
- [x] 3.1 新增 `beauty_enhance(img: Image.Image, level: float = 1.0) -> Image.Image` 函数:`level=0` 时直接返回原图
- [x] 3.2 实现 `beauty_enhance` 锐化逻辑:使用 `ImageFilter.UnsharpMask(radius=1.5*level, percent=int(120*level), threshold=2)`
- [x] 3.3 实现 `beauty_enhance` 亮度/对比度/饱和度增强:亮度系数 `1.0 + 0.02*level`,对比度系数 `1.0 + 0.02*level`,饱和度系数 `1.0 + 0.05*level`
- [x] 3.4 实现 `beauty_enhance` 暖白肤色微调对皮肤色调区域做降红提蓝校正numpy 实现,无 numpy 时跳过)
- [x] 3.5 修改 `txt2img` 方法:在 `anti_detect_postprocess(img)` 调用前插入 `beauty_enhance(img, level=enhance_level)``enhance_level` 参数从方法签名传入(默认 `1.0`
- [x] 3.6 修改 `img2img` 方法:同样应用 `beauty_enhance → anti_detect_postprocess` 两阶段后处理
## 4. llm_service.py — Prompt 指南优化
- [x] 4.1 在 `get_sd_prompt_guide()` 中添加"人物描述规则"段落:明确禁止 `beautiful girl`/`pretty woman`/`good looking` 等泛化词
- [x] 4.2 在指南中添加五官/肤色/气质三维度词库:眼型推荐词(`almond eyes`, `phoenix eyes`, `bright doe eyes`)、肤色推荐词(`porcelain skin`, `luminous fair skin`, `translucent skin`)、气质推荐词(`youthful`, `elegant temperament`, `gentle charm`, `intellectual beauty`
- [x] 4.3 在指南中添加人物图 vs 纯场景图写作策略区分说明
- [x] 4.4 在指南中添加光影具体描述规范:要求使用 `soft window light`/`golden hour`/`studio lighting`/`diffused natural light` 等词,禁用 `good lighting`
## 5. services/content.py — 参数传递
- [x] 5.1 为 `generate_images()` 函数增加 `enhance_level: float = 1.0` 参数
- [x] 5.2 将 `enhance_level` 传入 `svc.txt2img()` 调用
## 6. ui/tab_create.py — UI 控件
- [x] 6.1 在"高级设置 (覆盖预设)"折叠面板中新增 `enhance_level` 滑块:`gr.Slider(0.0, 2.0, value=1.0, step=0.1, label="美化强度", info="0=关闭 1=默认 2=强化")`
- [x] 6.2 将 `enhance_level` 滑块值存入配置(`fn_cfg_set("enhance_level", ...)`)并在加载时读取
- [x] 6.3 将 `enhance_level` 加入 `btn_gen_img.click``inputs` 列表,并更新 `fn_gen_img` 函数签名
## 7. 验证与测试
- [ ] 7.1 生成含人物的测试图片:确认 `majicmixRealistic``juggernautXL` 输出人物具有明显中国面孔特征
- [ ] 7.2 测试高画质档SDXL 模型 API payload 中确认包含 `enable_hr: true`
- [ ] 7.3 测试 `beauty_enhance(img, level=0)` 返回原图不变
- [ ] 7.4 测试 `beauty_enhance(img, level=2.0)` 效果目视无偏黄/偏红
- [ ] 7.5 验证 `generate_images()` 不传 `enhance_level` 时行为与修改前一致(回归测试)