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'