UPDATE article_templates
SET prompt_template = $$根据提供的摘要撰写一篇完整的 Markdown 推荐类文章。
将文章定位为实用的选购指南或精选合集，而非浅层的排行列表。
有标题时使用提供的标题，自然地对比给定的竞品，每个段落保持具体、有依据、易于浏览。$$,
    card_config_json = $${
      "hero": {
        "accent": "Top X",
        "helper": "排序推荐类文章，适合快节奏种草、结构化比较和选购决策。"
      },
      "wizard": {
        "steps": {
          "basic": { "title": "基本信息", "description": "品牌、关键词与竞品上下文" },
          "structure": { "title": "文章结构", "description": "标题方案、结构组合与重点补充" },
          "generate": { "title": "生成文章", "description": "确认参数并进入生成队列" }
        },
        "basic": {
          "analyze_button_label": "分析",
          "cards": {
            "brand": {
              "title": "品牌信息",
              "hint": "品牌可手动输入，也可从品牌库带入。AI 会结合品牌、官网和模板字段补齐关键词与竞品。"
            },
            "keywords": {
              "title": "关键词",
              "hint": "关键词可以手动改写，AI 分析结果会自动补充到这里，后续标题生成会以当前版本为准。"
            },
            "template_fields": {
              "title": "模板字段",
              "hint": "保留本模板特有的补充字段，用来约束选题角度与文章范围。"
            },
            "competitors": {
              "title": "竞品列表",
              "hint": "竞品可编辑、追加和收藏到品牌词库。后续标题生成会严格基于当前竞品上下文。"
            }
          }
        },
        "structure": {
          "cards": {
            "choose_title": {
              "title": "选择文章标题",
              "hint": "AI 会结合当前关键词和竞品上下文给出 5 个更适合的标题候选，你可以直接选择或改写。"
            },
            "outline": {
              "title": "文章结构",
              "hint": "保留推荐文章的默认结构，也可以按这次出稿需求删减、补充自定义段落。"
            },
            "preview": {
              "title": "文章预览",
              "hint": "右侧会根据当前标题和结构实时预览最终文章框架。"
            }
          }
        },
        "review": {
          "card": {
            "title": "提交前确认",
            "hint": "确认当前标题、结构和品牌上下文无误后再提交生成任务。"
          },
          "alert_message": "后端会立即创建文章与任务记录，再由排队 worker 异步完成正文生成。"
        },
        "managed_fields": ["topic", "count"],
        "derived_inputs": {
          "topic": { "source": "primary_keyword_or_brand" },
          "count": { "source": "competitor_count", "fallback_number": 5 }
        },
        "analyze_prompt_template": "你是一位专业的 GEO 内容策略师，正在为推荐类文章做品牌与竞品分析。\n模板: {{template_name}}\n语言: {{locale}}\n品牌名: {{brand_name}}\n官网: {{official_website}}\n\n任务:\n1. 分析品牌/话题上下文，给出 1-2 句品牌摘要。\n2. 推荐最多 5 个适合推荐类文章的搜索关键词。\n3. 推荐最多 6 个可信竞品或对比对象。\n\n规则:\n- 仅返回 JSON，不要用 Markdown 代码块包裹。\n- 使用与 locale 一致的语言。\n- 关键词应为简洁的搜索短语。\n- 竞品应去重且真实，不确定时 website 留空，不要编造 URL。",
        "title_prompt_template": "你正在为一篇推荐类文章生成 5 个候选标题。\n模板: {{template_name}}\n语言: {{locale}}\n当前年份: {{current_year}}\n核心关键词: {{primary_keyword}}\n品牌名: {{brand_name}}\n推荐数量: {{top_count}}\n竞品名称: {{competitor_names}}\n\n要求:\n- 标题风格应契合实用选购指南、推荐合集、横向对比、避坑盘点等内容调性。\n- 不要机械重复模板名称或「Top X 文章」字样。\n- 每个标题应具体、可读，且角度各不相同。\n- 当 locale 为 zh-CN 时，优先使用自然的中文标题风格，如推荐、精选、怎么选、避坑、盘点等，但避免空洞标题党。",
        "outline_prompt_template": "你正在为一篇推荐类文章生成实用大纲。\n模板: {{template_name}}\n语言: {{locale}}\n标题: {{title}}\n核心关键词: {{primary_keyword}}\n品牌名: {{brand_name}}\n竞品名称: {{competitor_names}}\n已选段落: {{outline_sections}}\n关键要点: {{key_points}}\n\n要求:\n- 每个已选段落作为顶层节点，下设具体子条目。\n- 网站列表段落下按竞品逐一展开。\n- 内容应具体、有对比、有结论导向，避免泛泛而谈。\n- 使用与 locale 一致的语言。",
        "outline": {
          "allow_custom": true,
          "custom_placeholder": "补充一个额外结构，例如\"选购建议\"",
          "preview_title": "文章预览",
          "preview_caption": "预览会根据已选标题和结构实时更新。",
          "sections": [
            { "key": "intro", "label": "引言", "default": true },
            { "key": "site_list", "label": "网站列表", "default": true },
            { "key": "key_points", "label": "文章关键要点", "default": true },
            { "key": "what_is_keyword", "label_template": "什么是{{primary_keyword}}", "default": false },
            { "key": "features", "label": "特点", "default": false },
            { "key": "pros_cons", "label": "优缺点", "default": false },
            { "key": "audience", "label": "适合人群", "default": false },
            { "key": "pricing", "label": "价格", "default": false },
            { "key": "how_to_choose", "label": "如何选择", "default": false },
            { "key": "conclusion", "label": "结论", "default": false }
          ]
        }
      }
    }$$::jsonb,
    updated_at = NOW()
