- 新增智能选题引擎 `TopicEngine`,整合热点数据与历史权重,提供多维度评分和创作角度建议 - 新增内容模板系统 `ContentTemplate`,支持从 JSON 文件加载模板并应用于文案生成 - 新增批量创作功能 `batch_generate_copy`,支持串行生成多篇文案并自动入草稿队列 - 升级文案质量流水线:实现 Prompt 分层架构(基础层 + 风格层 + 人设层)、LLM 自检与改写机制、深度去 AI 化后处理 - 优化图文协同:新增封面图策略选择、SD prompt 与文案语义联动、图文匹配度评估 - 集成数据闭环:在文案生成中自动注入 `AnalyticsService` 权重数据,实现发布 → 数据回收 → 优化创作的完整循环 - 更新 UI 组件:新增选题推荐展示区、批量创作折叠面板、封面图策略选择器和图文匹配度评分展示 ♻️ refactor(llm): 重构 Prompt 架构并增强去 AI 化处理 - 将 `PROMPT_COPYWRITING` 拆分为分层架构(基础层 + 风格层 + 人设层),提高维护性和灵活性 - 增强 `_humanize_content` 方法:新增语气词注入、标点不规范化、段落节奏打散和 emoji 密度控制 - 新增 `_self_check` 和 `_self_check_rewrite` 方法,实现文案 AI 痕迹自检与自动改写 - 新增 `evaluate_image_text_match` 方法,支持文案与 SD prompt 的语义匹配度评估(可选,失败不阻塞) - 新增封面图策略配置 `COVER_STRATEGIES` 和情感基调映射 `EMOTION_SD_MAP` 📝 docs(openspec): 归档内容创作优化提案和详细规格 - 新增 `openspec/changes/archive/2026-02-28-optimize-content-creation/` 目录,包含设计文档、提案、规格说明和任务清单 - 新增 `openspec/specs/` 下的批量创作、文案质量流水线、图文协同、服务内容和智能选题引擎规格文档 - 更新 `openspec/specs/services-content/spec.md`,反映新增的批量创作和智能选题入口函数 🔧 chore(config): 更新服务配置和 UI 集成 - 在 `services/content.py` 中集成权重数据自动注入逻辑,实现数据驱动创作 - 在 `ui/app.py` 中新增选题推荐、批量生成和图文匹配度评估的回调函数 - 在 `ui/tab_create.py` 中新增智能选题推荐区、批量创作面板和图文匹配度评估组件 - 修复 `services/sd_service.py` 中的头像文件路径问题,确保目录存在
43 lines
2.3 KiB
Markdown
43 lines
2.3 KiB
Markdown
## Requirements
|
||
|
||
### Requirement: SD Prompt 与文案语义联动
|
||
系统 SHALL 在生成 SD Image Prompt 时,解析文案中的核心视觉元素(场景词、物品词、情绪词),并将其映射为 SD Prompt 的画面描述词,确保图片内容与文案主题语义一致。
|
||
|
||
#### Scenario: 文案关键词提取
|
||
- **WHEN** 传入文案文本至图片生成流程
|
||
- **THEN** 系统 SHALL 使用 LLM 提取文案中的视觉关键词(不超过 5 个),并将其注入 SD Prompt 的主体描述段
|
||
|
||
#### Scenario: 视觉关键词映射失败
|
||
- **WHEN** LLM 提取视觉关键词失败或超时
|
||
- **THEN** 系统 SHALL 退回使用 `style_tag + topic` 拼接的默认 Prompt,不中断图片生成流程
|
||
|
||
### Requirement: 封面图策略选择
|
||
系统 SHALL 支持 4 种封面图策略,用户可在创作时选择:
|
||
1. **AI 写真**(`ai_portrait`):生成人物写真封面
|
||
2. **产品特写**(`product_close`):生成产品/物品近景
|
||
3. **场景氛围**(`scene_mood`):生成场景氛围图
|
||
4. **文字海报**(`text_poster`):生成带有文字排版的海报图
|
||
|
||
#### Scenario: 策略路由
|
||
- **WHEN** 用户选择封面策略 `strategy` 并调用图片生成
|
||
- **THEN** 系统 SHALL 根据 `strategy` 值路由至对应的 Prompt 模板和 SD 参数配置,不使用其他策略的模板
|
||
|
||
#### Scenario: 策略参数默认值
|
||
- **WHEN** 用户未指定封面策略时
|
||
- **THEN** 系统 SHALL 默认使用 `ai_portrait` 策略
|
||
|
||
### Requirement: 图文匹配度评估
|
||
系统 SHALL 提供 `evaluate_image_text_match(copy_text, image_path)` 方法,使用 VL 模型(vision-language)分析图片内容与文案之间的语义匹配程度,返回 0-100 的匹配度评分和改进建议。
|
||
|
||
#### Scenario: 匹配度评估成功
|
||
- **WHEN** 传入有效的文案文本和图片路径
|
||
- **THEN** 系统 SHALL 返回包含 `match_score`(0-100 整数)和 `suggestions`(字符串列表,可为空)的字典
|
||
|
||
#### Scenario: VL 模型不可用
|
||
- **WHEN** VL 模型调用失败或未配置
|
||
- **THEN** 系统 SHALL 返回 `{"match_score": -1, "suggestions": [], "error": "VL model unavailable"}`,不抛出异常
|
||
|
||
#### Scenario: 低匹配度触发建议
|
||
- **WHEN** `match_score` < 60
|
||
- **THEN** `suggestions` 字段 SHALL 包含至少 1 条具体的图片改进建议文本
|