P1 异常恢复策略链插件 — 工具失败时按策略链逐级恢复。
策略链(按顺序执行):
- 重试:相同参数重试(可配次数 + exponential backoff)
- 切换模型:失败次数超阈值后 intervene 切换到备用模型
- 人工升级:emit 告警事件通知管理员
- 中止:策略全部耗尽后 abort + 生成故障报告
配置
{CMDC.Plugin.Builtin.Recovery,
max_retries: 3, # 最大重试次数
backoff_base_ms: 1000, # 退避基数(毫秒)
fallback_model: "qwen3-max", # 备用模型(nil 则跳过模型切换)
escalation_event: true # 是否 emit 升级事件
}触发 Hook
{:on_tool_error, name, call_id, error, attempt} — 工具执行失败时触发。