deerflow-code/skills-data/xdfx-step5-audience-strategy/SKILL.md
2026-09-07 18:24:55 +08:00

3.8 KiB
Raw Blame History

name description
xdfx-step5-audience-strategy xdfx 拆分流程 step5,基于受众目标与受众脆弱点发起用户协助选择受众,生成并保存受众策略。

Step5 受众目标 + 脆弱点策略生成与入库

前置条件:xdfx-flow-state.json 中已有 Step3 写入的 audienceVulns,且这些受众已在 Step2 关联关键传播节点。

不要手写接口调用,直接运行:

python scripts/xdfx_flow.py --mode step5 --input xdfx-input.json --state xdfx-flow-state.json --summary xdfx-flow-summary.md

鉴权和证书由脚本兜底处理:脚本启动时先 import scripts/xdfx_auth.py,自动用 admin / ch@user 获取 access_token,并在第一次业务接口调用前写入内部 Authorization;不要通过命令行传 token。接口返回 401 时仍由 xdfx_auth.py 刷新 token 并重试原接口一次;HTTPS 默认不校验证书,需校验证书时追加 --verify-ssl。

本步骤由脚本完成:

  • 只从已有关联关键传播节点且已入库受众脆弱点的受众中列出策略生成对象。
  • 输出 用户协助,等待用户选择一个或多个受众;用户选择后带 --select-strategy-audiences 1,2 重跑 Step5,才生成并保存这些受众的策略。
  • Step5 只能选择受众,不能混入关键传播节点;不要传 --select-strategy-pathways。
  • 调用策略生成模型接口。
  • 流式模型接口首次空响应、模型无响应或超时类返回会自动再调用一次。
  • 自动解析 发布人设N / 账号类型N / 信息标题N 等字段。
  • 调用策略保存接口。
  • 同步写入 task-action-channel、base-narrate、task-action-message、task-action-design-strategy-relation;本步骤强制按“目标受众账号”保存,只写 designId + strategyId 受众关系,不能使用模型返回的 账号类型/accountType 判断归属。
  • 保存 task-action-message.modelType 前会读取前端 modelType 字典并把“图片,视频/文本,图片”等模态文字转成 value 逗号串,避免策略表格回显为空。
  • 同步前端步骤状态 step-analysis-strategy 与 step-analysis-strategy-gantt。
  • 保存成功后写入 audienceStrategies。

如果某个受众没有可用脆弱点,脚本会记录错误;智能体必须先回到 Step3 或重跑 Step5 修复当前策略环节,不能直接跳过。

失败重试规则

  • 出现 错误反馈、JSON解析复核,或 步骤反馈 中 状态 为 部分完成 / 已跳过 / 本步骤新增错误数 大于 0 时,必须先重跑当前 Step5 命令。
  • 如果失败原因是缺少受众脆弱点,先重跑 Step3 生成脆弱点,再重跑 Step5;重试前必须告诉用户原因和重试动作。
  • Step5 未重试成功前,不允许继续 Step6 或做最终汇总;不要因为 Step5 失败就跳过受众策略分析。
  • Step5 重试后仍失败时,停止自动推进,读取 xdfx-flow-state.json.errors 汇报失败细节,并等待用户处理或确认。

步骤反馈

命令结束会输出 步骤反馈 {...}。必须先根据这行反馈告诉用户 Step5 的完成状态、当前受众策略数量和新增错误数,再决定是否继续下一步。

如果输出 用户协助 {...},必须暂停流程,把受众策略生成对象发给用户;用户选择后重跑 Step5 并追加 --select-strategy-audiences ...。

执行过程中会输出 操作反馈 {...}。每出现一次都要告诉用户当前操作和接口 URL。

保存成功会输出 入库反馈 {...}。每出现一次都要告诉用户已入库的策略、策略子表和返回 ID。

如果出现 错误反馈 {...},必须立即告诉用户失败阶段、接口 URL、状态码、请求摘要和响应摘要。

如果出现 JSON解析复核 {...},必须查看 响应片段,判断是否能识别受众策略 JSON;无法确认时重跑 Step5。