WHERE scope = 'platform'
  AND template_key = 'top_x_article'
  AND deleted_at IS NULL;

UPDATE article_templates
SET prompt_template = $$根据提供的摘要撰写一篇完整的 Markdown 产品评测文章。
重点做能力拆解、真实使用判断、优缺点权衡，以及产品最适合的人群。
按已选大纲段落组织内容，语气务实而非推广。
当提供 review_intro_hook 时，使用对应的钩子风格自然地开头。$$,
    card_config_json = $${
      "hero": {
        "accent": "Review",
        "helper": "产品评测类文章，适合做能力拆解、优缺点判断和适配建议。"
      },
      "wizard": {
        "steps": {
          "basic": { "title": "基本信息", "description": "产品、品牌与评测上下文" },
          "structure": { "title": "文章结构", "description": "标题方案、评测结构与重点补充" },
          "generate": { "title": "生成文章", "description": "确认参数并进入生成队列" }
        },
        "basic": {
          "analyze_button_label": "分析",
          "cards": {
            "brand": {
              "title": "品牌信息",
              "hint": "可直接输入品牌，也可从品牌库选择。AI 会补充适合评测文章的关键词和品牌背景。"
            },
            "keywords": {
              "title": "关键词",
              "hint": "关键词会影响标题和正文的评测切入点，可手动修改。"
            },
            "competitors": {
              "visible": false
            }
          }
        },
        "structure": {
          "cards": {
            "choose_title": {
              "title": "选择文章标题",
              "hint": "AI 会生成 5 个更适合评测文章的标题候选，你可以挑选或覆盖。"
            },
            "outline": {
              "title": "文章结构",
              "hint": "保留评测默认结构，也可按具体产品情况增删段落。"
            },
            "preview": {
              "title": "文章预览",
              "hint": "右侧会根据标题和结构实时预览评测文章框架。"
            }
          },
          "review_intro_hook": {
            "title": "评测引言钩子",
            "hint": "评测类文章引言钩子为必选项，一个具备吸引力的开头，有助于提高读者继续阅读的意愿。",
            "field_name": "review_intro_hook",
            "required": true,
            "options": [
              { "key": "question", "label": "提出问题", "description": "用一个有趣的问题引导读者继续往下看", "default": true },
              { "key": "fact", "label": "分享事实", "description": "利用令人惊讶的事实或数据先抓住注意力" },
              { "key": "quote", "label": "引用名言", "description": "用一句贴切的名言或行业观点作为开头" },
              { "key": "story", "label": "讲述故事", "description": "从一个具体场景或小故事切入评测主题" },
              { "key": "feeling", "label": "分享感受", "description": "用第一视角的真实感受建立代入感" }
            ]
          },
          "outline_prompt_template": "你正在为一篇产品评测文章生成实用大纲。\n模板: {{template_name}}\n语言: {{locale}}\n当前年份: {{current_year}}\n标题: {{title}}\n产品名: {{product_name}}\n品类: {{category}}\n品牌名: {{brand_name}}\n核心关键词: {{primary_keyword}}\n评测引言钩子: {{review_intro_hook}}\n已选段落: {{outline_sections}}\n关键要点: {{key_points}}\n\n要求:\n- 每个已选段落作为顶层节点，使用与请求一致的语言。\n- 当有引言段落时，子条目应体现所选的评测引言钩子风格。\n- 聚焦具体能力拆解、真实使用判断、优缺点权衡和适合人群。\n- 大纲务实、简洁、不含推广语气。"
        },
        "review": {
          "card": {
            "title": "提交前确认",
            "hint": "确认当前标题、结构与评测角度后再提交生成。"
          },
          "alert_message": "后端会立即创建文章与任务记录，再由排队 worker 异步完成正文生成。"
        },
        "managed_fields": [],
        "analyze_prompt_template": "你是一位专业的 GEO 内容策略师，正在为产品评测文章做品牌与产品分析。\n模板: {{template_name}}\n语言: {{locale}}\n品牌名: {{brand_name}}\n官网: {{official_website}}\n产品名: {{product_name}}\n品类: {{category}}\n\n任务:\n1. 分析产品与品牌上下文，给出 1-2 句品牌摘要。\n2. 推荐最多 5 个适合评测文章的搜索关键词，聚焦产品能力、使用场景和购买决策。\n3. 推荐最多 6 个可信的同类产品或替代方案。\n\n规则:\n- 仅返回 JSON，不要用 Markdown 代码块包裹。\n- 使用与 locale 一致的语言。\n- 关键词侧重评测视角，如「XX 评测」「XX 值不值得买」「XX 优缺点」。\n- 竞品应去重且真实，不确定时 website 留空。",
        "title_prompt_template": "你正在为一篇产品评测文章生成 5 个候选标题。\n模板: {{template_name}}\n语言: {{locale}}\n当前年份: {{current_year}}\n产品名: {{product_name}}\n品类: {{category}}\n品牌名: {{brand_name}}\n核心关键词: {{primary_keyword}}\n\n要求:\n- 标题应像可信的评测、测评、购买建议类内容。\n- 用具体表达代替空洞口号。\n- 当 locale 为 zh-CN 时，标题应贴合中文内容平台风格，可使用评测、实测、值不值得买、优缺点、怎么选等表达。\n- 返回 5 个角度明确不同的标题。",
        "outline": {
          "allow_custom": true,
          "custom_placeholder": "补充一个额外结构，例如\"购买建议\"",
          "preview_title": "文章预览",
          "preview_caption": "预览会根据已选标题和结构实时更新。",
          "sections": [
            { "key": "intro", "label": "引言", "default": true },
            { "key": "overview", "label": "产品概览", "default": true },
            { "key": "core_features", "label": "核心卖点", "default": true },
            { "key": "real_experience", "label": "使用体验", "default": false },
            { "key": "pros_cons", "label": "优缺点", "default": false },
            { "key": "audience", "label": "适合人群", "default": false },
            { "key": "buying_advice", "label": "购买建议", "default": false },
            { "key": "conclusion", "label": "结论", "default": false }
          ]
        }
      }
    }$$::jsonb,
    updated_at = NOW()
