diff --git a/src/App.tsx b/src/App.tsx
index b331aaea1..d1dee843f 100644
--- a/src/App.tsx
+++ b/src/App.tsx
@@ -1021,7 +1021,11 @@ function App() {
}
onCreate={() => setIsAddOpen(true)}
onSetAsDefault={
- activeApp === "openclaw" ? setAsDefaultModel : undefined
+ activeApp === "openclaw"
+ ? setAsDefaultModel
+ : activeApp === "hermes"
+ ? switchProvider
+ : undefined
}
/>
diff --git a/src/components/providers/ProviderActions.tsx b/src/components/providers/ProviderActions.tsx
index 344a71da8..50872decf 100644
--- a/src/components/providers/ProviderActions.tsx
+++ b/src/components/providers/ProviderActions.tsx
@@ -70,9 +70,11 @@ export function ProviderActions({
const { t } = useTranslation();
const iconButtonClass = "h-8 w-8 p-1";
- // 累加模式应用(OpenCode 非 OMO 和 OpenClaw)
+ // 累加模式应用(OpenCode 非 OMO / OpenClaw / Hermes)
const isAdditiveMode =
- (appId === "opencode" && !isOmo) || appId === "openclaw";
+ (appId === "opencode" && !isOmo) ||
+ appId === "openclaw" ||
+ appId === "hermes";
// 故障转移模式下的按钮逻辑(累加模式和 OMO 应用不支持故障转移)
const isFailoverMode =
@@ -207,25 +209,36 @@ export function ProviderActions({
return (
- {appId === "openclaw" && isInConfig && onSetAsDefault && (
-
- )}
+ {(appId === "openclaw" || appId === "hermes") &&
+ isInConfig &&
+ onSetAsDefault &&
+ (() => {
+ const activeLabel =
+ appId === "hermes"
+ ? t("provider.inUse", { defaultValue: "已在用" })
+ : t("provider.isDefault", { defaultValue: "当前默认" });
+ const inactiveLabel =
+ appId === "hermes"
+ ? t("provider.enable", { defaultValue: "启用" })
+ : t("provider.setAsDefault", { defaultValue: "设为默认" });
+ return (
+
+ );
+ })()}