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 000000000..6c2bdcb0b
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 000000000..c98c7b5c8
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 000000000..077766827
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 000000000..f2abf518d
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 cb6e03c35..676b1076f 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 000000000..3edb0f45e
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 e35930c6f..6ef7f4451 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 000000000..f989fe602
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 535102b2a..560598ed1 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 000000000..71fbdb6ba
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 000000000..633c5494c
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 000000000..77f026db8
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 000000000..e26f46d19
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 000000000..7cb99d8a3
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 000000000..c8b5c556d
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 000000000..31a10187a
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 000000000..5b141bccb
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 000000000..d4e89be78
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 000000000..a452c80db
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 000000000..0fd04c4eb
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 f9af429e3..04b181f2a 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 000000000..2a76e2ac2
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 3e48e7071..d673efd8d 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 000000000..e0df3021d
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 000000000..3f7c182b2
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 000000000..92819c2e4
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 000000000..3a8102528
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 000000000..0ba498b99
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 05bce5073..63c420789 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 000000000..f3075796e
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 3ccbd8ee1..000000000
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 000000000..26a1d9017
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 000000000..4a95c3abd
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 000000000..eff094feb
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 000000000..fd2165705
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 000000000..153ff3f6d
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 000000000..07d445d93
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 000000000..394ebc75b
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 000000000..ba95f765d
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 43579d24d..e89ca0f26 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 000000000..b783bb6c6
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 000000000..6d8f259ad
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 000000000..8f936736a
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 000000000..91f5b1264
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 000000000..4403dc5d5
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 f15e5931e..000000000
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 000000000..708cf36d2
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 000000000..15554b935
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 000000000..b4792b4b1
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 000000000..60ce3a492
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 000000000..9a2c29602
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 000000000..7ce08e1cc
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 43af01e98..965067282 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 000000000..10a273c2b
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 000000000..aa2652bcb
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 000000000..993c1cf9a
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 000000000..d779a8b0d
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 000000000..1c6ff63b9
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 005e8ca2d..000000000
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 000000000..0ed97c819
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 000000000..53ffae84b
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 000000000..c77e05726
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 000000000..de4aaba80
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 000000000..9f5947581
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 5c345fe1c..000000000
--- 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 000000000..acc21701b
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 f6b66289a..f1f33c323 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 000000000..ce504e0ac
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 000000000..8e67135d1
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 000000000..95a967fdc
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 404ff226f..000000000
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 000000000..a69d97309
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 000000000..ca995b667
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 000000000..10ab60a57
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 000000000..a5dddc328
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 3700850bb..5a476bd06 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 000000000..74d89c55e
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 000000000..aedb3811c
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 000000000..4f578081e
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 cb6e03c35..676b1076f 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 f9af429e3..04b181f2a 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 05bce5073..63c420789 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 14676aeb2..000000000
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 31564145e..a6f5c4d34 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 434b2794f..d779a8b0d 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 30b27b88c..000000000
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 000000000..de4aaba80
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 4ca6ec005..45221450f 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 1e030488f..394ebc75b 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 b45292cc6..aedb3811c 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 88165d02b..9de1f1c2f 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 46a393431..8cc6ffc55 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 f39a40ed1..3387d370f 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 f7d41735e..c002ab28f 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 b8d3a1848..95070b383 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 6ce5cb3ca..3e31d488b 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 acd8c74e4..dd8e236ce 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'