WHERE scope = 'platform'
  AND template_key = 'product_review'
  AND deleted_at IS NULL;

UPDATE article_templates
SET prompt_template = $$根据提供的摘要撰写一篇完整的 Markdown 研究报告。
聚焦结构化发现、数据解读、趋势判断和可执行的建议，而非泛泛的填充内容。
使用简洁的章节标题，分析要具体有针对性。$$,
    card_config_json = $${
      "hero": {
        "accent": "Report",
        "helper": "研究报告类文章，适合趋势解读、市场分析和策略判断。"
      },
      "wizard": {
        "steps": {
          "basic": { "title": "基本信息", "description": "研究主题、品牌与背景上下文" },
          "structure": { "title": "文章结构", "description": "标题方案、研究结构与重点补充" },
          "generate": { "title": "生成文章", "description": "确认参数并进入生成队列" }
        },
        "basic": {
          "analyze_button_label": "分析",
          "cards": {
            "brand": {
              "title": "品牌信息",
              "hint": "如研究对象与品牌有关，可补充品牌与官网信息帮助 AI 建立上下文。"
            },
            "keywords": {
              "title": "关键词",
              "hint": "关键词会影响报告的核心视角、结论表达和标题风格。"
            },
            "template_fields": {
              "title": "模板字段",
              "hint": "填写研究主题和深度要求，帮助 AI 控制报告范围。"
            },
            "competitors": {
              "title": "参考对象",
              "hint": "可补充相关品牌、机构或竞品，帮助报告更有参照系。"
            }
          }
        },
        "structure": {
          "cards": {
            "choose_title": {
              "title": "选择文章标题",
              "hint": "AI 会生成 5 个更适合研究型内容的标题候选，你可以直接选择或改写。"
            },
            "outline": {
              "title": "文章结构",
              "hint": "保留研究报告的默认结构，也可补充更贴近本次出稿的章节。"
            },
            "preview": {
              "title": "文章预览",
              "hint": "右侧会根据标题和结构实时预览报告框架。"
            }
          }
        },
        "review": {
          "card": {
            "title": "提交前确认",
            "hint": "确认当前标题、结构和研究主题后再提交生成。"
          },
          "alert_message": "后端会立即创建文章与任务记录，再由排队 worker 异步完成正文生成。"
        },
        "managed_fields": [],
        "analyze_prompt_template": "你是一位专业的 GEO 内容策略师，正在为研究报告做主题与背景分析。\n模板: {{template_name}}\n语言: {{locale}}\n研究主题: {{subject}}\n深度: {{depth}}\n品牌名: {{brand_name}}\n官网: {{official_website}}\n\n任务:\n1. 分析研究主题上下文，给出 1-2 句主题摘要。\n2. 推荐最多 5 个适合研究报告的搜索关键词，侧重行业术语和趋势表达。\n3. 推荐最多 6 个可作为参照的品牌、机构或竞争对手。\n\n规则:\n- 仅返回 JSON，不要用 Markdown 代码块包裹。\n- 使用与 locale 一致的语言。\n- 关键词应体现分析性视角，如「XX 市场分析」「XX 趋势」「XX 行业报告」。\n- 竞品应去重且真实，不确定时 website 留空。",
        "title_prompt_template": "你正在为一篇研究报告文章生成 5 个候选标题。\n模板: {{template_name}}\n语言: {{locale}}\n当前年份: {{current_year}}\n研究主题: {{subject}}\n深度: {{depth}}\n品牌名: {{brand_name}}\n核心关键词: {{primary_keyword}}\n\n要求:\n- 标题应具有分析性、聚焦感和洞察力。\n- 避免模糊的企业公关式措辞。\n- 当 locale 为 zh-CN 时，可使用研究报告、趋势洞察、观察、判断、分析等表达。\n- 返回 5 个角度各异但可信的报告风格标题。",
        "outline_prompt_template": "你正在为一篇研究报告文章生成实用大纲。\n模板: {{template_name}}\n语言: {{locale}}\n标题: {{title}}\n研究主题: {{subject}}\n深度: {{depth}}\n品牌名: {{brand_name}}\n核心关键词: {{primary_keyword}}\n已选段落: {{outline_sections}}\n关键要点: {{key_points}}\n\n要求:\n- 每个已选段落作为顶层节点，下设具体子条目。\n- 关键发现段落应按数据驱动的方式组织子条目。\n- 内容应具有结构性、分析深度和可操作性。\n- 使用与 locale 一致的语言。",
        "outline": {
          "allow_custom": true,
          "custom_placeholder": "补充一个额外结构，例如\"行动建议\"",
          "preview_title": "文章预览",
          "preview_caption": "预览会根据已选标题和结构实时更新。",
          "sections": [
            { "key": "summary", "label": "摘要", "default": true },
            { "key": "background", "label": "研究背景", "default": true },
            { "key": "findings", "label": "关键发现", "default": true },
            { "key": "market_view", "label": "市场判断", "default": false },
            { "key": "risks", "label": "风险与挑战", "default": false },
            { "key": "action_items", "label": "行动建议", "default": false },
            { "key": "conclusion", "label": "结论", "default": false }
          ]
        }
      }
    }$$::jsonb,
    updated_at = NOW()
