diff --git a/src/renderer/src/assets/images/apps/doubao.png b/src/renderer/src/assets/images/apps/doubao.png
new file mode 100644
index 00000000..11fb4c6c
Binary files /dev/null and b/src/renderer/src/assets/images/apps/doubao.png differ
diff --git a/src/renderer/src/assets/images/apps/gemini.png b/src/renderer/src/assets/images/apps/gemini.png
new file mode 100644
index 00000000..63c42078
Binary files /dev/null and b/src/renderer/src/assets/images/apps/gemini.png differ
diff --git a/src/renderer/src/assets/images/apps/wanzhi.jpg b/src/renderer/src/assets/images/apps/wanzhi.jpg
new file mode 100644
index 00000000..f496b5d2
Binary files /dev/null and b/src/renderer/src/assets/images/apps/wanzhi.jpg differ
diff --git a/src/renderer/src/assets/images/providers/aihubmix.jpg b/src/renderer/src/assets/images/providers/aihubmix.jpg
index 65dbbd5a..ba96e631 100644
Binary files a/src/renderer/src/assets/images/providers/aihubmix.jpg and b/src/renderer/src/assets/images/providers/aihubmix.jpg differ
diff --git a/src/renderer/src/assets/images/providers/anthropic.jpeg b/src/renderer/src/assets/images/providers/anthropic.jpeg
deleted file mode 100644
index 6cb2e6ab..00000000
Binary files a/src/renderer/src/assets/images/providers/anthropic.jpeg and /dev/null differ
diff --git a/src/renderer/src/assets/images/providers/anthropic.png b/src/renderer/src/assets/images/providers/anthropic.png
new file mode 100644
index 00000000..22ab2b24
Binary files /dev/null and b/src/renderer/src/assets/images/providers/anthropic.png differ
diff --git a/src/renderer/src/assets/images/providers/bytedance.png b/src/renderer/src/assets/images/providers/bytedance.png
new file mode 100644
index 00000000..1537bcef
Binary files /dev/null and b/src/renderer/src/assets/images/providers/bytedance.png differ
diff --git a/src/renderer/src/assets/images/providers/dashscope.png b/src/renderer/src/assets/images/providers/dashscope.png
index bf55dfac..912be730 100644
Binary files a/src/renderer/src/assets/images/providers/dashscope.png and b/src/renderer/src/assets/images/providers/dashscope.png differ
diff --git a/src/renderer/src/assets/images/providers/doubao.png b/src/renderer/src/assets/images/providers/doubao.png
index 11fb4c6c..d673efd8 100644
Binary files a/src/renderer/src/assets/images/providers/doubao.png and b/src/renderer/src/assets/images/providers/doubao.png differ
diff --git a/src/renderer/src/assets/images/providers/github.png b/src/renderer/src/assets/images/providers/github.png
new file mode 100644
index 00000000..be017308
Binary files /dev/null and b/src/renderer/src/assets/images/providers/github.png differ
diff --git a/src/renderer/src/assets/images/providers/github.svg b/src/renderer/src/assets/images/providers/github.svg
deleted file mode 100644
index bf1081a0..00000000
--- a/src/renderer/src/assets/images/providers/github.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/src/renderer/src/assets/images/providers/google.png b/src/renderer/src/assets/images/providers/google.png
new file mode 100644
index 00000000..9613e23a
Binary files /dev/null and b/src/renderer/src/assets/images/providers/google.png differ
diff --git a/src/renderer/src/assets/images/providers/moonshot.png b/src/renderer/src/assets/images/providers/moonshot.png
index de4aaba8..c77e0572 100644
Binary files a/src/renderer/src/assets/images/providers/moonshot.png and b/src/renderer/src/assets/images/providers/moonshot.png differ
diff --git a/src/renderer/src/assets/images/providers/ocoolai.png b/src/renderer/src/assets/images/providers/ocoolai.png
new file mode 100644
index 00000000..188e2a1d
Binary files /dev/null and b/src/renderer/src/assets/images/providers/ocoolai.png differ
diff --git a/src/renderer/src/assets/images/providers/openrouter.png b/src/renderer/src/assets/images/providers/openrouter.png
index 7f2c18d1..30655eb2 100644
Binary files a/src/renderer/src/assets/images/providers/openrouter.png and b/src/renderer/src/assets/images/providers/openrouter.png differ
diff --git a/src/renderer/src/assets/images/providers/perplexity.png b/src/renderer/src/assets/images/providers/perplexity.png
new file mode 100644
index 00000000..91f0b30f
Binary files /dev/null and b/src/renderer/src/assets/images/providers/perplexity.png differ
diff --git a/src/renderer/src/assets/images/providers/silicon.png b/src/renderer/src/assets/images/providers/silicon.png
index d54921c6..138f9030 100644
Binary files a/src/renderer/src/assets/images/providers/silicon.png and b/src/renderer/src/assets/images/providers/silicon.png differ
diff --git a/src/renderer/src/assets/images/providers/step.png b/src/renderer/src/assets/images/providers/step.png
new file mode 100644
index 00000000..a69d9730
Binary files /dev/null and b/src/renderer/src/assets/images/providers/step.png differ
diff --git a/src/renderer/src/assets/images/providers/stepfun.png b/src/renderer/src/assets/images/providers/stepfun.png
deleted file mode 100644
index 1cd91607..00000000
Binary files a/src/renderer/src/assets/images/providers/stepfun.png and /dev/null differ
diff --git a/src/renderer/src/assets/images/providers/together.png b/src/renderer/src/assets/images/providers/together.png
new file mode 100644
index 00000000..a790cbd5
Binary files /dev/null and b/src/renderer/src/assets/images/providers/together.png differ
diff --git a/src/renderer/src/assets/images/providers/yi.png b/src/renderer/src/assets/images/providers/yi.png
deleted file mode 100644
index 3700850b..00000000
Binary files a/src/renderer/src/assets/images/providers/yi.png and /dev/null differ
diff --git a/src/renderer/src/assets/images/providers/zero-one.png b/src/renderer/src/assets/images/providers/zero-one.png
new file mode 100644
index 00000000..0badfbd9
Binary files /dev/null and b/src/renderer/src/assets/images/providers/zero-one.png differ
diff --git a/src/renderer/src/components/app/Sidebar.tsx b/src/renderer/src/components/app/Sidebar.tsx
index 588011b3..c565eb51 100644
--- a/src/renderer/src/components/app/Sidebar.tsx
+++ b/src/renderer/src/components/app/Sidebar.tsx
@@ -99,11 +99,11 @@ const Container = styled.div`
`
const AvatarImg = styled(Avatar)`
- width: 32px;
- height: 32px;
+ width: 31px;
+ height: 31px;
background-color: var(--color-background-soft);
margin-bottom: ${isMac ? '12px' : '12px'};
- margin-top: ${isMac ? '-5px' : '2px'};
+ margin-top: ${isMac ? '0px' : '2px'};
border: none;
cursor: pointer;
`
diff --git a/src/renderer/src/config/minapp.ts b/src/renderer/src/config/minapp.ts
deleted file mode 100644
index b344a264..00000000
--- a/src/renderer/src/config/minapp.ts
+++ /dev/null
@@ -1,103 +0,0 @@
-import AiAssistantAppLogo from '@renderer/assets/images/apps/360-ai.png'
-import AiSearchAppLogo from '@renderer/assets/images/apps/ai-search.png'
-import BaiduAiAppLogo from '@renderer/assets/images/apps/baidu-ai.png'
-import DevvAppLogo from '@renderer/assets/images/apps/devv.png'
-import MetasoAppLogo from '@renderer/assets/images/apps/metaso.webp'
-import PerplexityAppLogo from '@renderer/assets/images/apps/perplexity.webp'
-import PoeAppLogo from '@renderer/assets/images/apps/poe.webp'
-import SensetimeAppLogo from '@renderer/assets/images/apps/sensetime.png'
-import SparkDeskAppLogo from '@renderer/assets/images/apps/sparkdesk.png'
-import TiangongAiLogo from '@renderer/assets/images/apps/tiangong.png'
-import TencentYuanbaoAppLogo from '@renderer/assets/images/apps/yuanbao.png'
-import ZhihuAppLogo from '@renderer/assets/images/apps/zhihu.png'
-import MinApp from '@renderer/components/MinApp'
-import { PROVIDER_CONFIG } from '@renderer/config/provider'
-import { MinAppType } from '@renderer/types'
-
-const _apps: MinAppType[] = [
- {
- id: '360-ai-so',
- name: '360AI搜索',
- logo: AiSearchAppLogo,
- url: 'https://so.360.com/'
- },
- {
- id: '360-ai-bot',
- name: 'AI 助手',
- logo: AiAssistantAppLogo,
- url: 'https://bot.360.com/'
- },
- {
- id: 'baidu-ai-chat',
- name: '文心一言',
- logo: BaiduAiAppLogo,
- url: 'https://yiyan.baidu.com/'
- },
- {
- id: 'tencent-yuanbao',
- name: '腾讯元宝',
- logo: TencentYuanbaoAppLogo,
- url: 'https://yuanbao.tencent.com/chat'
- },
- {
- id: 'sensetime-chat',
- name: '商量',
- logo: SensetimeAppLogo,
- url: 'https://chat.sensetime.com/wb/chat'
- },
- {
- id: 'spark-desk',
- name: 'SparkDesk',
- logo: SparkDeskAppLogo,
- url: 'https://xinghuo.xfyun.cn/desk'
- },
- {
- id: 'metaso',
- name: '秘塔AI搜索',
- logo: MetasoAppLogo,
- url: 'https://metaso.cn/'
- },
- {
- id: 'poe',
- name: 'Poe',
- logo: PoeAppLogo,
- url: 'https://poe.com'
- },
- {
- id: 'perplexity',
- name: 'perplexity',
- logo: PerplexityAppLogo,
- url: 'https://www.perplexity.ai/'
- },
- {
- id: 'devv',
- name: 'DEVV_',
- logo: DevvAppLogo,
- url: 'https://devv.ai/'
- },
- {
- id: 'tiangong-ai',
- name: '天工AI',
- logo: TiangongAiLogo,
- url: 'https://www.tiangong.cn/'
- },
- {
- id: 'zhihu-zhiada',
- name: '知乎直答',
- logo: ZhihuAppLogo,
- url: 'https://zhida.zhihu.com/'
- }
-]
-
-export function getAllMinApps() {
- const list: MinAppType[] = (Object.entries(PROVIDER_CONFIG) as any[])
- .filter(([, config]) => config.app)
- .map(([key, config]) => ({ id: key, ...config.app }))
- .concat(_apps)
- return list
-}
-
-export function startMinAppById(id: string) {
- const app = getAllMinApps().find((app) => app?.id === id)
- app && MinApp.start(app)
-}
diff --git a/src/renderer/src/config/minapps.ts b/src/renderer/src/config/minapps.ts
new file mode 100644
index 00000000..784bb309
--- /dev/null
+++ b/src/renderer/src/config/minapps.ts
@@ -0,0 +1,204 @@
+import AiAssistantAppLogo from '@renderer/assets/images/apps/360-ai.png'
+import AiSearchAppLogo from '@renderer/assets/images/apps/ai-search.png'
+import BaiduAiAppLogo from '@renderer/assets/images/apps/baidu-ai.png'
+import BaicuanAppLogo from '@renderer/assets/images/apps/baixiaoying.webp'
+import DevvAppLogo from '@renderer/assets/images/apps/devv.png'
+import DoubaoAppLogo from '@renderer/assets/images/apps/doubao.png'
+import GeminiAppLogo from '@renderer/assets/images/apps/gemini.png'
+import KimiAppLogo from '@renderer/assets/images/apps/kimi.jpg'
+import MetasoAppLogo from '@renderer/assets/images/apps/metaso.webp'
+import PerplexityAppLogo from '@renderer/assets/images/apps/perplexity.webp'
+import PoeAppLogo from '@renderer/assets/images/apps/poe.webp'
+import SensetimeAppLogo from '@renderer/assets/images/apps/sensetime.png'
+import SparkDeskAppLogo from '@renderer/assets/images/apps/sparkdesk.png'
+import TiangongAiLogo from '@renderer/assets/images/apps/tiangong.png'
+import WanZhiAppLogo from '@renderer/assets/images/apps/wanzhi.jpg'
+import TencentYuanbaoAppLogo from '@renderer/assets/images/apps/yuanbao.png'
+import YuewenAppLogo from '@renderer/assets/images/apps/yuewen.png'
+import ZhihuAppLogo from '@renderer/assets/images/apps/zhihu.png'
+import ClaudeAppLogo from '@renderer/assets/images/models/claude.png'
+import HailuoModelLogo from '@renderer/assets/images/models/hailuo.png'
+import QwenModelLogo from '@renderer/assets/images/models/qwen.png'
+import DeepSeekProviderLogo from '@renderer/assets/images/providers/deepseek.png'
+import GroqProviderLogo from '@renderer/assets/images/providers/groq.png'
+import OpenAiProviderLogo from '@renderer/assets/images/providers/openai.png'
+import SiliconFlowProviderLogo from '@renderer/assets/images/providers/silicon.png'
+import ZhipuProviderLogo from '@renderer/assets/images/providers/zhipu.png'
+import MinApp from '@renderer/components/MinApp'
+import { MinAppType } from '@renderer/types'
+
+const _apps: MinAppType[] = [
+ {
+ id: 'openai',
+ name: 'ChatGPT',
+ url: 'https://chatgpt.com/',
+ logo: OpenAiProviderLogo,
+ bodered: true
+ },
+ {
+ id: 'gemini',
+ name: 'Gemini',
+ url: 'https://gemini.google.com/',
+ logo: GeminiAppLogo
+ },
+ {
+ id: 'silicon',
+ name: 'SiliconFlow',
+ url: 'https://cloud.siliconflow.cn/playground/chat',
+ logo: SiliconFlowProviderLogo
+ },
+ {
+ id: 'deepseek',
+ name: 'DeepSeek',
+ url: 'https://chat.deepseek.com/',
+ logo: DeepSeekProviderLogo
+ },
+ {
+ id: 'yi',
+ name: '万知',
+ url: 'https://www.wanzhi.com/',
+ logo: WanZhiAppLogo,
+ bodered: true
+ },
+ {
+ id: 'zhipu',
+ name: '智谱',
+ url: 'https://chatglm.cn/main/alltoolsdetail',
+ logo: ZhipuProviderLogo
+ },
+ {
+ id: 'moonshot',
+ name: 'Kimi',
+ url: 'https://kimi.moonshot.cn/',
+ logo: KimiAppLogo
+ },
+ {
+ id: 'baichuan',
+ name: '百小应',
+ url: 'https://ying.baichuan-ai.com/chat',
+ logo: BaicuanAppLogo
+ },
+ {
+ id: 'dashscope',
+ name: '通义千问',
+ url: 'https://tongyi.aliyun.com/qianwen/',
+ logo: QwenModelLogo
+ },
+ {
+ id: 'stepfun',
+ name: '跃问',
+ url: 'https://yuewen.cn/chats/new',
+ logo: YuewenAppLogo,
+ bodered: true
+ },
+ {
+ id: 'doubao',
+ name: '豆包',
+ url: 'https://www.doubao.com/chat/',
+ logo: DoubaoAppLogo
+ },
+ {
+ id: 'minimax',
+ name: '海螺',
+ url: 'https://hailuoai.com/',
+ logo: HailuoModelLogo
+ },
+ {
+ id: 'groq',
+ name: 'Groq',
+ url: 'https://chat.groq.com/',
+ logo: GroqProviderLogo
+ },
+ {
+ id: 'anthropic',
+ name: 'Claude',
+ url: 'https://claude.ai/',
+ logo: ClaudeAppLogo
+ },
+ {
+ id: '360-ai-so',
+ name: '360AI搜索',
+ logo: AiSearchAppLogo,
+ url: 'https://so.360.com/'
+ },
+ {
+ id: '360-ai-bot',
+ name: 'AI 助手',
+ logo: AiAssistantAppLogo,
+ url: 'https://bot.360.com/',
+ bodered: true
+ },
+ {
+ id: 'baidu-ai-chat',
+ name: '文心一言',
+ logo: BaiduAiAppLogo,
+ url: 'https://yiyan.baidu.com/'
+ },
+ {
+ id: 'tencent-yuanbao',
+ name: '腾讯元宝',
+ logo: TencentYuanbaoAppLogo,
+ url: 'https://yuanbao.tencent.com/chat',
+ bodered: true
+ },
+ {
+ id: 'sensetime-chat',
+ name: '商量',
+ logo: SensetimeAppLogo,
+ url: 'https://chat.sensetime.com/wb/chat',
+ bodered: true
+ },
+ {
+ id: 'spark-desk',
+ name: 'SparkDesk',
+ logo: SparkDeskAppLogo,
+ url: 'https://xinghuo.xfyun.cn/desk'
+ },
+ {
+ id: 'metaso',
+ name: '秘塔AI搜索',
+ logo: MetasoAppLogo,
+ url: 'https://metaso.cn/'
+ },
+ {
+ id: 'poe',
+ name: 'Poe',
+ logo: PoeAppLogo,
+ url: 'https://poe.com'
+ },
+ {
+ id: 'perplexity',
+ name: 'perplexity',
+ logo: PerplexityAppLogo,
+ url: 'https://www.perplexity.ai/'
+ },
+ {
+ id: 'devv',
+ name: 'DEVV_',
+ logo: DevvAppLogo,
+ url: 'https://devv.ai/'
+ },
+ {
+ id: 'tiangong-ai',
+ name: '天工AI',
+ logo: TiangongAiLogo,
+ url: 'https://www.tiangong.cn/',
+ bodered: true
+ },
+ {
+ id: 'zhihu-zhiada',
+ name: '知乎直答',
+ logo: ZhihuAppLogo,
+ url: 'https://zhida.zhihu.com/',
+ bodered: true
+ }
+]
+
+export function getAllMinApps() {
+ return _apps as MinAppType[]
+}
+
+export function startMinAppById(id: string) {
+ const app = getAllMinApps().find((app) => app?.id === id)
+ app && MinApp.start(app)
+}
diff --git a/src/renderer/src/config/provider.ts b/src/renderer/src/config/providers.ts
similarity index 76%
rename from src/renderer/src/config/provider.ts
rename to src/renderer/src/config/providers.ts
index 77997b68..c471cfcc 100644
--- a/src/renderer/src/config/provider.ts
+++ b/src/renderer/src/config/providers.ts
@@ -1,16 +1,11 @@
-import BaicuanAppLogo from '@renderer/assets/images/apps/baixiaoying.webp'
-import KimiAppLogo from '@renderer/assets/images/apps/kimi.jpg'
-import YuewenAppLogo from '@renderer/assets/images/apps/yuewen.png'
-import HailuoModelLogo from '@renderer/assets/images/models/hailuo.png'
-import QwenModelLogo from '@renderer/assets/images/models/qwen.png'
import AiHubMixProviderLogo from '@renderer/assets/images/providers/aihubmix.jpg'
-import AnthropicProviderLogo from '@renderer/assets/images/providers/anthropic.jpeg'
+import AnthropicProviderLogo from '@renderer/assets/images/providers/anthropic.png'
import BaichuanProviderLogo from '@renderer/assets/images/providers/baichuan.png'
+import BytedanceProviderLogo from '@renderer/assets/images/providers/bytedance.png'
import DashScopeProviderLogo from '@renderer/assets/images/providers/dashscope.png'
import DeepSeekProviderLogo from '@renderer/assets/images/providers/deepseek.png'
-import DoubaoProviderLogo from '@renderer/assets/images/providers/doubao.png'
-import GeminiProviderLogo from '@renderer/assets/images/providers/gemini.png'
-import GithubProviderLogo from '@renderer/assets/images/providers/github.svg'
+import GithubProviderLogo from '@renderer/assets/images/providers/github.png'
+import GoogleProviderLogo from '@renderer/assets/images/providers/google.png'
import GraphRagProviderLogo from '@renderer/assets/images/providers/graph-rag.png'
import GroqProviderLogo from '@renderer/assets/images/providers/groq.png'
import MinimaxProviderLogo from '@renderer/assets/images/providers/minimax.png'
@@ -20,8 +15,8 @@ import OllamaProviderLogo from '@renderer/assets/images/providers/ollama.png'
import OpenAiProviderLogo from '@renderer/assets/images/providers/openai.png'
import OpenRouterProviderLogo from '@renderer/assets/images/providers/openrouter.png'
import SiliconFlowProviderLogo from '@renderer/assets/images/providers/silicon.png'
-import StepFunProviderLogo from '@renderer/assets/images/providers/stepfun.png'
-import YiProviderLogo from '@renderer/assets/images/providers/yi.png'
+import StepProviderLogo from '@renderer/assets/images/providers/step.png'
+import ZeroOneProviderLogo from '@renderer/assets/images/providers/zero-one.png'
import ZhipuProviderLogo from '@renderer/assets/images/providers/zhipu.png'
export function getProviderLogo(providerId: string) {
@@ -33,7 +28,7 @@ export function getProviderLogo(providerId: string) {
case 'deepseek':
return DeepSeekProviderLogo
case 'yi':
- return YiProviderLogo
+ return ZeroOneProviderLogo
case 'groq':
return GroqProviderLogo
case 'zhipu':
@@ -53,11 +48,11 @@ export function getProviderLogo(providerId: string) {
case 'aihubmix':
return AiHubMixProviderLogo
case 'gemini':
- return GeminiProviderLogo
+ return GoogleProviderLogo
case 'stepfun':
- return StepFunProviderLogo
+ return StepProviderLogo
case 'doubao':
- return DoubaoProviderLogo
+ return BytedanceProviderLogo
case 'graphrag-kylin-mountain':
return GraphRagProviderLogo
case 'minimax':
@@ -81,12 +76,6 @@ export const PROVIDER_CONFIG = {
apiKey: 'https://platform.openai.com/api-keys',
docs: 'https://platform.openai.com/docs',
models: 'https://platform.openai.com/docs/models'
- },
- app: {
- id: 'openai',
- name: 'ChatGPT',
- url: 'https://chatgpt.com/',
- logo: OpenAiProviderLogo
}
},
gemini: {
@@ -98,12 +87,6 @@ export const PROVIDER_CONFIG = {
apiKey: 'https://aistudio.google.com/app/apikey',
docs: 'https://ai.google.dev/gemini-api/docs',
models: 'https://ai.google.dev/gemini-api/docs/models/gemini'
- },
- app: {
- id: 'gemini',
- name: 'Gemini',
- url: 'https://gemini.google.com/',
- logo: GeminiProviderLogo
}
},
silicon: {
@@ -115,12 +98,6 @@ export const PROVIDER_CONFIG = {
apiKey: 'https://cloud.siliconflow.cn/account/ak?referrer=clxty1xuy0014lvqwh5z50i88',
docs: 'https://docs.siliconflow.cn/',
models: 'https://docs.siliconflow.cn/docs/model-names'
- },
- app: {
- id: 'silicon',
- name: 'SiliconFlow',
- url: 'https://cloud.siliconflow.cn/playground/chat',
- logo: SiliconFlowProviderLogo
}
},
deepseek: {
@@ -132,12 +109,6 @@ export const PROVIDER_CONFIG = {
apiKey: 'https://platform.deepseek.com/api_keys',
docs: 'https://platform.deepseek.com/api-docs/',
models: 'https://platform.deepseek.com/api-docs/'
- },
- app: {
- id: 'deepseek',
- name: 'DeepSeek',
- url: 'https://chat.deepseek.com/',
- logo: DeepSeekProviderLogo
}
},
ocoolai: {
@@ -171,12 +142,6 @@ export const PROVIDER_CONFIG = {
apiKey: 'https://platform.lingyiwanwu.com/apikeys',
docs: 'https://platform.lingyiwanwu.com/docs',
models: 'https://platform.lingyiwanwu.com/docs#%E6%A8%A1%E5%9E%8B'
- },
- app: {
- id: 'yi',
- name: 'Yi',
- url: 'https://www.wanzhi.com/',
- logo: YiProviderLogo
}
},
zhipu: {
@@ -188,12 +153,6 @@ export const PROVIDER_CONFIG = {
apiKey: 'https://open.bigmodel.cn/usercenter/apikeys',
docs: 'https://open.bigmodel.cn/dev/howuse/introduction',
models: 'https://open.bigmodel.cn/modelcenter/square'
- },
- app: {
- id: 'zhipu',
- name: '智谱',
- url: 'https://chatglm.cn/main/alltoolsdetail',
- logo: ZhipuProviderLogo
}
},
moonshot: {
@@ -205,12 +164,6 @@ export const PROVIDER_CONFIG = {
apiKey: 'https://platform.moonshot.cn/console/api-keys',
docs: 'https://platform.moonshot.cn/docs/',
models: 'https://platform.moonshot.cn/docs/intro#%E6%A8%A1%E5%9E%8B%E5%88%97%E8%A1%A8'
- },
- app: {
- id: 'moonshot',
- name: 'Kimi',
- url: 'https://kimi.moonshot.cn/',
- logo: KimiAppLogo
}
},
baichuan: {
@@ -222,12 +175,6 @@ export const PROVIDER_CONFIG = {
apiKey: 'https://platform.baichuan-ai.com/console/apikey',
docs: 'https://platform.baichuan-ai.com/docs',
models: 'https://platform.baichuan-ai.com/price'
- },
- app: {
- id: 'baichuan',
- name: '百小应',
- url: 'https://ying.baichuan-ai.com/chat',
- logo: BaicuanAppLogo
}
},
dashscope: {
@@ -239,12 +186,6 @@ export const PROVIDER_CONFIG = {
apiKey: 'https://help.aliyun.com/zh/dashscope/developer-reference/acquisition-and-configuration-of-api-key',
docs: 'https://help.aliyun.com/zh/dashscope/',
models: 'https://dashscope.console.aliyun.com/model'
- },
- app: {
- id: 'dashscope',
- name: '通义千问',
- url: 'https://tongyi.aliyun.com/qianwen/',
- logo: QwenModelLogo
}
},
stepfun: {
@@ -256,12 +197,6 @@ export const PROVIDER_CONFIG = {
apiKey: 'https://platform.stepfun.com/interface-key',
docs: 'https://platform.stepfun.com/docs/overview/concept',
models: 'https://platform.stepfun.com/docs/llm/text'
- },
- app: {
- id: 'stepfun',
- name: '跃问',
- url: 'https://yuewen.cn/chats/new',
- logo: YuewenAppLogo
}
},
doubao: {
@@ -273,12 +208,6 @@ export const PROVIDER_CONFIG = {
apiKey: 'https://console.volcengine.com/ark/region:ark+cn-beijing/apiKey',
docs: 'https://www.volcengine.com/docs/82379/1182403',
models: 'https://console.volcengine.com/ark/region:ark+cn-beijing/endpoint'
- },
- app: {
- id: 'doubao',
- name: '豆包',
- url: 'https://www.doubao.com/chat/',
- logo: DoubaoProviderLogo
}
},
minimax: {
@@ -290,12 +219,6 @@ export const PROVIDER_CONFIG = {
apiKey: 'https://platform.minimaxi.com/user-center/basic-information/interface-key',
docs: 'https://platform.minimaxi.com/document/Announcement',
models: 'https://platform.minimaxi.com/document/Models'
- },
- app: {
- id: 'minimax',
- name: '海螺',
- url: 'https://hailuoai.com/',
- logo: HailuoModelLogo
}
},
'graphrag-kylin-mountain': {
@@ -323,12 +246,6 @@ export const PROVIDER_CONFIG = {
apiKey: 'https://console.groq.com/keys',
docs: 'https://console.groq.com/docs/quickstart',
models: 'https://console.groq.com/docs/models'
- },
- app: {
- id: 'groq',
- name: 'Groq',
- url: 'https://chat.groq.com/',
- logo: GroqProviderLogo
}
},
ollama: {
@@ -350,12 +267,6 @@ export const PROVIDER_CONFIG = {
apiKey: 'https://console.anthropic.com/settings/keys',
docs: 'https://docs.anthropic.com/en/docs',
models: 'https://docs.anthropic.com/en/docs/about-claude/models'
- },
- app: {
- id: 'anthropic',
- name: 'Claude',
- url: 'https://claude.ai/',
- logo: AnthropicProviderLogo
}
},
aihubmix: {
diff --git a/src/renderer/src/pages/apps/App.tsx b/src/renderer/src/pages/apps/App.tsx
index 0ef3292a..02aa0379 100644
--- a/src/renderer/src/pages/apps/App.tsx
+++ b/src/renderer/src/pages/apps/App.tsx
@@ -1,5 +1,4 @@
import MinApp from '@renderer/components/MinApp'
-import { useTheme } from '@renderer/context/ThemeProvider'
import { MinAppType } from '@renderer/types'
import { FC } from 'react'
import styled from 'styled-components'
@@ -9,15 +8,13 @@ interface Props {
}
const App: FC = ({ app }) => {
- const { theme } = useTheme()
-
const onClick = () => {
MinApp.start(app)
}
return (
-
+
{app.name}
)
diff --git a/src/renderer/src/pages/apps/AppsPage.tsx b/src/renderer/src/pages/apps/AppsPage.tsx
index d06b088f..0fd42985 100644
--- a/src/renderer/src/pages/apps/AppsPage.tsx
+++ b/src/renderer/src/pages/apps/AppsPage.tsx
@@ -1,7 +1,7 @@
import { SearchOutlined } from '@ant-design/icons'
import { Navbar, NavbarCenter } from '@renderer/components/app/Navbar'
import { Center } from '@renderer/components/Layout'
-import { getAllMinApps } from '@renderer/config/minapp'
+import { getAllMinApps } from '@renderer/config/minapps'
import { Empty, Input } from 'antd'
import { isEmpty } from 'lodash'
import { FC, useMemo, useState } from 'react'
diff --git a/src/renderer/src/pages/home/Messages/Message.tsx b/src/renderer/src/pages/home/Messages/Message.tsx
index c002ab28..dcf47d87 100644
--- a/src/renderer/src/pages/home/Messages/Message.tsx
+++ b/src/renderer/src/pages/home/Messages/Message.tsx
@@ -2,7 +2,7 @@ import { SyncOutlined } from '@ant-design/icons'
import UserPopup from '@renderer/components/Popups/UserPopup'
import { FONT_FAMILY } from '@renderer/config/constant'
import { APP_NAME, AppLogo, isLocalAi } from '@renderer/config/env'
-import { startMinAppById } from '@renderer/config/minapp'
+import { startMinAppById } from '@renderer/config/minapps'
import { getModelLogo } from '@renderer/config/models'
import { useTheme } from '@renderer/context/ThemeProvider'
import { useAssistant } from '@renderer/hooks/useAssistant'
@@ -56,6 +56,7 @@ const MessageItem: FC = ({ message, index, onDeleteMessage }) => {
const avatarSource = useMemo(() => {
if (isLocalAi) return AppLogo
return message.modelId ? getModelLogo(message.modelId) : undefined
+ // eslint-disable-next-line react-hooks/exhaustive-deps
}, [message.modelId, theme])
const avatarName = useMemo(() => firstLetter(assistant?.name).toUpperCase(), [assistant?.name])
diff --git a/src/renderer/src/pages/settings/ProviderSettings/ProviderSetting.tsx b/src/renderer/src/pages/settings/ProviderSettings/ProviderSetting.tsx
index dd8e236c..14d7123f 100644
--- a/src/renderer/src/pages/settings/ProviderSettings/ProviderSetting.tsx
+++ b/src/renderer/src/pages/settings/ProviderSettings/ProviderSetting.tsx
@@ -8,7 +8,7 @@ import {
} from '@ant-design/icons'
import VisionIcon from '@renderer/components/Icons/VisionIcon'
import { getModelLogo, isVisionModel } from '@renderer/config/models'
-import { PROVIDER_CONFIG } from '@renderer/config/provider'
+import { PROVIDER_CONFIG } from '@renderer/config/providers'
import { useTheme } from '@renderer/context/ThemeProvider'
import { useProvider } from '@renderer/hooks/useProvider'
import { checkApi } from '@renderer/services/api'
diff --git a/src/renderer/src/pages/settings/ProviderSettings/index.tsx b/src/renderer/src/pages/settings/ProviderSettings/index.tsx
index 982efca2..b2c3e4a0 100644
--- a/src/renderer/src/pages/settings/ProviderSettings/index.tsx
+++ b/src/renderer/src/pages/settings/ProviderSettings/index.tsx
@@ -1,6 +1,6 @@
import { DeleteOutlined, EditOutlined, PlusOutlined } from '@ant-design/icons'
import { DragDropContext, Draggable, Droppable, DropResult } from '@hello-pangea/dnd'
-import { getProviderLogo } from '@renderer/config/provider'
+import { getProviderLogo } from '@renderer/config/providers'
import { useAllProviders, useProviders } from '@renderer/hooks/useProvider'
import { Provider } from '@renderer/types'
import { droppableReorder, generateColorFromChar, getFirstCharacter, uuid } from '@renderer/utils'
@@ -106,15 +106,15 @@ const ProvidersList: FC = () => {
className={provider.id === selectedProvider?.id ? 'active' : ''}
onClick={() => setSelectedProvider(provider)}>
{provider.isSystem && (
-
+
)}
{!provider.isSystem && (
-
{getFirstCharacter(provider.name)}
-
+
)}
{provider.isSystem ? t(`provider.${provider.id}`) : provider.name}
@@ -190,6 +190,10 @@ const ProviderListItem = styled.div`
}
`
+const ProviderLogo = styled(Avatar)`
+ border: 0.5px solid var(--color-border);
+`
+
const ProviderItemName = styled.div`
margin-left: 10px;
overflow: hidden;
diff --git a/src/renderer/src/types/index.ts b/src/renderer/src/types/index.ts
index d8bafc49..d6cf4e7a 100644
--- a/src/renderer/src/types/index.ts
+++ b/src/renderer/src/types/index.ts
@@ -85,6 +85,7 @@ export type MinAppType = {
name: string
logo: string
url: string
+ bodered?: boolean
}
export interface FileType {