feat: add Hermes frontend types, API layer, and hooks (Phase 7)

- Add "hermes" to AppId union type and all exhaustive Record<AppId>
- Add HermesModelConfig, HermesAgentConfig, HermesEnvConfig types
- Add hermes field to VisibleApps, McpApps, ProxyTakeoverStatus
- Create src/lib/api/hermes.ts with Tauri invoke wrappers
- Create src/hooks/useHermes.ts with 5 query + 3 mutation hooks
- Register hermes in APP_IDS, APP_ICON_MAP (violet color scheme)
- Split MCP_SKILLS_APP_IDS into MCP_APP_IDS (includes hermes) and
  SKILLS_APP_IDS (excludes hermes, since Hermes has no Skills support)
- Wire hermes additive-mode into App.tsx (remove/duplicate handlers),
  ProviderList.tsx (live provider ID query + In Config badge),
  mutations.ts (cache invalidation on switch/add/delete)
- Add Hermes checkbox to McpFormModal
- Add basic hermes i18n keys (en/zh/ja)
This commit is contained in:
Jason
2026-04-15 17:41:33 +08:00
parent 576ff53a75
commit a0b585992a
23 changed files with 467 additions and 33 deletions
+4 -2
View File
@@ -658,7 +658,8 @@
"codex": "Codex",
"gemini": "Gemini",
"opencode": "OpenCode",
"openclaw": "OpenClaw"
"openclaw": "OpenClaw",
"hermes": "Hermes"
},
"sessionManager": {
"title": "Session Manager",
@@ -1308,7 +1309,8 @@
"codex": "Codex",
"gemini": "Gemini",
"opencode": "OpenCode",
"openclaw": "OpenClaw"
"openclaw": "OpenClaw",
"hermes": "Hermes"
}
},
"userLevelPath": "User-level MCP path",
+4 -2
View File
@@ -658,7 +658,8 @@
"codex": "Codex",
"gemini": "Gemini",
"opencode": "OpenCode",
"openclaw": "OpenClaw"
"openclaw": "OpenClaw",
"hermes": "Hermes"
},
"sessionManager": {
"title": "セッション管理",
@@ -1308,7 +1309,8 @@
"codex": "Codex",
"gemini": "Gemini",
"opencode": "OpenCode",
"openclaw": "OpenClaw"
"openclaw": "OpenClaw",
"hermes": "Hermes"
}
},
"userLevelPath": "ユーザーレベルの MCP パス",
+4 -2
View File
@@ -658,7 +658,8 @@
"codex": "Codex",
"gemini": "Gemini",
"opencode": "OpenCode",
"openclaw": "OpenClaw"
"openclaw": "OpenClaw",
"hermes": "Hermes"
},
"sessionManager": {
"title": "会话管理",
@@ -1309,7 +1310,8 @@
"codex": "Codex",
"gemini": "Gemini",
"opencode": "OpenCode",
"openclaw": "OpenClaw"
"openclaw": "OpenClaw",
"hermes": "Hermes"
}
},
"userLevelPath": "用户级 MCP 配置路径",