| 1 | # 用户可见错误 |
| 2 | |
| 3 | [English](ERROR_PRESENTATION.md) |
| 4 | |
| 5 | 桌面端在展示错误时使用统一的 `ErrorMessage` 组件和 `presentError` 分类器。 |
| 6 | 界面跟随用户选择的简体中文、繁体中文或英文;底层异常、错误码、持久化数据、 |
| 7 | 工具输出和提供给模型的内容保持原样,不参与翻译。 |
| 8 | 手动选择的界面语言优先;选择跟随系统时使用系统语言。英文界面收到无法分类的 |
| 9 | 中文异常时展示英文兜底提示,并在详情保留中文原文。 |
| 10 | |
| 11 | - 已知错误先显示原因类别和可执行的建议。HTTP 状态、系统错误码优先于模糊文本。 |
| 12 | - 兼容旧服务返回的常见错误字符串。无法识别时显示中性提示,不猜测故障原因。 |
| 13 | - 原始错误放在可展开的详情中,以纯文本显示,保留诊断线索。 |
| 14 | - 弹窗展开详情后停止自动关闭,用户仍可手动关闭。 |
| 15 | - 文件内容、终端命令输出和模型生成内容不是应用错误文案,不做替换。 |
| 16 | - 仅改变展示,不根据翻译后的字符串判断权限、恢复状态或是否重试。 |
| 17 | - 不宣称已执行自动重试;用户再次发送属于新请求。历史恢复记录仍可读取。 |
| 18 | |
| 19 | 新错误入口应复用公共组件;已有专用错误面板可复用分类器,并保留自己的 |
| 20 | 诊断详情区。已知业务错误应优先提供稳定错误码和本地化文案。 |
| 21 | |
| 22 | 验证入口:`src/__tests__/error-presentation.test.tsx` 覆盖分类、三种语言、 |
| 23 | 原始异常保留、详情转义、语言切换和弹窗生命周期。 |
| 24 | 开发服务器的 `/bench/error-presentation.html` 可验证实际浏览器交互和布局。 |
| 25 |