mirror of
https://github.com/qingchencloud/clawpanel.git
synced 2026-06-27 02:31:54 +08:00
在路径拦截 + sanitize 的基础上再加一道保险:用户粘贴的不只是 markdown 本地图片、而是其他 API 不接受的内容时(如意外内容格式、 鉴权失败、quota 耗尽),单纯清洗无法解决,用户反复点"重试"会陷 入同样的错误循环。 熔断机制: - 2 分钟滑动窗口内,同一错误指纹累计 ≥3 次触发熔断 - 错误指纹归一化:去掉数字(时间戳/请求 ID)、URL、多余空白, 只对比核心语义 - 熔断状态下重试按钮禁用 + 警告色样式,hint 文案改为"请先检查 API 配置或网络",点击后 toast 提示而非触发重试 - 自动恢复:修改配置(saveConfig)或新建会话(createSession)时 调用 resetCircuit() 清空失败历史 UI 共用:抽出 createRetryBar(session, circuitOpen) 供 sendMessageDirect 和 retryAIResponse 两处复用,消除原本重复的 30 行错误处理代码。 新增 .ast-retry-bar-circuit CSS 变体(warning 色 + 禁用态)。 翻译键(11 语言): - retryCircuitHint — 熔断状态下的重试栏 hint - retryCircuitBlocked — 点击已禁用重试按钮时的 toast Refs: #226