CMDC.Plugin.Builtin.Recovery (cmdc v0.5.0)

Copy Markdown View Source

P1 异常恢复策略链插件 — 工具失败时按策略链逐级恢复。

策略链(按顺序执行):

  1. 重试:相同参数重试(可配次数 + exponential backoff)
  2. 切换模型:失败次数超阈值后 intervene 切换到备用模型
  3. 人工升级:emit 告警事件通知管理员
  4. 中止:策略全部耗尽后 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} — 工具执行失败时触发。