- 新增智能选题引擎 `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` 中的头像文件路径问题,确保目录存在
2.5 KiB
2.5 KiB
ADDED Requirements
Requirement: 智能选题推荐入口
系统 SHALL 提供 TopicEngine 类(services/topic_engine.py),暴露 recommend_topics(count=5) 方法,整合热点数据、历史权重、内容趋势,返回排序后的推荐选题列表。
Scenario: 有历史权重数据时推荐
- WHEN
content_weights.json中存在至少 5 篇笔记的权重数据 - THEN
recommend_topics()SHALL 返回融合了热点分析和历史表现权重的推荐列表,每项包含topic、score、reason、source("hotspot" / "weight" / "trend")字段
Scenario: 无历史数据时退回热点推荐
- WHEN
content_weights.json为空或不存在 - THEN
recommend_topics()SHALL 仅基于热点探测结果返回推荐,source全部为 "hotspot"
Scenario: 推荐结果去重
- WHEN 热点数据和权重数据中存在语义相近的主题(如"春季穿搭"和"早春穿搭")
- THEN 系统 SHALL 合并为一个推荐项,取较高分数,避免重复推荐
Requirement: 多维度选题评分
系统 SHALL 为每个候选主题计算综合评分,评分维度包括:热点热度(0-40 分)、历史互动权重(0-30 分)、内容稀缺度(0-20 分)、时效性(0-10 分)。
Scenario: 评分维度完整
- WHEN 调用
score_topic(topic)方法 - THEN 返回的字典 SHALL 包含
total_score、hotspot_score、weight_score、scarcity_score、timeliness_score五个字段,各分项之和等于total_score
Scenario: 已有高赞笔记的主题稀缺度降低
- WHEN 某主题在最近 7 天内已发布过 2 篇以上笔记
- THEN 该主题的
scarcity_scoreSHALL 不超过 5 分
Requirement: 选题附带创作角度
系统 SHALL 为每个推荐选题生成 1-3 个具体的创作角度建议(angles 字段),帮助用户快速进入创作状态。
Scenario: 角度建议格式
- WHEN
recommend_topics()返回推荐列表 - THEN 每项的
angles字段 SHALL 为字符串列表,每个角度不超过 30 字,描述具体的切入点(如"从预算角度对比三款产品")
Requirement: 热点数据整合
TopicEngine SHALL 通过调用 hotspot.py 的搜索功能获取实时热点数据,并通过 analytics_service.py 获取历史权重数据,不直接访问 MCP 或 LLM。
Scenario: 依赖注入
- WHEN 初始化
TopicEngine时 - THEN 构造函数 SHALL 接受
analytics_service: AnalyticsService参数,不在内部直接实例化依赖