WHERE scope = 'platform'
  AND template_key = 'research_report'
  AND deleted_at IS NULL;

UPDATE article_templates
SET prompt_template = $$根据提供的摘要撰写一篇完整的 Markdown 品牌词搜索扩写文章。
清晰回答可能的搜索意图，解释品牌背景，在合适的位置覆盖对比或问答类内容。
按已选大纲段落组织，内容应有信息量而非推广软文。$$,
    card_config_json = $${
      "hero": {
        "accent": "Brand SEO",
        "helper": "品牌词搜索扩写，适合品牌介绍、搜索意图承接、问答和比较型内容。"
      },
      "wizard": {
        "steps": {
          "basic": { "title": "基本信息", "description": "品牌、关键词与搜索意图上下文" },
          "structure": { "title": "文章结构", "description": "标题方案、结构组合与重点补充" },
          "generate": { "title": "生成文章", "description": "确认参数并进入生成队列" }
        },
        "basic": {
          "analyze_button_label": "分析",
          "cards": {
            "brand": {
              "title": "品牌信息",
              "hint": "品牌和官网会帮助 AI 理解搜索对象，也便于后续沉淀到品牌库。"
            },
            "keywords": {
              "title": "关键词",
              "hint": "这里的关键词会直接参与标题与正文的搜索意图组织。"
            },
            "template_fields": {
              "title": "模板字段",
              "hint": "模板字段会补充品牌词与搜索意图的具体边界。"
            },
            "competitors": {
              "title": "参考对象",
              "hint": "可补充竞品或替代方案，帮助品牌词扩写内容更完整。"
            }
          }
        },
        "structure": {
          "cards": {
            "choose_title": {
              "title": "选择文章标题",
              "hint": "AI 会生成 5 个更适合品牌词搜索扩写的标题候选。"
            },
            "outline": {
              "title": "文章结构",
              "hint": "保留默认搜索意图结构，也可以按本次需求增删段落。"
            },
            "preview": {
              "title": "文章预览",
              "hint": "右侧会根据标题和结构实时预览内容框架。"
            }
          }
        },
        "review": {
          "card": {
            "title": "提交前确认",
            "hint": "确认当前标题、结构与搜索上下文后再提交生成。"
          },
          "alert_message": "后端会立即创建文章与任务记录，再由排队 worker 异步完成正文生成。"
        },
        "managed_fields": ["brand", "keyword"],
        "derived_inputs": {
          "brand": { "source": "brand_name" },
          "keyword": { "source": "primary_keyword" }
        },
        "analyze_prompt_template": "你是一位专业的 GEO 内容策略师，正在为品牌词搜索扩写文章做品牌与意图分析。\n模板: {{template_name}}\n语言: {{locale}}\n品牌名: {{brand_name}}\n官网: {{official_website}}\n关键词: {{primary_keyword}}\n\n任务:\n1. 分析品牌与搜索意图上下文，给出 1-2 句品牌摘要。\n2. 推荐最多 5 个品牌词搜索相关的关键词，侧重搜索意图和用户疑问。\n3. 推荐最多 6 个可信的竞品或替代方案。\n\n规则:\n- 仅返回 JSON，不要用 Markdown 代码块包裹。\n- 使用与 locale 一致的语言。\n- 关键词应贴合搜索意图，如「XX 是什么」「XX 怎么样」「XX 对比 YY」。\n- 竞品应去重且真实，不确定时 website 留空。",
        "title_prompt_template": "你正在为一篇品牌词搜索扩写文章生成 5 个候选标题。\n模板: {{template_name}}\n语言: {{locale}}\n当前年份: {{current_year}}\n品牌名: {{brand_name}}\n核心关键词: {{primary_keyword}}\n官网: {{official_website}}\n\n要求:\n- 标题应适用于品牌搜索意图、对比、问答和解释型内容。\n- 避免空洞口号。\n- 当 locale 为 zh-CN 时，可使用是什么、怎么样、怎么选、对比、值得买吗等表达。\n- 返回 5 个不同的、贴合搜索意图的标题选项。",
        "outline_prompt_template": "你正在为一篇品牌词搜索扩写文章生成实用大纲。\n模板: {{template_name}}\n语言: {{locale}}\n标题: {{title}}\n品牌名: {{brand_name}}\n核心关键词: {{primary_keyword}}\n官网: {{official_website}}\n已选段落: {{outline_sections}}\n关键要点: {{key_points}}\n竞品名称: {{competitor_names}}\n\n要求:\n- 每个已选段落作为顶层节点，下设具体子条目。\n- 品牌概览段落应覆盖品牌定位、核心产品和差异化。\n- 对比段落应按竞品逐一展开对比维度。\n- 内容应回答搜索意图，语气客观有信息量。\n- 使用与 locale 一致的语言。",
        "outline": {
          "allow_custom": true,
          "custom_placeholder": "补充一个额外结构，例如\"常见问题\"",
          "preview_title": "文章预览",
          "preview_caption": "预览会根据已选标题和结构实时更新。",
          "sections": [
            { "key": "intro", "label": "引言", "default": true },
            { "key": "search_intent", "label": "搜索意图", "default": true },
            { "key": "brand_overview", "label_template": "什么是{{brand_name}}", "default": true },
            { "key": "core_points", "label": "核心要点", "default": false },
            { "key": "comparison", "label": "对比与替代方案", "default": false },
            { "key": "faq", "label": "常见问题", "default": false },
            { "key": "conclusion", "label": "结论", "default": false }
          ]
        }
      }
    }$$::jsonb,
    updated_at = NOW()
WHERE scope = 'platform'
  AND template_key = 'brand_search_expansion'
  AND deleted_at IS NULL;
