zhoujie 1ec520b47e feat(content): 新增智能选题引擎、批量创作和图文协同优化
- 新增智能选题引擎 `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` 中的头像文件路径问题,确保目录存在
2026-02-28 21:04:09 +08:00

43 lines
2.3 KiB
Markdown
Raw Permalink 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.

## 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 条具体的图片改进建议文本