Install
openclaw skills install @thcjp/content-orchestrator内容生成+发布统一编排器,15条管道文件(12 PL-*+3 E2E-*):VIDEO/VIDEO-BATCH/IMAGE/AUDIO/LIPSYNC/COMIC/COMIC-BATCH/ARTICLE-BATCH/NOVEL-BATCH/PRODUCT/HOTSPOT/NEWPROD+E2E-VIDEO/E2E-IMAGE/E2E-DAILY+3内置虚拟路由(PL-NOVEL连载/PL-DRAMA短剧/PL-UPLOAD上传)。平台注册表自动路由+代理自动注入+多租户感知(tenant_id→风格/人设/素材/平台隔离)+素材→闲鱼商品(PL-PRODUCT)+热点→商品(PL-HOTSPOT)+小说连载(PL-NOVEL/PL-NOVEL-BATCH)+短剧生成(PL-DRAMA内置)。触发:生成内容/发布内容/一条龙/日常运营/素材转商品/热点选品/热点上架/小说连载/短剧生成/上传内容生成 不触发:纯闲鱼运营/纯客服回复/数据分析查询
openclaw skills install @thcjp/content-orchestrator版本: v1.1.0 | 优先级: P0(内容生产统一入口) | 所属部门: 内容部
| 指标 | 目标值 | 来源 |
|---|---|---|
| 管道路由准确率 | ≥95% | 智能路由5步决策 |
| 内容生成成功率 | ≥90% | 10条内容管道执行 |
| 营销门控通过率 | ≥85% | 营销注入门控流程 |
| 多平台发布成功率 | ≥80% | 3条端到端管道 |
| 内容差异化检查通过率 | ≥90% | 内容差异化检查流程 |
content-orchestrator以专业数据驱动的风格编排内容生产,语言风格参考IDENTITY.md。
| 管道 | 流程 | 输出 |
|---|---|---|
| PL-VIDEO | narrato-mcp脚本→cosyvoice配音→kling画面→合成+字幕→🔴营销注入门控→AI声明注入 | 成品视频 |
| PL-IMAGE | (可选)竞品数据采集→content-template文案→🔴营销注入门控→flux配图→排版合成→AI声明注入 | 成品图文卡片 |
| PL-AUDIO | cosyvoice/fish-speech/gpt-sovits→语音合成→🔴营销注入门控→AI声明注入 | 音频文件 |
| PL-LIPSYNC | cosyvoice语音→flyworks/liveportrait口型同步→🔴营销注入门控→AI声明注入 | 数字人视频 |
| PL-COMIC | character-consistency角色画面→narrato-mcp分镜→kling I2V转视频→🔴营销注入门控→AI声明注入 | 漫画视频 |
| PL-NOVEL | novel_bridge初始化→InkOS章节生成→标题生成→🔴营销注入门控→SEO→AI声明→多平台发布 | 小说章节(图文) |
| PL-DRAMA | novel_bridge章节获取→剧本转换→系列管理→narrato分镜→cosyvoice配音→kling画面→合成+字幕→一致性验证→🔴营销注入→AI声明→多平台发布 | 短剧视频 |
| PL-PRODUCT | 图文素材→图片规格转换→文案风格转换→5要素注入→fishclaw-mcp发布 | 闲鱼商品规格 |
| PL-HOTSPOT | 热点数据→选品方向转换→unified-product-ops选品→商品参数转换→fishclaw-mcp发布 | 闲鱼商品(热点驱动) |
| PL-UPLOAD | 用户上传文件→格式检测→文本/图片提取→路由到PL-COMIC/PL-NOVEL/PL-IMAGE→🔴营销注入门控→AI声明注入 | 用户上传内容处理 |
| PL-ARTICLE-BATCH | 批量选题→批量文案生成→🔴营销注入门控→批量配图→批量排版→多平台发布→状态回写(11步) | 批量文章 |
| PL-VIDEO-BATCH | 批量脚本生成→批量配音→批量画面生成→批量合成+字幕→一致性验证→🔴营销注入门控→AI声明→多平台发布(13步) | 批量视频 |
| PL-NOVEL-BATCH | InkOS批量初始化→批量章节生成→批量标题生成→🔴营销注入门控→批量SEO→AI声明→多平台发布(10步) | 批量小说章节 |
| PL-COMIC-BATCH | 批量角色画面→批量分镜→批量I2V转视频→🔴营销注入门控→AI声明→多平台发布(12步) | 批量漫剧 |
PL-NOVEL通过InkOS(v2.3.2)的7 Truth Files系统生成连载小说章节,并发布到图文自媒体平台。支持多租户隔离和每日自动生成。
输入: {topic: str, tenant_id: str, genre: str, style_config: dict}
步骤:
小说初始化 — novel_bridge.init_novel
book create创建书籍项目(含7 Truth Files初始化)data/books/{tenant_id}/{book_id}/章节生成 — novel_bridge.generate_chapters
write next --count 2 --words 3000生成2章标题生成 — title-generator.generate
营销注入 — market-copywriter.adapt_platform(🔴门控检查)
SEO优化 — seo-optimizer.optimize
AI声明注入 — risk-detector.inject_ai_declaration
多平台发布 — content-publisher.publish(知乎/头条/微信公众号)
输出: {success:bool, data:{book_id, chapters_generated, chapters:[{chapter_number, title, word_count}]}}
PL-DRAMA取PL-NOVEL生成的最新章节,转换为短剧剧本并生成视频,发布到视频平台。
输入: {tenant_id: str, book_id: str(可选)}
步骤:
章节获取 — novel_bridge.get_latest_chapter
剧本转换 — novel-to-script.convert
系列管理 — series-manager.generate
分镜生成 — narrato-mcp.generate_short_drama_script
配音生成 — tts-adapter-mcp.synthesize(BUG-V6-015副作用同步: 替换已删除的gpt-sovits-mcp)
画面生成 — kling-mcp.text_to_video
视频合成 — video-generator.compose_video
字幕生成 — video-generator.generate_subtitle
一致性验证 — series-manager.validate(角色/场景/剧情连贯性检查)
营销注入 — market-copywriter.adapt_platform(🔴门控检查)
AI声明注入 — risk-detector.inject_ai_declaration
多平台发布 — content-publisher.publish(抖音/快手/B站)
输出: {success:bool, data:{video_url, subtitle_url, episode_number, platforms_published}}
PL-PRODUCT将已生成的图文素材自动复用为闲鱼商品,实现内容素材→电商商品的跨域转换。该管道为可选管道,不影响现有PL-IMAGE/PL-VIDEO/PL-SHORT管道。
输入: 已生成的图文素材(图片URL列表+文案文本)
步骤:
图片规格转换 — 内容平台尺寸→闲鱼商品图尺寸
文案风格转换 — 内容平台风格→闲鱼商品描述风格
5要素注入 — 补充闲鱼商品必需字段(来源:01手册§四4.1+4.3)
调用fishclaw-mcp.publish_item发布 — 将转换后的商品规格传递给fishclaw-mcp MCP
输出: {success:bool, data:{product_id, xianyu_url, converted_images:N, pipeline:"PL-PRODUCT"}}
PL-HOTSPOT将trend-discovery发现的热点数据自动转化为闲鱼商品并上架,实现热点趋势→选品→商品发布的全链路自动化。该管道为可选管道,不影响现有6条内容管道和3条E2E管道。
输入: trend-discovery输出的热点数据 {topic: str, heat: int, platforms: list[str], trend: str}
步骤:
topic作为direction(选品方向关键词)heat值排序: heat>80的热点优先处理,heat≤30的热点跳过(低热度不值得选品)trend字段提取趋势方向(上升/稳定/下降),仅处理上升趋势热点{direction: str, heat: int, trend: str, source_topic: str}1.5. 竞品数据采集(可选,Token优化) — 采集同类商品在社交平台的用户评价和卖点话术
调用unified-product-ops选品分析 — 基于选品方向进行选品
direction关键词{niche, competition, demand, pricing_range, suggested_products}{success:false, error:"no_suitable_product", code:"HR-002"}选品报告→商品参数转换 — AI辅助生成闲鱼商品参数
pricing_range提取,结合01手册§七7.1动态定价策略suggested_products提取规格描述{title, price, description, specs, delivery_type, after_sale}调用fishclaw-mcp.publish_item发布商品 — 将商品参数传递给fishclaw-mcp MCP
结果回写 — 将发布结果与热点数据关联
{hotspot_topic, product_id, xianyu_url, pipeline:"PL-HOTSPOT"}输出: {success:bool, data:{product_id, xianyu_url, hotspot_topic, heat, pipeline:"PL-HOTSPOT"}}
PL-UPLOAD接收用户上传的文件(文本/图片/PDF),自动检测格式并提取内容,路由到对应的内容生成管道。支持多租户隔离。
输入: {pipeline_type:"PL-UPLOAD", tenant_id, upload_files:[{path, type, filename}]}
流程:
输出: {success:bool, data:{pipeline:"PL-UPLOAD", routed_to:"PL-COMIC", upload_count:N, generated_items:[...]}}
PL-NEWPROD是面向NEW-PROD-01~09 AI服务商品矩阵的专属内容生产管道,将商品信息拉取→热点监控→选题决策→文案生成→配图/视频生成→个人IP特质注入→写作风格特质注入→去AI味→营销注入→SEO优化→GEO优化→内容审核→AI声明注入→多平台发布→排期调度→效果分析整合为16步端到端自动化流程。
输入:
product_id="all")product_id="NEW-PROD-01,NEW-PROD-02")步骤:
| 步骤 | 名称 | Tool | Action | 说明 |
|---|---|---|---|---|
| 1 | 商品信息拉取 | xianyu-manager | get_new_prod_suggestions | 拉取9商品配置(价格/MCP/合规) |
| 2 | 热点监控 | dailyhot-mcp | get_hot_topics | 关注"AI服务"分类热点 |
| 2.5 | 竞品数据采集(可选) | media-crawler-mcp | search_posts+format_for_prompt | 搜索小红书/抖音竞品内容+用户评论,压缩后注入步骤4文案生成prompt(Token优化:≤300token) |
| 3 | 选题决策 | content-research-mcp | generate_topic_suggestions | focus=new_product_promotion |
| 4 | 文案生成(商品介绍) | content-template | create | template_type=product_intro |
| 5 | AI内容声明注入 | risk-detector | inject_ai_declaration | R12合规强制标注 |
| 6 | 配图/视频生成(按商品路由) | content-orchestrator-router | route_by_product | 按商品类型路由到对应MCP |
| 7 | 内容审核(R12-R15) | sensitive-word-mcp | check_text | 4条合规规则校验 |
| 8 | 多平台发布(抖音+小红书+视频号) | content-publisher | publish | 默认3平台批量发布 |
| 9 | 排期调度 | content-publisher | schedule_smart | preferred_time=auto |
| 10 | 效果分析(72h后) | content-analytics | track_performance | 跟踪72h窗口数据 |
商品→引擎路由映射 (来源:xianyu-manager v1.1 NEW-PROD-01~09):
| 商品 | 路由引擎 | 适用场景 |
|---|---|---|
| NEW-PROD-01 | kling-mcp | 照片→视频(3/8/20秒) |
| NEW-PROD-02 | DeOldify+flux+kling | 老照片修复+动态化 |
| NEW-PROD-03 | cosyvoice+flyworks | AI数字人口播(声音克隆+口型同步) |
| NEW-PROD-04 | flux+kling+airi | 宠物写真+拟人化 |
| NEW-PROD-05 | flux+kolors+airi | 头像/表情包/海报 |
| NEW-PROD-06 | flux+kolors+pps | 产品主图/电商海报 |
| NEW-PROD-07 | SILICONFLOW-LLM | 短视频脚本/口播文案 |
| NEW-PROD-08 | kling+flux+liveportrait | 写真/形象IP/职业照 |
| NEW-PROD-09 | character-consistency+narrato | 绘本/儿童故事视频 |
与content-publisher v4.4 newprod_publisher.py协作:
PL-NEWPROD管道的"多平台发布"步骤可调用content-publisher v4.4新增的newprod_publisher.batch_publish作为批量发布加速入口,实现9商品×3平台×3梯度=81次发布的批量编排能力。
输出: {success:bool, data:{pipeline_type:"PL-NEWPROD", total_steps:16, steps:[...]}}
| 管道 | 流程 | 关键约束 |
|---|---|---|
| E2E-VIDEO | PL-VIDEO→格式适配→代理注入→AI声明注入→逐平台发布 | 平台间间隔5-10分钟(来源:02手册§九9.2) |
| E2E-IMAGE | PL-IMAGE→AI声明注入→逐平台发布 | 平台间间隔5-10分钟 |
| E2E-DAILY | trend-discovery→AI选题→自动选管道→AI声明注入→排期发布 | ✅排期调度已集成(content-publisher.schedule_smart) |
所有5条内容管道(PL-VIDEO/PL-IMAGE/PL-AUDIO/PL-LIPSYNC/PL-COMIC)在发布前必须通过营销注入门控。PL-PRODUCT和PL-HOTSPOT管道例外: 闲鱼商品描述属交易属性,非内容属性,不强制营销注入。
{success:false, error:"MARKETING_GATE_FAILED", code:"MG-001"}重试时使用品类差异化基础营销模板替代market-copywriter:
| 品类 | 开头钩子 | 核心卖点模板 | 结尾CTA |
|---|---|---|---|
| AI工具/软件 | "还在手动{痛点}?{产品名}用AI帮你3秒搞定!" | "{特性1}: AI自动{功能},效率提升N倍 / {特性2}: 一键{功能},省时省力 / {特性3}: 智能优化,效果更好" | "私信我'{关键词}'免费体验AI{功能}" |
| 设计/创意 | "设计灵感枯竭?{产品名}帮你秒出大片!" | "{特性1}: 多种风格一键生成 / {特性2}: 专业级效果无需PS / {特性3}: 批量出图效率翻倍" | "私信我'{关键词}'获取设计模板" |
| 文案/写作 | "写不出好文案?{产品名}帮你10秒出稿!" | "{特性1}: AI理解你的需求精准生成 / {特性2}: 多平台风格自动适配 / {特性3}: 一键优化去AI味" | "私信我'{关键词}'获取写作神器" |
| 电商/运营 | "店铺运营太累?{产品名}帮你全自动搞定!" | "{特性1}: 自动上架+定价+客服 / {特性2}: 智能选品数据驱动 / {特性3}: 7×24小时无人值守" | "私信我'{关键词}'了解代运营方案" |
| 通用(默认) | "还在为{痛点}发愁?{产品名}帮你解决!" | 从内容中提取3个关键特性,按FAB法则组织 | "私信我'{关键词}'了解更多" |
品类判定规则: 根据内容标题/描述中的关键词匹配品类,无匹配时使用通用模板。
营销注入门控在AI声明注入之前执行。流程: 营销注入门控→AI声明注入→发布。两者均为强制步骤,任一不通过则拦截发布。
所有5条内容管道(PL-VIDEO/PL-IMAGE/PL-AUDIO/PL-LIPSYNC/PL-COMIC)在发布前必须通过内容吸引力评分门控。PL-PRODUCT和PL-HOTSPOT管道例外: 闲鱼商品描述属交易属性,非内容属性,不强制评分。
| 维度 | 权重 | 评分标准 |
|---|---|---|
| 标题吸引力 | 30% | 是否包含数字/疑问/对比/悬念等钩子元素 |
| 开头3秒钩子 | 25% | 前3秒/前50字是否能抓住注意力 |
| 内容深度 | 20% | 是否有独特见解/数据支撑/实操步骤 |
| CTA清晰度 | 15% | 行动号召是否明确可执行 |
| SEO适配度 | 10% | 关键词布局是否合理,标题是否含核心关键词 |
调用LLM对生成内容进行0-100分评分:
| 总分 | 动作 | 说明 |
|---|---|---|
| <60分 | ❌拦截发布 | 内容质量不达标,必须重新生成 |
| 60-75分 | ⚠️警告但允许发布 | 内容质量一般,建议优化后发布 |
| >75分 | ✅通过 | 内容质量达标 |
你是一位内容营销评分专家。请对以下内容进行吸引力评分(0-100分)。
目标平台: {platform}
内容标题: {title}
内容摘要: {summary}
评分维度:
1. 标题吸引力(权重30%): 是否包含数字/疑问/对比/悬念等钩子元素
2. 开头3秒钩子(权重25%): 前50字是否能抓住注意力
3. 内容深度(权重20%): 是否有独特见解/数据支撑/实操步骤
4. CTA清晰度(权重15%): 行动号召是否明确可执行
5. SEO适配度(权重10%): 关键词布局是否合理
评分锚点(防止评分虚高):
- 30分: "XX产品很好用,推荐大家购买" (无钩子/无深度/无CTA/纯广告)
- 50分: "还在为XX发愁?试试XX产品,效果不错哦~" (有痛点钩子但无深度/CTA模糊)
- 70分: "3个方法帮你解决XX问题,第2个最有效!1.XX 2.XX 3.XX 私信我获取完整方案" (有数字钩子+有步骤+有CTA)
- 90分: "我花了3个月测试了5种XX方案,发现只有第3种真正有效(附数据对比)。1.方案A:效果X但成本Y 2.方案B:效果Z但耗时W 3.方案C:效果最佳+成本最低+实操步骤→私信'XX'获取完整教程" (数据支撑+对比+深度+明确CTA)
请参照锚点严格评分,不要因为内容"还行"就给70+。大部分AI生成内容应在50-70分区间。
严格输出JSON:
{"title_score": N, "hook_score": N, "depth_score": N, "cta_score": N, "seo_score": N, "total_score": N, "suggestion": "优化建议"}
所有10条管道(7条内容管道+3条E2E管道)在发布前必须执行AI展示声明注入步骤。PL-PRODUCT和PL-HOTSPOT管道例外: 闲鱼商品描述不注入AI声明(商品描述属交易属性,非内容属性)。
ai_declaration配置(来源: content-publisher/scripts/platform_specs.json)enabled字段: false→跳过该平台(如TikTok)format字段选择声明格式,将template内容注入到内容末尾(标题/描述)| 格式 | 说明 | 适用平台 |
|---|---|---|
| tag | 标签形式,附加在标题/描述末尾 | 抖音、快手 |
| short_tag | 简短标注,节省正文空间 | 小红书、抖音图文 |
| paragraph | 段落声明,完整展示AI能力 | 视频号、B站、百家号 |
| none | 不注入(平台豁免) | TikTok(enabled=false) |
ai_declaration.enabled=false,跳过注入(来源:platform_specs.json tiktok配置,海外平台豁免AI声明避免合规风险)required=false的平台(如B站、百家号): 仍注入声明(展示AI能力),但不强制同一主题内容在矩阵账号多平台分发时,必须通过差异化检查,防止内容同质化导致平台降权。
| 维度 | 可选值 | 说明 |
|---|---|---|
| 切入角度 | 教程/评测/故事/数据 | 内容的核心视角 |
| 情绪基调 | 专业/轻松/煽情 | 内容的情感倾向 |
| 内容深度 | 入门/进阶/硬核 | 目标受众的知识水平 |
| 表现形式 | 图文/视频/音频 | 内容的载体形式 |
矩阵账号发布前执行内容相似度检查:
DIFFERENTIATION_FAILED,附带建议调整的维度| 平台 | MCP Server | 内容类型 | 备注 |
|---|---|---|---|
| 抖音/快手/小红书/B站 | sau-mcp | 视频 | upload_video |
| 视频号/TikTok | device-operations | 视频 | device_publish_to_* |
| 小红书/抖音图文/百家号 | device-operations | 图文 | device_publish_to_* |
| 头条 | content-publisher(toutiao adapter) | 图文 | F2合并:由content-publisher统一调用 |
| 知乎/微博 | multi-publisher-mcp | 图文 | Wechatsync v2已支持(zhihu.py/weibo.py) |
| YouTube/FB/IG | aitoearn-mcp | 视频/图文 | ⚠️aitoearn-mcp已禁用 |
| 闲鱼 | xianyu-manager | 图文→商品 | PL-PRODUCT/PL-HOTSPOT管道专用,图片1:1裁剪+文案风格转换+5要素注入 |
完整16平台注册表、UTD/UPR输入格式、输出格式详见 scripts/content_orchestrator_reference.json
当UTD含tenant_id时,自动注入租户上下文:
蒸馏数据消费分工(DEF-U49 P2):
租户约束: 内容方向→directions范围 / 目标平台→仅租户配置平台 / 视觉风格→注入prompt / 人设绑定→统一配音外观 / 预算限制→成本过滤 / 钩子结尾图→引流图注入 / 素材优先→租户素材库 / 蒸馏指纹→21维注入下游
完整租户注入流程、7项约束详情、UTD扩展字段详见 scripts/content_orchestrator_reference.json
| 异常码 | 场景 | 处理 | 降级 |
|---|---|---|---|
| PIPELINE_NOT_FOUND | 管道不存在 | 返回可用管道列表 | 必须指定有效管道 |
| ENGINE_UNAVAILABLE | 引擎不可用 | 自动降级备选引擎 | kling→pixelle→mpt |
| PUBLISH_FAILED | 发布失败 | 跳过该平台继续 | 部分成功+失败列表 |
| PROXY_FAILED | 代理获取失败 | 降级直连+告警 | 直连发布 |
| GENERATION_TIMEOUT | 生成超时(>5分钟) | 重试1次 | 返回中间产物 |
| PLATFORM_UNSUPPORTED | 平台不在注册表 | 忽略该平台 | 仅发布已注册平台 |
| TENANT_CONFIG_MISSING | 租户配置缺失 | 返回错误 | 降级默认模式 |
| SCRIPT_GENERATION_FAILED | 脚本生成失败 | 默认脚本模板 | 固定3段式脚本 |
| AI_DECLARATION_FAILED | AI声明注入失败 | 跳过注入+警告日志 | 继续发布(声明非阻塞) |
| IMAGE_CONVERT_FAILED | PL-PRODUCT图片规格转换失败 | 使用原图发布+警告 | 闲鱼可能显示变形 |
| COPYWRITE_CONVERT_FAILED | PL-PRODUCT文案风格转换失败 | 使用原文案发布 | 商品描述可能不符闲鱼风格 |
| PRODUCT_ELEMENT_MISSING | PL-PRODUCT 5要素缺失 | 缺价格→拒绝发布,缺其他→使用默认值 | 价格为必填(来源:01手册§四4.1) |
| XIANYU_PUBLISH_FAILED | 闲鱼商品发布失败 | 返回转换结果+发布失败详情 | 素材已转换可手动发布 |
| HOTSPOT_LOW_HEAT | PL-HOTSPOT热点热度不足(heat≤30) | 跳过该热点,处理下一个 | 仅处理heat>30的热点 |
| HOTSPOT_NO_PRODUCT | PL-HOTSPOT选品无合适商品(unified-product-ops返回空) | 终止该热点管道,记录原因 | 热点不适合选品,不强制上架 |
| HOTSPOT_CONVERT_FAILED | PL-HOTSPOT商品参数转换失败(AI生成失败) | 使用默认模板生成商品参数 | 商品描述可能不够精准 |
| MARKETING_GATE_FAILED | 营销注入门控失败(market-copywriter调用失败+降级也失败) | ❌拦截发布,不允许跳过 | 必须修复market-copywriter或降级模板后重试 |
| DIFFERENTIATION_FAILED | 内容差异化检查未通过(与24h内同主题内容相似度>70%) | ❌拦截发布,要求重新生成 | 调整至少1个差异化维度(切入角度/情绪基调/内容深度/表现形式) |
| ATTRACTIVENESS_SCORE_LOW | 内容吸引力评分<60分(标题/钩子/深度/CTA/SEO加权总分不达标) | ❌拦截发布,必须重新生成 | 按LLM返回的suggestion优化后重新评分 |
支持自然语言指令或JSON结构化输入:
{"pipeline":"PL-VIDEO","tenant_id":"t_001","platforms":["douyin","shipinhao"],"topic":"AI头像生成"}{topic, heat, platforms, trend} 自动触发PL-HOTSPOT{"materials":[...],"target":"xianyu_product"} 触发PL-PRODUCT统一返回JSON结构(符合exec脚本规范):
{
"success": true,
"data": {
"task_id": "co-20260519-001",
"pipeline": "PL-VIDEO",
"published": {"douyin": {"status":"success","url":"..."}},
"marketing_gate": "passed",
"attractiveness_score": 85
},
"error": null,
"code": null
}
异常时: {"success":false,"data":{},"error":"MARKETING_GATE_FAILED","code":"GATE_BLOCKED"}
运营报告模板见 docs/templates/content_report.md,exec脚本生成报告时填充实际数据。
内容生产全链路遵循以下业务闭环:
以下"工作流"为管道执行层详细步骤,业务工作流为其提供高层上下文。
本章节集中声明热点→发布完整闭环链路,满足R-92闭环连接规范。链路通过两条管道实现:E2E-DAILY(热点→内容→多平台发布)和PL-HOTSPOT(热点→选品→商品→闲鱼发布),均以trend-discovery为统一热点输入源(B2-05已完成dailyhot-mcp统一)。
trend-discovery(获取热点)
│
├─[内容分发路径]──> E2E-DAILY管道 ─────────────> content-publisher(多平台发布)
│ ↓
│ AI选题→自动选管道→AI声明注入→排期发布
│
└─[商品上架路径]──> PL-HOTSPOT管道 ────────────> fishclaw-mcp+content-publisher(闲鱼+多平台)
↓
选品方向→unified-product-ops选品→商品参数转换→发布
| 链路节点 | Skill | 声明位置 | 依赖类型 |
|---|---|---|---|
| 热点输入 | trend-discovery | content-publisher/SKILL.md dependencies | 静态依赖(已声明) |
| 热点输入 | trend-discovery | content-orchestrator业务工作流第1步 | 动态依赖(FIX-V3-009) |
| 热点输入 | dailyhot-mcp | trend-discovery/SKILL.md dependencies | 静态依赖(B2-05统一) |
| 内容生成 | content-orchestrator | content-publisher协作关系表 | 动态依赖 |
| 多平台发布 | content-publisher | content-orchestrator管道步骤(PL-HOTSPOT步骤15/E2E-DAILY排期发布) | 动态依赖 |
| 闲鱼发布 | fishclaw-mcp | content-orchestrator PL-HOTSPOT步骤14 | MCP依赖 |
{topic, heat, platforms, trend}
| 异常 | 处理 | 来源 |
|---|---|---|
| trend-discovery返回空热点 | 跳过本轮热点驱动发布,记录info日志 | trend-discovery/SKILL.md异常表 |
| unified-product-ops无合适选品 | 终止PL-HOTSPOT管道,返回{success:false, error:"no_suitable_product", code:"HR-002"} | content-orchestrator/SKILL.md异常表 |
| content-publisher发布失败 | 单平台失败不阻断其余,加入重试队列(指数退避1/5/15分钟) | content-publisher/SKILL.md步骤5.5 |
| 热点热度不足(heat≤30) | 跳过该热点,处理下一个 | HOTSPOT_LOW_HEAT异常码 |
本章节集中声明内容发布→采集→分析→优化的4步闭环链路,满足R-99闭环连接规范。闭环以content-orchestrator为编排中心,串联content-publisher(发布)→media-crawler(采集)→content-analytics(分析)→content-calibrator+seo-optimizer(优化)四个环节,形成持续迭代的内容优化循环。本闭环与content-analytics Skill的6步闭环(发布→推荐→反馈→分析→优化→学习)互补:content-analytics(v25.0合并content-closed-loop)是闭环执行引擎,本工作流是编排层声明。
content-publisher(发布) ───> 多平台内容上线(12平台)
│
└─[发布结果回写]──> content_catalog(发布日志+post_ids)
│
▼
media-crawler(采集) ───> 互动数据(播放/点赞/评论/分享)
│ ┌─opencli-mcp(小红书/B站/知乎/微博 4平台真实数据)
│ └─估算数据(抖音/快手/视频号等无API平台,标注REAL_DATA_UNAVAILABLE)
▼
content-analytics(分析) ───> S/A/B/C评级+优化建议
│ (播放量25%+完播率25%+互动率20%+转化率20%+分享率10%)
▼
content-calibrator+seo-optimizer(优化) ───> 内容质量校准+SEO优化
│ (7维评分:ER情感/HP钩子/SR议题/QL金句/NA叙事/AB受众/PV实用)
▼
下一轮内容生成(注入优化建议+校准rubric)
| 链路节点 | Skill | 声明位置 | 依赖类型 |
|---|---|---|---|
| 发布 | content-publisher | content-orchestrator管道步骤(PL-NOVEL步骤7/E2E-DAILY排期发布) | 动态依赖(FIX-V3-009) |
| 发布 | content-publisher | content-analytics/SKILL.md dependencies(反向) | 静态依赖(已声明) |
| 采集 | media-crawler | content-orchestrator PL-HOTSPOT步骤1.5/PL-NEWPROD步骤2.5 | 动态依赖 |
| 采集 | media-crawler-mcp | content-publisher/SKILL.md协作关系表(步骤2.5竞品参考) | MCP依赖 |
| 分析 | content-analytics | content-orchestrator业务工作流第6步+PL-NEWPROD步骤10 | 动态依赖 |
| 分析 | content-analytics | content-analytics dependencies=[content-publisher] | 静态依赖(已声明) |
| 优化 | content-calibrator | content-orchestrator PL-HOTSPOT.json步骤6(内容质量评分) | 动态依赖 |
| 优化 | seo-optimizer | content-orchestrator PL-NOVEL步骤5/通用流程步骤6 | 动态依赖 |
| 闭环引擎 | content-analytics | content-orchestrator业务工作流(6步闭环互补,v25.0合并content-closed-loop) | 动态依赖 |
发布(content-publisher) — 内容生成完成后,通过content-publisher多平台分发
{content_id, post_ids:{platform:url}, status:"published"}采集(media-crawler) — 发布后72小时窗口采集互动数据
REAL_DATA_UNAVAILABLE(来源:DEF-10){views, likes, comments, shares, click_rate, data_source:"real|estimated"}分析(content-analytics) — 计算内容效果指标+评级+优化建议
{rating, score, metrics, score_breakdown, suggestions, evergreen}优化(content-calibrator+seo-optimizer) — 内容质量校准+SEO优化,指导下一轮生成
composite = (ER×1.5 + HP×1.5 + SR×1.5 + QL + NA + AB + PV) / 8.5 × 2.0memory/analytics/{content_id}.json+data/content-calibrator/rubric_{platform}.json| 异常 | 处理 | 来源 |
|---|---|---|
| content-publisher发布失败 | 单平台失败不阻断其余,加入重试队列(指数退避1/5/15分钟) | content-publisher/SKILL.md步骤5.5 |
| media-crawler采集失败 | 跳过该平台采集,使用估算数据,标注REAL_DATA_UNAVAILABLE | DEF-10降级方案 |
| content-analytics数据不足 | 返回空分析,标注INSUFFICIENT_DATA,不生成评级 | content-analytics/SKILL.md异常表 |
| content-calibrator LLM评分失败 | 使用历史rubric作为兜底,记录warning | content-calibrator OPTIMIZE_FAILED |
| seo-optimizer不可用 | 跳过SEO优化,继续发布流程,记录warning | content-orchestrator异常表 |
| 闭环步骤执行超时(>60秒) | 跳过超时步骤,继续后续步骤,最终报告标注跳过项 | content-analytics LOOP_TIMEOUT |
content-analytics(v25.0合并content-closed-loop,R75.5 Skill去重)是6步闭环执行引擎(发布→推荐→反馈→分析→优化→学习),本工作流是content-orchestrator编排层的4步闭环声明。两者互补:
FIX-V3-009动态依赖发现: 管道Skill(video-generator/content-publisher/cosyvoice/flux/kling/pps等)在运行时由编排器自动发现和加载,而非通过frontmatter dependencies硬编码声明。编排器根据管道类型和阶段需求,动态匹配并调用对应的Skill。metadata.dynamic_dependencies=true启用此模式。
内容生成与发布完成后,自动回写经验到自生长系统,供后续生成参考(自生长引擎路径: skills/_lazy/self-growth/scripts/self_growth_engine.py,支持action: extract/learn/query/stats):
python skills/_lazy/self-growth/scripts/self_growth_engine.py --action query --keyword "内容编排" --limit 5 --agent-id default — 注入历史经验到管道参数,优化管道路由决策python skills/_lazy/self-growth/scripts/self_growth_engine.py --action extract --from content-orchestrator --success true --result-data '{"pipeline":"...","published":{...}}' --agent-id default — 记录成功生成模式python skills/_lazy/self-growth/scripts/self_growth_engine.py --action learn --scenario "内容编排失败" --lesson "[错误码和原因]" --category error --importance 8 --agent-id default — 错误经验自动记录,避免重复犯错python skills/_lazy/self-growth/scripts/self_growth_engine.py --action stats --agent-id default — 统计经验积累情况content-orchestrator已通过以下管道在脚本层面接入自生长闭环(调用self_growth_activator.record_feedback):
content_orchestrator.py L1077 — 热点→商品发布后调用 self_growth_activator.record_feedback 记录热点选题经验content_orchestrator.py L1093 — 素材→商品发布后调用 self_growth_activator.record_feedback 记录产品生成经验content_orchestrator.py L379 — self_growth_activator.py存在于scripts/目录,作为exec脚本的fallback路径注: PL-HOTSPOT和PL-PRODUCT管道定义内置于content_orchestrator.py中(非外部JSON文件),在"多平台内容分发"步骤后自动执行"发布反馈(U13)"步骤调用self_growth_activator。
每条管道的关键阶段输出通过scripts/quality_gate.py执行质量门控检查,综合得分≥阈值(默认0.7)才允许进入下一阶段。质量门控在内容生成完成后、营销注入门控之前执行,是管道阶段间的硬性质量卡点。
python skills/content-orchestrator/scripts/quality_gate.py \
--pipeline-name PL-VIDEO \
--stage content \
--content-file data/content/draft.txt \
--threshold 0.7
--pipeline-name: 管道名称(如PL-VIDEO/PL-IMAGE/PL-NOVEL等)--stage: 检查阶段(draft/script/content/final,不同阶段最低字数要求不同)--content-file: 待检查内容文件路径--threshold: 通过阈值(默认0.7,综合得分≥阈值且敏感词检查通过才放行)| 维度 | 检查内容 | 权重 | 不达标处理 |
|---|---|---|---|
| 内容长度 | 按阶段检查最低字数(draft≥200/script≥300/content≥500/final≥800) | 25% | 建议补充内容至达标字数 |
| 关键词覆盖 | 检查标题/段落/标签三要素覆盖率是否≥阈值 | 25% | 建议补充缺失的关键词要素 |
| 格式合规 | 检查标题结构/段落分隔/长文本分段是否合规 | 25% | 建议优化格式结构 |
| 敏感词检测 | 调用sensitive-word-mcp检测敏感词(MCP不可用时降级本地词库检查) | 25% | 命中敏感词直接拦截,不允许进入下一阶段 |
{
"success": true,
"data": {
"passed": true,
"score": 0.85,
"pipeline": "PL-VIDEO",
"stage": "content",
"threshold": 0.7,
"checks": {
"length": {"passed": true, "score": 1.0, "detail": "字数620/500达标"},
"keywords": {"passed": true, "score": 1.0, "detail": "覆盖率100%"},
"format": {"passed": true, "score": 0.67, "detail": "问题:缺少标题"},
"sensitive": {"passed": true, "score": 1.0, "detail": "无敏感词"}
},
"suggestions": ["优化格式:添加标题和段落分隔"]
},
"error": null,
"code": null
}
{success:true, data:{task_id:"co-20260519-001", pipeline:"PL-VIDEO", published:{douyin:{status:"success"}}}}{topic:"AI头像生成", heat:92, platforms:["小红书","抖音"], trend:"上升"}{success:true, data:{product_id:"xy-20260528-001", xianyu_url:"https://...", hotspot_topic:"AI头像生成", heat:92, pipeline:"PL-HOTSPOT"}}UTD调用/E2E日常运营示例详见 scripts/content_orchestrator_reference.json