错误处理与恢复

wesgine 的错误分类、重试策略与降级恢复机制。


错误分类

不可重试错误

重试同样输入只会得到同样拒绝:

可重试错误

错误原因是瞬时的,再发一次可能成功:


Cognitive Resilience

internal/cognitive/resilience/ 提供认知层面的弹性机制:

Retry

LLM 调用失败后按策略重试。

Backoff

指数退避避免在 Provider 限流期间持续压力。

ImageRecovery

图片处理失败时降级到纯文本模式。


Cell 级故障策略

故障计数

Cell 跟踪故障次数,达到阈值时触发策略。

手动重置

hyp.Cells().ResetFaults(ctx, cellID)

HTTP 端点:POST /admin/cells/{id}/reset-faults

FaultPolicyOverride

CellSpec.FaultPolicyOverride 允许 per-Cell 策略定制。


用户中断

context_cancelled / interrupted 不渲染错误块。

在 createDoneReasonMapper 中返回 null,压制任何错误显示。


余额/欠费

action: 'none'。

Chat 气泡只报错,不画「前往充值」——结清入口在 BillingDebtBanner / 设置页 / 状态栏。