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

3.2 KiB
Raw Blame History

MODIFIED Requirements

Requirement: 内容创作 Tab 的 UI 代码迁移至独立模块

ui/tab_create.py SHALL 包含「内容创作 Tab」的全部 Gradio 组件定义和事件绑定,并导出 build_tab(...) -> dict 函数,返回跨 Tab 共享组件的字典key 集合不得变更)。

内容创作 Tab 内部 SHALL 采用三栏布局

  • 左栏scale=3:人设选择、话题/风格、文案生成参数(高级设置 Accordion
  • 中栏scale=4:文案输出区(标题、正文、标签、提示词)+ 文案操作按钮组
  • 右栏scale=3:图片预览 Gallery + 图片操作按钮组(含美化强度滑块)

三栏通过 gr.Row() 包裹三个 gr.Column(scale=...) 实现,所有高频操作 SHALL 在无需垂直滚动的情况下可见≥1280px 宽度分辨率)。

Scenario: main.py/app.py 正常启动并显示内容创作 Tab

  • WHEN 运行应用启动 Gradio
  • THEN 内容创作 Tab 正常显示三栏布局,所有组件与迁移前功能一致

Scenario: tab_create 模块可独立导入

  • WHEN 在 Python 中执行 from ui.tab_create import build_tab
  • THEN 不抛出任何导入错误,build_tab 为可调用对象

Scenario: 三栏布局在宽屏下无需滚动

  • WHEN 用户在 ≥1280px 宽度的浏览器中打开内容创作 Tab
  • THEN 左栏参数、中栏文案输出、右栏图片预览 SHALL 同时可见,无需垂直滚动

Scenario: build_tab 返回字典 key 保持不变

  • WHEN build_tab(...) 被调用并返回字典
  • THEN 返回字典 SHALL 至少包含 res_titleres_contentres_promptres_tagsquality_modestepscfg_scaleneg_prompt 等原有 key

Requirement: ui/ 目录结构规范

ui/ 目录 SHALL 包含 __init__.py,每个 Tab 模块文件命名约定为 tab_<name>.py,不在 Tab 模块中直接调用全局服务初始化代码。

Scenario: 新增 Tab 模块的标准结构

  • WHEN 开发者创建新的 ui/tab_*.py 文件
  • THEN 该文件导出 build_tab(...) 函数,且顶层不包含副作用代码

Requirement: 自动运营 Tab 采用卡片式两列网格布局

🤖 自动运营」Tab 内的各自动化任务 SHALL 以 2 列 × N 行 的卡片网格展示,每个任务使用 gr.Group() 包裹,卡片内 SHALL 包含:任务名称标题、启用开关(gr.Checkbox)、执行间隔(gr.Numbergr.Slider)、上次执行时间(gr.Markdown)。

Scenario: 自动运营任务以两列网格显示

  • WHEN 用户切换到「🤖 自动运营」Tab
  • THEN 各自动化任务自动评论、自动点赞、自动收藏、自动发布、自动回复等SHALL 以两列卡片网格排列,每列宽度相等

Scenario: 每张卡片包含完整任务控制

  • WHEN 用户查看某个任务卡片
  • THEN 卡片内 SHALL 显示任务开关、执行间隔设置项,功能与原单列布局完全一致

Scenario: 自定义 CSS 增强视觉效果

  • WHEN 应用加载完成
  • THEN gr.Blocks(css=...) SHALL 注入自定义样式包含字体层级优化、按钮圆角≥6pxgr.Group 卡片轻微阴影(box-shadow),不破坏 Gradio 内部组件样式