--- name: xdfx-step3-audience-vulns description: xdfx 拆分流程 step3,为已分析出关键传播节点的受众抽取脆弱点,发起用户协助选择后保存。 --- # Step3 受众脆弱点抽取与入库 前置条件:`xdfx-flow-state.json` 中已有 Step1 写入的 `topAudiences[*].designId`,且 Step2 已写入关联这些受众的 `topPathways`。 不要手写接口调用,直接运行: ```bash python scripts/xdfx_flow.py --mode step3 --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`。 本步骤由脚本完成: - 只从“已在 Step2 分析出并关联关键传播节点”的受众中抽取脆弱点候选。 - 输出 `用户协助`,等待用户选择受众脆弱点;用户选择后带 `--select-audience-vulns 1,2,4` 重跑 Step3,才保存选中的脆弱点。 - 流式模型接口首次空响应、模型无响应或超时类返回会自动再调用一次。 - 自动修复和解析模型 JSON。 - 调用受众脆弱点保存接口。 - 只有保存成功并返回 `id` 的脆弱点才进入后续策略阶段。 - 同步前端步骤状态 `step-analysis-weakpoint`。 - 单个受众失败会写入错误;智能体必须按失败重试规则先重跑 Step3,不能直接跳到 Step4/Step5。 完成后查看 `audienceVulns` 和 `errors`。 ## 失败重试规则 - 出现 `错误反馈`、`JSON解析复核`,或 `步骤反馈` 中 `状态` 为 `部分完成` / `已跳过` / `本步骤新增错误数` 大于 0 时,必须先重跑当前 Step3 命令。 - 重试前必须告诉用户失败阶段、接口 URL、状态码、响应摘要和“正在重试 Step3”,不能静默重试。 - Step3 未重试成功前,不允许继续 Step4/Step5;不要因为 Step3 失败就跳过受众脆弱点分析。 - Step3 重试后仍失败时,停止自动推进,读取 `xdfx-flow-state.json.errors` 汇报失败细节,并等待用户处理或确认。 ## 步骤反馈 命令结束会输出 `步骤反馈 {...}`。必须先根据这行反馈告诉用户 Step3 的完成状态、当前受众脆弱点数量和新增错误数,再决定是否继续下一步。 如果输出 `用户协助 {...}`,必须暂停流程,把受众脆弱点选项发给用户;用户选择后重跑 Step3 并追加 `--select-audience-vulns ...`。 执行过程中会输出 `操作反馈 {...}`。每出现一次都要告诉用户当前操作和接口 URL。 保存成功会输出 `入库反馈 {...}`。每出现一次都要告诉用户已入库的受众脆弱点和返回 ID。 如果出现 `错误反馈 {...}`,必须立即告诉用户失败阶段、接口 URL、状态码、请求摘要和响应摘要。 如果出现 `JSON解析复核 {...}`,必须查看 `响应片段`,判断是否能识别受众脆弱点 JSON;无法确认时重跑 Step3。