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

4.3 KiB
Raw Blame History

1. Prompt 分层架构重构

  • 1.1 从 PROMPT_COPYWRITING 中提取通用写作规则和反 AI 检测规则为 PROMPT_BASE
  • 1.2 创建风格层 Prompt 模板:PROMPT_STYLE_GOODS(好物种草)、PROMPT_STYLE_DAILY(日常分享)、PROMPT_STYLE_GUIDE(攻略教程)
  • 1.3 在 LLMService.generate_copy() 中实现三层 Prompt 拼接逻辑base → style → persona风格层缺失时退回基础层
  • 1.4 确保 PROMPT_WEIGHTED_COPYWRITINGPROMPT_COPY_WITH_REFERENCE 也使用分层架构

2. LLM 自检与改写机制

  • 2.1 在 LLMService 中新增 _self_check(content: str) -> dict 方法,返回 ai_score0-100feedback 字段
  • 2.2 新增自检 Prompt 模板 PROMPT_SELF_CHECK,指导 LLM 评估文案的 AI 痕迹程度
  • 2.3 在 generate_copy() 流程中集成自检ai_score ≥ 60 时触发改写(最多 1 次),超时/失败时跳过
  • 2.4 generate_copy() 返回的 JSON 中新增 quality_meta 字段ai_score、self_check_passed、rewritten

3. 深度去 AI 化后处理增强

  • 3.1 在 _humanize_content() 中新增语气词注入步骤(随机在合适位置添加“嘿”“诶”“啊”等)
  • 3.2 增强标点不规范化处理(提高随机删除逗号/句号的概率,模拟手机打字)
  • 3.3 新增段落节奏打散逻辑(检测并调整连续段落的字数差异)
  • 3.4 新增 emoji 密度控制(全文 6-12 个,分布不均匀,避免堆叠)

4. 智能选题引擎

  • 4.1 创建 services/topic_engine.py,定义 TopicEngine 类,构造函数接受 AnalyticsService 实例
  • 4.2 实现 score_topic(topic) 方法计算热点热度0-40、历史权重0-30、稀缺度0-20、时效性0-10四维评分
  • 4.3 实现 recommend_topics(count=5) 方法:聚合热点 + 权重数据,返回排序后的推荐列表(含 topic、score、reason、source、angles
  • 4.4 实现推荐结果去重逻辑(语义相近主题合并)
  • 4.5 实现稀缺度计算:近 7 天已发布 ≥2 篇的主题 scarcity_score ≤5

5. 内容模板系统

  • 5.1 创建 services/content_template.py,定义 ContentTemplate
  • 5.2 实现模板加载逻辑:从 xhs_workspace/templates.json 加载,文件不存在时使用内置默认模板
  • 5.3 实现模板应用逻辑:将 prompt_override 附加到 LLM prompttags_preset 作为标签默认值

6. 批量创作工作流

  • 6.1 在 services/content.py 中新增 batch_generate_copy() 函数,支持串行生成多篇文案
  • 6.2 实现部分失败容错:单篇失败记录 error 字段,继续生成剩余主题
  • 6.3 实现数量限制topics 列表 > 10 时拒绝执行
  • 6.4 批量结果自动以 draft 状态插入 PublishQueue
  • 6.5 在 services/content.py 中新增 generate_copy_with_topic_engine() 函数,自动选题后生成文案

7. 图文协同优化

  • 7.1 优化 SD prompt 生成 Prompt 指令,增加“从文案正文提取场景关键词”的指导
  • 7.2 增加情感基调 → SD 氛围词映射逻辑
  • 7.3 新增封面图策略参数 cover_strategy,实现 4 种策略的 SD prompt 后缀和尺寸映射
  • 7.4 在 LLMService 中新增 evaluate_image_text_match(content, sd_prompt) 方法
  • 7.5 图文匹配度评估设为可选,超时/失败时跳过并记录警告

8. UI 集成

  • 8.1 在 ui/tab_create.py 中新增选题推荐展示区(显示推荐主题列表,点击可填充到主题输入框)
  • 8.2 新增封面图策略选择 Radio 组件(人物特写 / 场景展示 / 对比图 / 文字卡片)
  • 8.3 新增批量创作折叠面板:多主题输入框 + 模板选择 + 批量生成按钮
  • 8.4 新增图文匹配度评分展示(可选,在图片生成后显示)
  • 8.5 连接 generate_copy_with_topic_engine 到“智能选题”按钮事件

9. 数据闭环与集成测试

  • 9.1 在 content.py 的创作入口中集成 AnalyticsService 权重数据自动注入(加权文案生成路径)
  • 9.2 验证完整闭环:选题推荐 → 文案生成 → 自检 → 图片生成 → 草稿入队 → 发布
  • 9.3 验证批量创作端到端流程:多主题输入 → 批量生成 → 草稿队列 → 逐篇审核发布