From 52726d42e9727d13da539ce42d3c09f1da3cc85e Mon Sep 17 00:00:00 2001 From: Hk-Gosuto Date: Sun, 3 Nov 2024 18:55:34 +0800 Subject: [PATCH] feat: support close model provider display --- app/api/config/route.ts | 1 + app/components/chat.tsx | 7 ++++++- app/config/server.ts | 2 ++ app/store/access.ts | 8 ++++++++ 4 files changed, 17 insertions(+), 1 deletion(-) diff --git a/app/api/config/route.ts b/app/api/config/route.ts index f21388595..109345f47 100644 --- a/app/api/config/route.ts +++ b/app/api/config/route.ts @@ -17,6 +17,7 @@ const DANGER_CONFIG = { defaultModel: serverConfig.defaultModel, edgeTTSVoiceName: serverConfig.edgeTTSVoiceName, isUseOpenAIEndpointForAllModels: serverConfig.isUseOpenAIEndpointForAllModels, + disableModelProviderDisplay: serverConfig.disableModelProviderDisplay, }; declare global { diff --git a/app/components/chat.tsx b/app/components/chat.tsx index f816aef29..ba27b14d1 100644 --- a/app/components/chat.tsx +++ b/app/components/chat.tsx @@ -570,6 +570,11 @@ export function ChatActions(props: { // eslint-disable-next-line react-hooks/exhaustive-deps [], ); + const isDisableModelProviderDisplay = useMemo( + () => accessStore.isDisableModelProviderDisplay(), + // eslint-disable-next-line react-hooks/exhaustive-deps + [], + ); useEffect(() => { const show = isVisionModel(currentModel); @@ -690,7 +695,7 @@ export function ChatActions(props: { defaultSelectedValue={`${currentModel}@${currentProviderName}`} items={models.map((m) => ({ title: `${m.displayName}${ - m?.provider?.providerName + m?.provider?.providerName && !isDisableModelProviderDisplay ? "(" + m?.provider?.providerName + ")" : "" }`, diff --git a/app/config/server.ts b/app/config/server.ts index c628a928c..fa375bbac 100644 --- a/app/config/server.ts +++ b/app/config/server.ts @@ -231,5 +231,7 @@ export const getServerSideConfig = () => { edgeTTSVoiceName: process.env.EDGE_TTS_VOICE_NAME ?? "zh-CN-YunxiNeural", isUseOpenAIEndpointForAllModels: !!process.env.USE_OPENAI_ENDPOINT_FOR_ALL_MODELS, + + disableModelProviderDisplay: !!process.env.DISABLE_MODEL_PROVIDER_DISPLAY, }; }; diff --git a/app/store/access.ts b/app/store/access.ts index 49fb557ef..e7c72b3ca 100644 --- a/app/store/access.ts +++ b/app/store/access.ts @@ -94,6 +94,8 @@ const DEFAULT_ACCESS_STATE = { edgeTTSVoiceName: "zh-CN-YunxiNeural", isUseOpenAIEndpointForAllModels: false, + + disableModelProviderDisplay: false, }; export const useAccessStore = createPersistStore( @@ -106,6 +108,12 @@ export const useAccessStore = createPersistStore( return get().needCode; }, + isDisableModelProviderDisplay() { + this.fetch(); + + return get().disableModelProviderDisplay; + }, + useOpenAIEndpointForAllModels() { this.fetch();