refactor(hermes): UX 小白化收尾 - 6 个页面统一 humanizeError + 修 usage.js bug

把 raw error toast 升级为 humanizeError,让用户看到分类友好的错误提示
(自动加 action button 如「打开设置」「重试」「查看文档」)。

## sessions.js (5 处)
- 加载会话失败 → humanizeError(err, t('engine.sessionsLoadFailed'))
- 详情加载失败 → humanizeError(err, t('engine.sessionsDetailLoadFailed'))
- 切换会话失败 → humanizeError(err, t('engine.sessionsSwitchFailed'))
- 删除失败 → humanizeError(err, t('engine.chatDeleteFailed'))
- 导出失败 → humanizeError(err, t('engine.sessionsExportFailed'))

## extensions.js (5 处)
- dashboard 打开失败 (probe / start) - 2 处
- 主题保存失败 → humanizeError(err, t('engine.extensionsThemeSaveFailed'))
- 加载扩展失败 → humanizeError(err, t('engine.extensionsLoadFailed'))
- 重新扫描失败 → humanizeError(err, t('engine.extensionsRescanFailed'))

## env-editor.js (4 处)
- reveal / save / delete / load 错误 → humanizeError
- 文案保留 inline 中文(页面尚未 i18n 化)

## usage.js (1 bug + 1 升级)
- **修真 bug**: catch (_) {...} 内部却用了 err 引用 → 改为 catch (err) {...}
- 失败时 humanizeError(err, t('engine.usageLoadFailed'))

## lazy-deps.js (1 处)
- features API 失败显示 humanizeError + escapeHtml

## config.js (2 处)
- 加载配置失败 → humanizeError(err, t('engine.hermesConfigLoadFailed'))
- 保存配置失败 → humanizeError(err, t('engine.hermesConfigSaveFailed'))

## hermes.css 修 lint
- .hm-kanban-task-summary 加 line-clamp 标准属性(不只是 -webkit-line-clamp)

## i18n 新增 8 键
- sessionsLoadFailed / sessionsSwitchFailed / usageLoadFailed
- extensionsThemeSaveFailed / extensionsLoadFailed / extensionsRescanFailed
- hermesConfigLoadFailed / hermesConfigSaveFailed
- 全部 × 3 语言

## 累计影响
- 6 个 hermes 页面(sessions/extensions/env-editor/usage/lazy-deps/config)统一错误处理
- 修 usage.js 1 个真 bug(catch 参数名错配)
- 8 个新 i18n × 3 语言
- 1 个 CSS lint 警告修复
- npm build ✓
This commit is contained in:
晴天
2026-05-14 05:45:33 +08:00
parent debce2f810
commit dcac1d6d21
8 changed files with 34 additions and 19 deletions

View File

@@ -614,6 +614,15 @@ export default {
hermesGroupChatRunFailed: _('运行失败', 'Run failed', '執行失敗'),
hermesGroupChatNoOutput: _('(无输出)', '(no output)', '(無輸出)'),
hermesGroupChatWebUnsupported: _('Web 模式不支持群聊(依赖 hermesAgentRun需桌面端事件桥。请用桌面客户端。', 'Group chat is not supported in Web mode (requires desktop event bridge). Use the desktop app.', 'Web 模式不支援群聊(依賴 hermesAgentRun需桌面端事件橋。請用桌面客戶端。'),
// Hermes UX 小白化:补齐 humanizeError fallback 用到的 i18n
sessionsLoadFailed: _('加载会话失败', 'Load sessions failed', '載入會話失敗'),
sessionsSwitchFailed: _('切换会话失败', 'Switch session failed', '切換會話失敗'),
usageLoadFailed: _('加载用量失败', 'Load usage failed', '載入用量失敗'),
extensionsThemeSaveFailed: _('保存主题失败', 'Save theme failed', '儲存主題失敗'),
extensionsLoadFailed: _('加载扩展失败', 'Load extensions failed', '載入擴充功能失敗'),
extensionsRescanFailed: _('重新扫描失败', 'Rescan failed', '重新掃描失敗'),
hermesConfigLoadFailed: _('加载配置失败', 'Load config failed', '載入設定失敗'),
hermesConfigSaveFailed: _('保存配置失败', 'Save config failed', '儲存設定失敗'),
// Web 模式(远程浏览器)下流式聊天暂不可用
chatWebModeStreamingUnsupported: _(
'Web 模式暂不支持 Hermes 实时流式聊天(依赖桌面端事件桥)。请打开桌面客户端使用此功能。',