diff --git a/src/renderer/src/assets/images/models/360.png b/src/renderer/src/assets/images/models/360.png new file mode 100644 index 0000000000..6c2bdcb0be Binary files /dev/null and b/src/renderer/src/assets/images/models/360.png differ diff --git a/src/renderer/src/assets/images/models/360_dark.png b/src/renderer/src/assets/images/models/360_dark.png new file mode 100644 index 0000000000..c98c7b5c8d Binary files /dev/null and b/src/renderer/src/assets/images/models/360_dark.png differ diff --git a/src/renderer/src/assets/images/models/aimass.png b/src/renderer/src/assets/images/models/aimass.png new file mode 100644 index 0000000000..0777668275 Binary files /dev/null and b/src/renderer/src/assets/images/models/aimass.png differ diff --git a/src/renderer/src/assets/images/models/aimass_dark.png b/src/renderer/src/assets/images/models/aimass_dark.png new file mode 100644 index 0000000000..f2abf518db Binary files /dev/null and b/src/renderer/src/assets/images/models/aimass_dark.png differ diff --git a/src/renderer/src/assets/images/models/baichuan.png b/src/renderer/src/assets/images/models/baichuan.png index cb6e03c357..676b1076f6 100644 Binary files a/src/renderer/src/assets/images/models/baichuan.png and b/src/renderer/src/assets/images/models/baichuan.png differ diff --git a/src/renderer/src/assets/images/models/baichuan_dark.png b/src/renderer/src/assets/images/models/baichuan_dark.png new file mode 100644 index 0000000000..3edb0f45e3 Binary files /dev/null and b/src/renderer/src/assets/images/models/baichuan_dark.png differ diff --git a/src/renderer/src/assets/images/models/chatglm.png b/src/renderer/src/assets/images/models/chatglm.png index e35930c6f4..6ef7f44519 100644 Binary files a/src/renderer/src/assets/images/models/chatglm.png and b/src/renderer/src/assets/images/models/chatglm.png differ diff --git a/src/renderer/src/assets/images/models/chatglm_dark.png b/src/renderer/src/assets/images/models/chatglm_dark.png new file mode 100644 index 0000000000..f989fe6024 Binary files /dev/null and b/src/renderer/src/assets/images/models/chatglm_dark.png differ diff --git a/src/renderer/src/assets/images/models/claude.png b/src/renderer/src/assets/images/models/claude.png index 535102b2a6..560598ed1f 100644 Binary files a/src/renderer/src/assets/images/models/claude.png and b/src/renderer/src/assets/images/models/claude.png differ diff --git a/src/renderer/src/assets/images/models/claude_dark.png b/src/renderer/src/assets/images/models/claude_dark.png new file mode 100644 index 0000000000..71fbdb6ba1 Binary files /dev/null and b/src/renderer/src/assets/images/models/claude_dark.png differ diff --git a/src/renderer/src/assets/images/models/codegeex.png b/src/renderer/src/assets/images/models/codegeex.png new file mode 100644 index 0000000000..633c5494c6 Binary files /dev/null and b/src/renderer/src/assets/images/models/codegeex.png differ diff --git a/src/renderer/src/assets/images/models/codegeex_dark.png b/src/renderer/src/assets/images/models/codegeex_dark.png new file mode 100644 index 0000000000..77f026db8e Binary files /dev/null and b/src/renderer/src/assets/images/models/codegeex_dark.png differ diff --git a/src/renderer/src/assets/images/models/cohere.png b/src/renderer/src/assets/images/models/cohere.png new file mode 100644 index 0000000000..e26f46d199 Binary files /dev/null and b/src/renderer/src/assets/images/models/cohere.png differ diff --git a/src/renderer/src/assets/images/models/cohere_dark.png b/src/renderer/src/assets/images/models/cohere_dark.png new file mode 100644 index 0000000000..7cb99d8a32 Binary files /dev/null and b/src/renderer/src/assets/images/models/cohere_dark.png differ diff --git a/src/renderer/src/assets/images/models/copilot.png b/src/renderer/src/assets/images/models/copilot.png new file mode 100644 index 0000000000..c8b5c556df Binary files /dev/null and b/src/renderer/src/assets/images/models/copilot.png differ diff --git a/src/renderer/src/assets/images/models/copilot_dark.png b/src/renderer/src/assets/images/models/copilot_dark.png new file mode 100644 index 0000000000..31a10187a8 Binary files /dev/null and b/src/renderer/src/assets/images/models/copilot_dark.png differ diff --git a/src/renderer/src/assets/images/models/dalle.png b/src/renderer/src/assets/images/models/dalle.png new file mode 100644 index 0000000000..5b141bccb6 Binary files /dev/null and b/src/renderer/src/assets/images/models/dalle.png differ diff --git a/src/renderer/src/assets/images/models/dalle_dark.png b/src/renderer/src/assets/images/models/dalle_dark.png new file mode 100644 index 0000000000..d4e89be789 Binary files /dev/null and b/src/renderer/src/assets/images/models/dalle_dark.png differ diff --git a/src/renderer/src/assets/images/models/dbrx.png b/src/renderer/src/assets/images/models/dbrx.png new file mode 100644 index 0000000000..a452c80dba Binary files /dev/null and b/src/renderer/src/assets/images/models/dbrx.png differ diff --git a/src/renderer/src/assets/images/models/dbrx_dark.png b/src/renderer/src/assets/images/models/dbrx_dark.png new file mode 100644 index 0000000000..0fd04c4eba Binary files /dev/null and b/src/renderer/src/assets/images/models/dbrx_dark.png differ diff --git a/src/renderer/src/assets/images/models/deepseek.png b/src/renderer/src/assets/images/models/deepseek.png index f9af429e33..04b181f2a8 100644 Binary files a/src/renderer/src/assets/images/models/deepseek.png and b/src/renderer/src/assets/images/models/deepseek.png differ diff --git a/src/renderer/src/assets/images/models/deepseek_dark.png b/src/renderer/src/assets/images/models/deepseek_dark.png new file mode 100644 index 0000000000..2a76e2ac20 Binary files /dev/null and b/src/renderer/src/assets/images/models/deepseek_dark.png differ diff --git a/src/renderer/src/assets/images/models/doubao.png b/src/renderer/src/assets/images/models/doubao.png index 3e48e7071e..d673efd8d8 100644 Binary files a/src/renderer/src/assets/images/models/doubao.png and b/src/renderer/src/assets/images/models/doubao.png differ diff --git a/src/renderer/src/assets/images/models/doubao_dark.png b/src/renderer/src/assets/images/models/doubao_dark.png new file mode 100644 index 0000000000..e0df3021d1 Binary files /dev/null and b/src/renderer/src/assets/images/models/doubao_dark.png differ diff --git a/src/renderer/src/assets/images/models/flashaudio.png b/src/renderer/src/assets/images/models/flashaudio.png new file mode 100644 index 0000000000..3f7c182b2b Binary files /dev/null and b/src/renderer/src/assets/images/models/flashaudio.png differ diff --git a/src/renderer/src/assets/images/models/flashaudio_dark.png b/src/renderer/src/assets/images/models/flashaudio_dark.png new file mode 100644 index 0000000000..92819c2e4e Binary files /dev/null and b/src/renderer/src/assets/images/models/flashaudio_dark.png differ diff --git a/src/renderer/src/assets/images/models/flux.png b/src/renderer/src/assets/images/models/flux.png new file mode 100644 index 0000000000..3a8102528f Binary files /dev/null and b/src/renderer/src/assets/images/models/flux.png differ diff --git a/src/renderer/src/assets/images/models/flux_dark.png b/src/renderer/src/assets/images/models/flux_dark.png new file mode 100644 index 0000000000..0ba498b993 Binary files /dev/null and b/src/renderer/src/assets/images/models/flux_dark.png differ diff --git a/src/renderer/src/assets/images/models/gemini.png b/src/renderer/src/assets/images/models/gemini.png index 05bce50733..63c4207896 100644 Binary files a/src/renderer/src/assets/images/models/gemini.png and b/src/renderer/src/assets/images/models/gemini.png differ diff --git a/src/renderer/src/assets/images/models/gemini_dark.png b/src/renderer/src/assets/images/models/gemini_dark.png new file mode 100644 index 0000000000..f3075796ee Binary files /dev/null and b/src/renderer/src/assets/images/models/gemini_dark.png differ diff --git a/src/renderer/src/assets/images/models/gemma.jpeg b/src/renderer/src/assets/images/models/gemma.jpeg deleted file mode 100644 index 3ccbd8ee13..0000000000 Binary files a/src/renderer/src/assets/images/models/gemma.jpeg and /dev/null differ diff --git a/src/renderer/src/assets/images/models/gemma.png b/src/renderer/src/assets/images/models/gemma.png new file mode 100644 index 0000000000..26a1d9017d Binary files /dev/null and b/src/renderer/src/assets/images/models/gemma.png differ diff --git a/src/renderer/src/assets/images/models/gemma_dark.png b/src/renderer/src/assets/images/models/gemma_dark.png new file mode 100644 index 0000000000..4a95c3abd0 Binary files /dev/null and b/src/renderer/src/assets/images/models/gemma_dark.png differ diff --git a/src/renderer/src/assets/images/models/gork.png b/src/renderer/src/assets/images/models/gork.png new file mode 100644 index 0000000000..eff094febf Binary files /dev/null and b/src/renderer/src/assets/images/models/gork.png differ diff --git a/src/renderer/src/assets/images/models/gork_dark.png b/src/renderer/src/assets/images/models/gork_dark.png new file mode 100644 index 0000000000..fd2165705a Binary files /dev/null and b/src/renderer/src/assets/images/models/gork_dark.png differ diff --git a/src/renderer/src/assets/images/models/gpt_3.5.png b/src/renderer/src/assets/images/models/gpt_3.5.png new file mode 100644 index 0000000000..153ff3f6d6 Binary files /dev/null and b/src/renderer/src/assets/images/models/gpt_3.5.png differ diff --git a/src/renderer/src/assets/images/models/gpt_4.png b/src/renderer/src/assets/images/models/gpt_4.png new file mode 100644 index 0000000000..07d445d936 Binary files /dev/null and b/src/renderer/src/assets/images/models/gpt_4.png differ diff --git a/src/renderer/src/assets/images/models/gpt_dark.png b/src/renderer/src/assets/images/models/gpt_dark.png new file mode 100644 index 0000000000..394ebc75b6 Binary files /dev/null and b/src/renderer/src/assets/images/models/gpt_dark.png differ diff --git a/src/renderer/src/assets/images/models/gpt_o1.png b/src/renderer/src/assets/images/models/gpt_o1.png new file mode 100644 index 0000000000..ba95f765d9 Binary files /dev/null and b/src/renderer/src/assets/images/models/gpt_o1.png differ diff --git a/src/renderer/src/assets/images/models/hailuo.png b/src/renderer/src/assets/images/models/hailuo.png index 43579d24d5..e89ca0f26b 100644 Binary files a/src/renderer/src/assets/images/models/hailuo.png and b/src/renderer/src/assets/images/models/hailuo.png differ diff --git a/src/renderer/src/assets/images/models/hailuo_dark.png b/src/renderer/src/assets/images/models/hailuo_dark.png new file mode 100644 index 0000000000..b783bb6c62 Binary files /dev/null and b/src/renderer/src/assets/images/models/hailuo_dark.png differ diff --git a/src/renderer/src/assets/images/models/hunyuan.png b/src/renderer/src/assets/images/models/hunyuan.png new file mode 100644 index 0000000000..6d8f259adf Binary files /dev/null and b/src/renderer/src/assets/images/models/hunyuan.png differ diff --git a/src/renderer/src/assets/images/models/hunyuan_dark.png b/src/renderer/src/assets/images/models/hunyuan_dark.png new file mode 100644 index 0000000000..8f936736a1 Binary files /dev/null and b/src/renderer/src/assets/images/models/hunyuan_dark.png differ diff --git a/src/renderer/src/assets/images/models/internlm.png b/src/renderer/src/assets/images/models/internlm.png new file mode 100644 index 0000000000..91f5b12649 Binary files /dev/null and b/src/renderer/src/assets/images/models/internlm.png differ diff --git a/src/renderer/src/assets/images/models/internlm_dark.png b/src/renderer/src/assets/images/models/internlm_dark.png new file mode 100644 index 0000000000..4403dc5d5d Binary files /dev/null and b/src/renderer/src/assets/images/models/internlm_dark.png differ diff --git a/src/renderer/src/assets/images/models/llama.jpeg b/src/renderer/src/assets/images/models/llama.jpeg deleted file mode 100644 index f15e5931e5..0000000000 Binary files a/src/renderer/src/assets/images/models/llama.jpeg and /dev/null differ diff --git a/src/renderer/src/assets/images/models/llama.png b/src/renderer/src/assets/images/models/llama.png new file mode 100644 index 0000000000..708cf36d2d Binary files /dev/null and b/src/renderer/src/assets/images/models/llama.png differ diff --git a/src/renderer/src/assets/images/models/llama_dark.png b/src/renderer/src/assets/images/models/llama_dark.png new file mode 100644 index 0000000000..15554b9356 Binary files /dev/null and b/src/renderer/src/assets/images/models/llama_dark.png differ diff --git a/src/renderer/src/assets/images/models/llava.png b/src/renderer/src/assets/images/models/llava.png new file mode 100644 index 0000000000..b4792b4b1a Binary files /dev/null and b/src/renderer/src/assets/images/models/llava.png differ diff --git a/src/renderer/src/assets/images/models/llava_dark.png b/src/renderer/src/assets/images/models/llava_dark.png new file mode 100644 index 0000000000..60ce3a492c Binary files /dev/null and b/src/renderer/src/assets/images/models/llava_dark.png differ diff --git a/src/renderer/src/assets/images/models/magic.png b/src/renderer/src/assets/images/models/magic.png new file mode 100644 index 0000000000..9a2c29602b Binary files /dev/null and b/src/renderer/src/assets/images/models/magic.png differ diff --git a/src/renderer/src/assets/images/models/magic_dark.png b/src/renderer/src/assets/images/models/magic_dark.png new file mode 100644 index 0000000000..7ce08e1cc9 Binary files /dev/null and b/src/renderer/src/assets/images/models/magic_dark.png differ diff --git a/src/renderer/src/assets/images/models/microsoft.png b/src/renderer/src/assets/images/models/microsoft.png index 43af01e98c..9650672825 100644 Binary files a/src/renderer/src/assets/images/models/microsoft.png and b/src/renderer/src/assets/images/models/microsoft.png differ diff --git a/src/renderer/src/assets/images/models/microsoft_dark.png b/src/renderer/src/assets/images/models/microsoft_dark.png new file mode 100644 index 0000000000..10a273c2b0 Binary files /dev/null and b/src/renderer/src/assets/images/models/microsoft_dark.png differ diff --git a/src/renderer/src/assets/images/models/midjourney.png b/src/renderer/src/assets/images/models/midjourney.png new file mode 100644 index 0000000000..aa2652bcb8 Binary files /dev/null and b/src/renderer/src/assets/images/models/midjourney.png differ diff --git a/src/renderer/src/assets/images/models/midjourney_dark.png b/src/renderer/src/assets/images/models/midjourney_dark.png new file mode 100644 index 0000000000..993c1cf9a0 Binary files /dev/null and b/src/renderer/src/assets/images/models/midjourney_dark.png differ diff --git a/src/renderer/src/assets/images/models/minimax.png b/src/renderer/src/assets/images/models/minimax.png new file mode 100644 index 0000000000..d779a8b0df Binary files /dev/null and b/src/renderer/src/assets/images/models/minimax.png differ diff --git a/src/renderer/src/assets/images/models/minimax_dark.png b/src/renderer/src/assets/images/models/minimax_dark.png new file mode 100644 index 0000000000..1c6ff63b91 Binary files /dev/null and b/src/renderer/src/assets/images/models/minimax_dark.png differ diff --git a/src/renderer/src/assets/images/models/mixtral.jpeg b/src/renderer/src/assets/images/models/mixtral.jpeg deleted file mode 100644 index 005e8ca2d7..0000000000 Binary files a/src/renderer/src/assets/images/models/mixtral.jpeg and /dev/null differ diff --git a/src/renderer/src/assets/images/models/mixtral.png b/src/renderer/src/assets/images/models/mixtral.png new file mode 100644 index 0000000000..0ed97c8194 Binary files /dev/null and b/src/renderer/src/assets/images/models/mixtral.png differ diff --git a/src/renderer/src/assets/images/models/mixtral_dark.png b/src/renderer/src/assets/images/models/mixtral_dark.png new file mode 100644 index 0000000000..53ffae84b2 Binary files /dev/null and b/src/renderer/src/assets/images/models/mixtral_dark.png differ diff --git a/src/renderer/src/assets/images/models/moonshot.png b/src/renderer/src/assets/images/models/moonshot.png new file mode 100644 index 0000000000..c77e05726f Binary files /dev/null and b/src/renderer/src/assets/images/models/moonshot.png differ diff --git a/src/renderer/src/assets/images/models/moonshot_dark.png b/src/renderer/src/assets/images/models/moonshot_dark.png new file mode 100644 index 0000000000..de4aaba808 Binary files /dev/null and b/src/renderer/src/assets/images/models/moonshot_dark.png differ diff --git a/src/renderer/src/assets/images/models/palm.png b/src/renderer/src/assets/images/models/palm.png new file mode 100644 index 0000000000..9f59475818 Binary files /dev/null and b/src/renderer/src/assets/images/models/palm.png differ diff --git a/src/renderer/src/assets/images/models/palm.svg b/src/renderer/src/assets/images/models/palm.svg deleted file mode 100644 index 5c345fe1c1..0000000000 --- a/src/renderer/src/assets/images/models/palm.svg +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/renderer/src/assets/images/models/palm_dark.png b/src/renderer/src/assets/images/models/palm_dark.png new file mode 100644 index 0000000000..acc21701be Binary files /dev/null and b/src/renderer/src/assets/images/models/palm_dark.png differ diff --git a/src/renderer/src/assets/images/models/qwen.png b/src/renderer/src/assets/images/models/qwen.png index f6b66289a4..f1f33c3231 100644 Binary files a/src/renderer/src/assets/images/models/qwen.png and b/src/renderer/src/assets/images/models/qwen.png differ diff --git a/src/renderer/src/assets/images/models/qwen_dark.png b/src/renderer/src/assets/images/models/qwen_dark.png new file mode 100644 index 0000000000..ce504e0ac1 Binary files /dev/null and b/src/renderer/src/assets/images/models/qwen_dark.png differ diff --git a/src/renderer/src/assets/images/models/stability.png b/src/renderer/src/assets/images/models/stability.png new file mode 100644 index 0000000000..8e67135d12 Binary files /dev/null and b/src/renderer/src/assets/images/models/stability.png differ diff --git a/src/renderer/src/assets/images/models/stability_dark.png b/src/renderer/src/assets/images/models/stability_dark.png new file mode 100644 index 0000000000..95a967fdcc Binary files /dev/null and b/src/renderer/src/assets/images/models/stability_dark.png differ diff --git a/src/renderer/src/assets/images/models/step.jpg b/src/renderer/src/assets/images/models/step.jpg deleted file mode 100644 index 404ff226fa..0000000000 Binary files a/src/renderer/src/assets/images/models/step.jpg and /dev/null differ diff --git a/src/renderer/src/assets/images/models/step.png b/src/renderer/src/assets/images/models/step.png new file mode 100644 index 0000000000..a69d97309d Binary files /dev/null and b/src/renderer/src/assets/images/models/step.png differ diff --git a/src/renderer/src/assets/images/models/step_dark.png b/src/renderer/src/assets/images/models/step_dark.png new file mode 100644 index 0000000000..ca995b667f Binary files /dev/null and b/src/renderer/src/assets/images/models/step_dark.png differ diff --git a/src/renderer/src/assets/images/models/wenxin.png b/src/renderer/src/assets/images/models/wenxin.png new file mode 100644 index 0000000000..10ab60a576 Binary files /dev/null and b/src/renderer/src/assets/images/models/wenxin.png differ diff --git a/src/renderer/src/assets/images/models/wenxin_dark.png b/src/renderer/src/assets/images/models/wenxin_dark.png new file mode 100644 index 0000000000..a5dddc3280 Binary files /dev/null and b/src/renderer/src/assets/images/models/wenxin_dark.png differ diff --git a/src/renderer/src/assets/images/models/yi.png b/src/renderer/src/assets/images/models/yi.png index 3700850bb6..5a476bd06b 100644 Binary files a/src/renderer/src/assets/images/models/yi.png and b/src/renderer/src/assets/images/models/yi.png differ diff --git a/src/renderer/src/assets/images/models/yi_dark.png b/src/renderer/src/assets/images/models/yi_dark.png new file mode 100644 index 0000000000..74d89c55ed Binary files /dev/null and b/src/renderer/src/assets/images/models/yi_dark.png differ diff --git a/src/renderer/src/assets/images/models/zhipu.png b/src/renderer/src/assets/images/models/zhipu.png new file mode 100644 index 0000000000..aedb3811c7 Binary files /dev/null and b/src/renderer/src/assets/images/models/zhipu.png differ diff --git a/src/renderer/src/assets/images/models/zhipu_dark.png b/src/renderer/src/assets/images/models/zhipu_dark.png new file mode 100644 index 0000000000..4f578081ef Binary files /dev/null and b/src/renderer/src/assets/images/models/zhipu_dark.png differ diff --git a/src/renderer/src/assets/images/providers/baichuan.png b/src/renderer/src/assets/images/providers/baichuan.png index cb6e03c357..676b1076f6 100644 Binary files a/src/renderer/src/assets/images/providers/baichuan.png and b/src/renderer/src/assets/images/providers/baichuan.png differ diff --git a/src/renderer/src/assets/images/providers/deepseek.png b/src/renderer/src/assets/images/providers/deepseek.png index f9af429e33..04b181f2a8 100644 Binary files a/src/renderer/src/assets/images/providers/deepseek.png and b/src/renderer/src/assets/images/providers/deepseek.png differ diff --git a/src/renderer/src/assets/images/providers/gemini.png b/src/renderer/src/assets/images/providers/gemini.png index 05bce50733..63c4207896 100644 Binary files a/src/renderer/src/assets/images/providers/gemini.png and b/src/renderer/src/assets/images/providers/gemini.png differ diff --git a/src/renderer/src/assets/images/providers/graph-rag.jpg b/src/renderer/src/assets/images/providers/graph-rag.jpg deleted file mode 100644 index 14676aeb2d..0000000000 Binary files a/src/renderer/src/assets/images/providers/graph-rag.jpg and /dev/null differ diff --git a/src/renderer/src/assets/images/providers/groq.png b/src/renderer/src/assets/images/providers/groq.png index 31564145e1..a6f5c4d340 100644 Binary files a/src/renderer/src/assets/images/providers/groq.png and b/src/renderer/src/assets/images/providers/groq.png differ diff --git a/src/renderer/src/assets/images/providers/minimax.png b/src/renderer/src/assets/images/providers/minimax.png index 434b2794f1..d779a8b0df 100644 Binary files a/src/renderer/src/assets/images/providers/minimax.png and b/src/renderer/src/assets/images/providers/minimax.png differ diff --git a/src/renderer/src/assets/images/providers/moonshot.jpg b/src/renderer/src/assets/images/providers/moonshot.jpg deleted file mode 100644 index 30b27b88c5..0000000000 Binary files a/src/renderer/src/assets/images/providers/moonshot.jpg and /dev/null differ diff --git a/src/renderer/src/assets/images/providers/moonshot.png b/src/renderer/src/assets/images/providers/moonshot.png new file mode 100644 index 0000000000..de4aaba808 Binary files /dev/null and b/src/renderer/src/assets/images/providers/moonshot.png differ diff --git a/src/renderer/src/assets/images/providers/ollama.png b/src/renderer/src/assets/images/providers/ollama.png index 4ca6ec0057..45221450f6 100644 Binary files a/src/renderer/src/assets/images/providers/ollama.png and b/src/renderer/src/assets/images/providers/ollama.png differ diff --git a/src/renderer/src/assets/images/providers/openai.png b/src/renderer/src/assets/images/providers/openai.png index 1e030488fa..394ebc75b6 100644 Binary files a/src/renderer/src/assets/images/providers/openai.png and b/src/renderer/src/assets/images/providers/openai.png differ diff --git a/src/renderer/src/assets/images/providers/zhipu.png b/src/renderer/src/assets/images/providers/zhipu.png index b45292cc6d..aedb3811c7 100644 Binary files a/src/renderer/src/assets/images/providers/zhipu.png and b/src/renderer/src/assets/images/providers/zhipu.png differ diff --git a/src/renderer/src/components/Avatar/ModelAvatar.tsx b/src/renderer/src/components/Avatar/ModelAvatar.tsx index 88165d02b7..9de1f1c2f7 100644 --- a/src/renderer/src/components/Avatar/ModelAvatar.tsx +++ b/src/renderer/src/components/Avatar/ModelAvatar.tsx @@ -1,4 +1,4 @@ -import { getModelLogo } from '@renderer/config/provider' +import { getModelLogo } from '@renderer/config/models' import { Model } from '@renderer/types' import { Avatar, AvatarProps } from 'antd' import { first } from 'lodash' diff --git a/src/renderer/src/config/models.ts b/src/renderer/src/config/models.ts index 46a3934310..8cc6ffc554 100644 --- a/src/renderer/src/config/models.ts +++ b/src/renderer/src/config/models.ts @@ -1,9 +1,151 @@ +import Ai360ModelLogo from '@renderer/assets/images/models/360.png' +import Ai360ModelLogoDark from '@renderer/assets/images/models/360_dark.png' +import AimassModelLogo from '@renderer/assets/images/models/aimass.png' +import AimassModelLogoDark from '@renderer/assets/images/models/aimass_dark.png' +import BaichuanModelLogo from '@renderer/assets/images/models/baichuan.png' +import BaichuanModelLogoDark from '@renderer/assets/images/models/baichuan_dark.png' +import ChatGLMModelLogo from '@renderer/assets/images/models/chatglm.png' +import ChatGLMModelLogoDark from '@renderer/assets/images/models/chatglm_dark.png' +import ClaudeModelLogo from '@renderer/assets/images/models/claude.png' +import ClaudeModelLogoDark from '@renderer/assets/images/models/claude_dark.png' +import CodegeexModelLogo from '@renderer/assets/images/models/codegeex.png' +import CodegeexModelLogoDark from '@renderer/assets/images/models/codegeex_dark.png' +import CohereModelLogo from '@renderer/assets/images/models/cohere.png' +import CohereModelLogoDark from '@renderer/assets/images/models/cohere_dark.png' +import CopilotModelLogo from '@renderer/assets/images/models/copilot.png' +import CopilotModelLogoDark from '@renderer/assets/images/models/copilot_dark.png' +import DalleModelLogo from '@renderer/assets/images/models/dalle.png' +import DalleModelLogoDark from '@renderer/assets/images/models/dalle_dark.png' +import DbrxModalLogo from '@renderer/assets/images/Models/dbrx.png' +import DeepSeekModelLogo from '@renderer/assets/images/models/deepseek.png' +import DeepSeekModelLogoDark from '@renderer/assets/images/models/deepseek_dark.png' +import DoubaoModelLogo from '@renderer/assets/images/models/doubao.png' +import DoubaoModelLogoDark from '@renderer/assets/images/models/doubao_dark.png' +import EmbeddingModelLogo from '@renderer/assets/images/models/embedding.png' +import EmbeddingModelLogoDark from '@renderer/assets/images/models/embedding.png' +import FlashaudioModelLogo from '@renderer/assets/images/models/flashaudio.png' +import FlashaudioModelLogoDark from '@renderer/assets/images/models/flashaudio_dark.png' +import FluxModelLogo from '@renderer/assets/images/models/flux.png' +import FluxModelLogoDark from '@renderer/assets/images/models/flux_dark.png' +import GeminiModelLogo from '@renderer/assets/images/models/gemini.png' +import GeminiModelLogoDark from '@renderer/assets/images/models/gemini_dark.png' +import GemmaModelLogo from '@renderer/assets/images/models/gemma.png' +import GemmaModelLogoDark from '@renderer/assets/images/models/gemma_dark.png' +import GorkModelLogo from '@renderer/assets/images/models/gork.png' +import GorkModelLogoDark from '@renderer/assets/images/models/gork_dark.png' +import ChatGPT35ModelLogo from '@renderer/assets/images/models/gpt_3.5.png' +import ChatGPT4ModelLogo from '@renderer/assets/images/models/gpt_4.png' +import ChatGPT35ModelLogoDark from '@renderer/assets/images/models/gpt_dark.png' +import ChatGPT4ModelLogoDark from '@renderer/assets/images/models/gpt_dark.png' +import ChatGPTo1ModelLogoDark from '@renderer/assets/images/models/gpt_dark.png' +import ChatGPTo1ModelLogo from '@renderer/assets/images/models/gpt_o1.png' +import HailuoModelLogo from '@renderer/assets/images/models/hailuo.png' +import HailuoModelLogoDark from '@renderer/assets/images/models/hailuo_dark.png' +import HunyuanModelLogo from '@renderer/assets/images/models/hunyuan.png' +import HunyuanModelLogoDark from '@renderer/assets/images/models/hunyuan_dark.png' +import InternlmModelLogo from '@renderer/assets/images/models/internlm.png' +import InternlmModelLogoDark from '@renderer/assets/images/models/internlm_dark.png' +import LlamaModelLogo from '@renderer/assets/images/models/llama.png' +import LlamaModelLogoDark from '@renderer/assets/images/models/llama_dark.png' +import LLavaModelLogo from '@renderer/assets/images/models/llava.png' +import LLavaModelLogoDark from '@renderer/assets/images/models/llava_dark.png' +import MagicModelLogo from '@renderer/assets/images/models/magic.png' +import MagicModelLogoDark from '@renderer/assets/images/models/magic_dark.png' +import MicrosoftModelLogo from '@renderer/assets/images/models/microsoft.png' +import MicrosoftModelLogoDark from '@renderer/assets/images/models/microsoft_dark.png' +import MidjourneyModelLogo from '@renderer/assets/images/models/midjourney.png' +import MidjourneyModelLogoDark from '@renderer/assets/images/models/midjourney_dark.png' +import MinicpmModelLogo from '@renderer/assets/images/models/minicpm.webp' +import MinicpmModelLogoDark from '@renderer/assets/images/models/minicpm.webp' +import MinimaxModelLogo from '@renderer/assets/images/models/minimax.png' +import MinimaxModelLogoDark from '@renderer/assets/images/models/minimax_dark.png' +import MistralModelLogo from '@renderer/assets/images/models/mixtral.png' +import MistralModelLogoDark from '@renderer/assets/images/models/mixtral_dark.png' +import MoonshotModelLogo from '@renderer/assets/images/models/moonshot.png' +import MoonshotModelLogoDark from '@renderer/assets/images/models/moonshot_dark.png' +import PalmModelLogo from '@renderer/assets/images/models/palm.png' +import PalmModelLogoDark from '@renderer/assets/images/models/palm_dark.png' +import QwenModelLogo from '@renderer/assets/images/models/qwen.png' +import QwenModelLogoDark from '@renderer/assets/images/models/qwen_dark.png' +import StabilityModelLogo from '@renderer/assets/images/models/stability.png' +import StabilityModelLogoDark from '@renderer/assets/images/models/stability_dark.png' +import StepModelLogo from '@renderer/assets/images/models/step.png' +import StepModelLogoDark from '@renderer/assets/images/models/step_dark.png' +import WenxinModelLogo from '@renderer/assets/images/models/wenxin.png' +import WenxinModelLogoDark from '@renderer/assets/images/models/wenxin_dark.png' +import YiModelLogo from '@renderer/assets/images/models/yi.png' +import YiModelLogoDark from '@renderer/assets/images/models/yi_dark.png' import { Model } from '@renderer/types' const TEXT_TO_IMAGE_REGEX = /flux|diffusion|stabilityai|sd-turbo|dall|cogview/i const VISION_REGEX = /llava|moondream|minicpm|gemini-1.5|claude-3|vision|glm-4v|gpt-4|qwen-vl/i const EMBEDDING_REGEX = /embedding/i +export function getModelLogo(modelId: string) { + const isLight = true + + if (!modelId) { + return undefined + } + + const logoMap = { + 'o1-': isLight ? ChatGPTo1ModelLogo : ChatGPTo1ModelLogoDark, + 'gpt-3': isLight ? ChatGPT35ModelLogo : ChatGPT35ModelLogoDark, + 'gpt-4': isLight ? ChatGPT4ModelLogo : ChatGPT4ModelLogoDark, + 'text-moderation': isLight ? ChatGPTo1ModelLogo : ChatGPTo1ModelLogoDark, + glm: isLight ? ChatGLMModelLogo : ChatGLMModelLogoDark, + deepseek: isLight ? DeepSeekModelLogo : DeepSeekModelLogoDark, + qwen: isLight ? QwenModelLogo : QwenModelLogoDark, + gemma: isLight ? GemmaModelLogo : GemmaModelLogoDark, + 'yi-': isLight ? YiModelLogo : YiModelLogoDark, + llama: isLight ? LlamaModelLogo : LlamaModelLogoDark, + mixtral: isLight ? MistralModelLogo : MistralModelLogo, + mistral: isLight ? MistralModelLogo : MistralModelLogoDark, + moonshot: isLight ? MoonshotModelLogo : MoonshotModelLogoDark, + phi: isLight ? MicrosoftModelLogo : MicrosoftModelLogoDark, + baichuan: isLight ? BaichuanModelLogo : BaichuanModelLogoDark, + claude: isLight ? ClaudeModelLogo : ClaudeModelLogoDark, + gemini: isLight ? GeminiModelLogo : GeminiModelLogoDark, + embedding: isLight ? EmbeddingModelLogo : EmbeddingModelLogoDark, + bison: isLight ? PalmModelLogo : PalmModelLogoDark, + palm: isLight ? PalmModelLogo : PalmModelLogoDark, + step: isLight ? StepModelLogo : StepModelLogoDark, + abab: isLight ? HailuoModelLogo : HailuoModelLogoDark, + 'ep-202': isLight ? DoubaoModelLogo : DoubaoModelLogoDark, + cohere: isLight ? CohereModelLogo : CohereModelLogoDark, + command: isLight ? CohereModelLogo : CohereModelLogoDark, + minicpm: isLight ? MinicpmModelLogo : MinicpmModelLogoDark, + '360': isLight ? Ai360ModelLogo : Ai360ModelLogoDark, + aimass: isLight ? AimassModelLogo : AimassModelLogoDark, + codegeex: isLight ? CodegeexModelLogo : CodegeexModelLogoDark, + copilot: isLight ? CopilotModelLogo : CopilotModelLogoDark, + dalle: isLight ? DalleModelLogo : DalleModelLogoDark, + 'dall-e': isLight ? DalleModelLogo : DalleModelLogoDark, + dbrx: isLight ? DbrxModalLogo : DbrxModalLogo, + flashaudio: isLight ? FlashaudioModelLogo : FlashaudioModelLogoDark, + flux: isLight ? FluxModelLogo : FluxModelLogoDark, + gork: isLight ? GorkModelLogo : GorkModelLogoDark, + hunyuan: isLight ? HunyuanModelLogo : HunyuanModelLogoDark, + internlm: isLight ? InternlmModelLogo : InternlmModelLogoDark, + llava: isLight ? LLavaModelLogo : LLavaModelLogoDark, + magic: isLight ? MagicModelLogo : MagicModelLogoDark, + midjourney: isLight ? MidjourneyModelLogo : MidjourneyModelLogoDark, + minimax: isLight ? MinimaxModelLogo : MinimaxModelLogoDark, + wenxin: isLight ? WenxinModelLogo : WenxinModelLogoDark, + voice: isLight ? FlashaudioModelLogo : FlashaudioModelLogoDark, + tts: isLight ? FlashaudioModelLogo : FlashaudioModelLogoDark, + stability: isLight ? StabilityModelLogo : StabilityModelLogoDark + } + + for (const key in logoMap) { + if (modelId.toLowerCase().includes(key)) { + return logoMap[key] + } + } + + return undefined +} + export const SYSTEM_MODELS: Record = { ollama: [], silicon: [ diff --git a/src/renderer/src/config/provider.ts b/src/renderer/src/config/provider.ts index f39a40ed1d..3387d370f0 100644 --- a/src/renderer/src/config/provider.ts +++ b/src/renderer/src/config/provider.ts @@ -1,25 +1,8 @@ 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 BaichuanModelLogo from '@renderer/assets/images/models/baichuan.png' -import ChatGLMModelLogo from '@renderer/assets/images/models/chatglm.png' -import ChatGPTModelLogo from '@renderer/assets/images/models/chatgpt.jpeg' -import ClaudeModelLogo from '@renderer/assets/images/models/claude.png' -import CohereModelLogo from '@renderer/assets/images/models/cohere.webp' -import DeepSeekModelLogo from '@renderer/assets/images/models/deepseek.png' -import DoubaoModelLogo from '@renderer/assets/images/models/doubao.png' -import EmbeddingModelLogo from '@renderer/assets/images/models/embedding.png' -import GeminiModelLogo from '@renderer/assets/images/models/gemini.png' -import GemmaModelLogo from '@renderer/assets/images/models/gemma.jpeg' import HailuoModelLogo from '@renderer/assets/images/models/hailuo.png' -import LlamaModelLogo from '@renderer/assets/images/models/llama.jpeg' -import MicrosoftModelLogo from '@renderer/assets/images/models/microsoft.png' -import MinicpmModelLogo from '@renderer/assets/images/models/minicpm.webp' -import MixtralModelLogo from '@renderer/assets/images/models/mixtral.jpeg' -import PalmModelLogo from '@renderer/assets/images/models/palm.svg' import QwenModelLogo from '@renderer/assets/images/models/qwen.png' -import StepModelLogo from '@renderer/assets/images/models/step.jpg' -import YiModelLogo from '@renderer/assets/images/models/yi.png' import AiHubMixProviderLogo from '@renderer/assets/images/providers/aihubmix.jpg' import AnthropicProviderLogo from '@renderer/assets/images/providers/anthropic.jpeg' import BaichuanProviderLogo from '@renderer/assets/images/providers/baichuan.png' @@ -31,8 +14,7 @@ import GithubProviderLogo from '@renderer/assets/images/providers/github.svg' 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' -import MoonshotProviderLogo from '@renderer/assets/images/providers/moonshot.jpg' -import MoonshotModelLogo from '@renderer/assets/images/providers/moonshot.jpg' +import MoonshotProviderLogo from '@renderer/assets/images/providers/moonshot.png' 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' @@ -86,47 +68,6 @@ export function getProviderLogo(providerId: string) { } } -export function getModelLogo(modelId: string) { - if (!modelId) { - return undefined - } - - const logoMap = { - o1: OpenAiProviderLogo, - gpt: ChatGPTModelLogo, - glm: ChatGLMModelLogo, - deepseek: DeepSeekModelLogo, - qwen: QwenModelLogo, - gemma: GemmaModelLogo, - 'yi-': YiModelLogo, - llama: LlamaModelLogo, - mixtral: MixtralModelLogo, - mistral: MixtralModelLogo, - moonshot: MoonshotModelLogo, - phi: MicrosoftModelLogo, - baichuan: BaichuanModelLogo, - claude: ClaudeModelLogo, - gemini: GeminiModelLogo, - embedding: EmbeddingModelLogo, - bison: PalmModelLogo, - palm: PalmModelLogo, - step: StepModelLogo, - abab: HailuoModelLogo, - 'ep-202': DoubaoModelLogo, - cohere: CohereModelLogo, - command: CohereModelLogo, - minicpm: MinicpmModelLogo - } - - for (const key in logoMap) { - if (modelId.toLowerCase().includes(key)) { - return logoMap[key] - } - } - - return undefined -} - export const PROVIDER_CONFIG = { openai: { api: { diff --git a/src/renderer/src/pages/home/Messages/Message.tsx b/src/renderer/src/pages/home/Messages/Message.tsx index f7d41735ea..c002ab28fa 100644 --- a/src/renderer/src/pages/home/Messages/Message.tsx +++ b/src/renderer/src/pages/home/Messages/Message.tsx @@ -3,7 +3,8 @@ 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 { getModelLogo } from '@renderer/config/provider' +import { getModelLogo } from '@renderer/config/models' +import { useTheme } from '@renderer/context/ThemeProvider' import { useAssistant } from '@renderer/hooks/useAssistant' import useAvatar from '@renderer/hooks/useAvatar' import { useModel } from '@renderer/hooks/useModel' @@ -35,6 +36,7 @@ const MessageItem: FC = ({ message, index, onDeleteMessage }) => { const { assistant, setModel } = useAssistant(message.assistantId) const model = useModel(message.modelId) const { userName, showMessageDivider, messageFont, fontSize } = useSettings() + const { theme } = useTheme() const isLastMessage = index === 0 const isAssistantMessage = message.role === 'assistant' @@ -54,7 +56,7 @@ const MessageItem: FC = ({ message, index, onDeleteMessage }) => { const avatarSource = useMemo(() => { if (isLocalAi) return AppLogo return message.modelId ? getModelLogo(message.modelId) : undefined - }, [message.modelId]) + }, [message.modelId, theme]) const avatarName = useMemo(() => firstLetter(assistant?.name).toUpperCase(), [assistant?.name]) @@ -81,7 +83,8 @@ const MessageItem: FC = ({ message, index, onDeleteMessage }) => { style={{ borderRadius: '20%', cursor: 'pointer', - border: '1px solid var(--color-border)' + border: isLocalAi ? '1px solid var(--color-border-soft)' : 'none', + filter: theme === 'dark' ? 'invert(0.05)' : undefined }} onClick={showMiniApp}> {avatarName} diff --git a/src/renderer/src/pages/home/components/SelectModelDropdown.tsx b/src/renderer/src/pages/home/components/SelectModelDropdown.tsx index b8d3a18484..95070b383c 100644 --- a/src/renderer/src/pages/home/components/SelectModelDropdown.tsx +++ b/src/renderer/src/pages/home/components/SelectModelDropdown.tsx @@ -1,6 +1,5 @@ import VisionIcon from '@renderer/components/Icons/VisionIcon' -import { isVisionModel } from '@renderer/config/models' -import { getModelLogo } from '@renderer/config/provider' +import { getModelLogo, isVisionModel } from '@renderer/config/models' import { useProviders } from '@renderer/hooks/useProvider' import { getModelUniqId } from '@renderer/services/model' import { Model } from '@renderer/types' diff --git a/src/renderer/src/pages/settings/ProviderSettings/EditModelsPopup.tsx b/src/renderer/src/pages/settings/ProviderSettings/EditModelsPopup.tsx index 6ce5cb3cac..3e31d488be 100644 --- a/src/renderer/src/pages/settings/ProviderSettings/EditModelsPopup.tsx +++ b/src/renderer/src/pages/settings/ProviderSettings/EditModelsPopup.tsx @@ -1,7 +1,6 @@ import { LoadingOutlined, MinusOutlined, PlusOutlined, QuestionCircleOutlined } from '@ant-design/icons' import VisionIcon from '@renderer/components/Icons/VisionIcon' -import { isVisionModel, SYSTEM_MODELS } from '@renderer/config/models' -import { getModelLogo } from '@renderer/config/provider' +import { getModelLogo, isVisionModel, SYSTEM_MODELS } from '@renderer/config/models' import { useProvider } from '@renderer/hooks/useProvider' import { fetchModels } from '@renderer/services/api' import { Model, Provider } from '@renderer/types' diff --git a/src/renderer/src/pages/settings/ProviderSettings/ProviderSetting.tsx b/src/renderer/src/pages/settings/ProviderSettings/ProviderSetting.tsx index acd8c74e49..dd8e236ce9 100644 --- a/src/renderer/src/pages/settings/ProviderSettings/ProviderSetting.tsx +++ b/src/renderer/src/pages/settings/ProviderSettings/ProviderSetting.tsx @@ -7,8 +7,7 @@ import { PlusOutlined } from '@ant-design/icons' import VisionIcon from '@renderer/components/Icons/VisionIcon' -import { isVisionModel } from '@renderer/config/models' -import { getModelLogo } from '@renderer/config/provider' +import { getModelLogo, isVisionModel } from '@renderer/config/models' import { PROVIDER_CONFIG } from '@renderer/config/provider' import { useTheme } from '@renderer/context/ThemeProvider' import { useProvider } from '@renderer/hooks/useProvider'