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 ( + + ); + })()}