diff --git a/apps/desktop/public/icons/ai/alibabacloud.svg b/apps/desktop/public/icons/ai/alibabacloud.svg
new file mode 100644
index 000000000..c1d8e4ffd
--- /dev/null
+++ b/apps/desktop/public/icons/ai/alibabacloud.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/apps/desktop/public/icons/ai/anthropic.svg b/apps/desktop/public/icons/ai/anthropic.svg
new file mode 100644
index 000000000..88dc7450b
--- /dev/null
+++ b/apps/desktop/public/icons/ai/anthropic.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/apps/desktop/public/icons/ai/deepseek.svg b/apps/desktop/public/icons/ai/deepseek.svg
new file mode 100644
index 000000000..185c108b4
--- /dev/null
+++ b/apps/desktop/public/icons/ai/deepseek.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/apps/desktop/public/icons/ai/googlegemini.svg b/apps/desktop/public/icons/ai/googlegemini.svg
new file mode 100644
index 000000000..e15e53ce0
--- /dev/null
+++ b/apps/desktop/public/icons/ai/googlegemini.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/apps/desktop/public/icons/ai/ollama.svg b/apps/desktop/public/icons/ai/ollama.svg
new file mode 100644
index 000000000..432f73e73
--- /dev/null
+++ b/apps/desktop/public/icons/ai/ollama.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/apps/desktop/src/components/editor/EditorSettingsDialog.vue b/apps/desktop/src/components/editor/EditorSettingsDialog.vue
index 847f300b3..20103b0d6 100644
--- a/apps/desktop/src/components/editor/EditorSettingsDialog.vue
+++ b/apps/desktop/src/components/editor/EditorSettingsDialog.vue
@@ -2156,8 +2156,6 @@ watch(
-
{{ t("ai.settingsHint") }}
-
diff --git a/apps/desktop/src/components/icons/AiProviderLogo.vue b/apps/desktop/src/components/icons/AiProviderLogo.vue
index 86c0f62a5..d2c9bf62c 100644
--- a/apps/desktop/src/components/icons/AiProviderLogo.vue
+++ b/apps/desktop/src/components/icons/AiProviderLogo.vue
@@ -27,16 +27,10 @@ const usesWhiteDarkIcon = computed(
props.provider === "openai" ||
props.provider === "openai-compatible",
);
-const localIconUrl = computed(() =>
- props.provider === "openai" || props.provider === "openai-compatible" ? "/icons/ai/openai.svg" : "",
-);
-const iconUrl = computed(
- () =>
- localIconUrl.value ||
- (props.iconSlug
- ? `https://cdn.simpleicons.org/${props.iconSlug}${isDark.value && usesWhiteDarkIcon.value ? "/f8fafc" : ""}`
- : ""),
-);
+const localIconUrl = computed(() => {
+ if (props.provider === "openai-compatible") return "/icons/ai/openai.svg";
+ return props.iconSlug ? `/icons/ai/${props.iconSlug}.svg` : "";
+});
const fallbackText = computed(() => {
if (props.provider === "openai-compatible") return "OC";
return props.label.slice(0, 1).toUpperCase();
@@ -47,12 +41,11 @@ const fallbackText = computed(() => {
diff --git a/apps/desktop/src/i18n/locales/en.ts b/apps/desktop/src/i18n/locales/en.ts
index cf904fb07..e0f7f4a6a 100644
--- a/apps/desktop/src/i18n/locales/en.ts
+++ b/apps/desktop/src/i18n/locales/en.ts
@@ -940,8 +940,6 @@ export default {
proxy: "Proxy",
proxyEnable: "Send AI requests through proxy",
proxyUrl: "Proxy URL",
- settingsHint:
- "The config is stored in the local app data directory. Requests are sent by the Tauri backend instead of directly from the frontend.",
enableThinking: "Thinking",
enableThinkingOn: "Enabled",
enableThinkingOff: "Disabled",
diff --git a/apps/desktop/src/i18n/locales/es.ts b/apps/desktop/src/i18n/locales/es.ts
index 2ef5bb979..78054d85e 100644
--- a/apps/desktop/src/i18n/locales/es.ts
+++ b/apps/desktop/src/i18n/locales/es.ts
@@ -811,8 +811,6 @@ export default {
proxy: "Proxy",
proxyEnable: "Enviar solicitudes de IA mediante proxy",
proxyUrl: "URL del proxy",
- settingsHint:
- "La configuración se almacena en el directorio de datos local de la aplicación. Las solicitudes son enviadas por el backend de Tauri en lugar de directamente desde el frontend.",
actions: {
generate: "Generar SQL",
explain: "Explicar SQL",
diff --git a/apps/desktop/src/i18n/locales/it.ts b/apps/desktop/src/i18n/locales/it.ts
index 8589a2770..056ae21c4 100644
--- a/apps/desktop/src/i18n/locales/it.ts
+++ b/apps/desktop/src/i18n/locales/it.ts
@@ -928,8 +928,6 @@ export default {
proxy: "Proxy",
proxyEnable: "Invia richieste AI tramite proxy",
proxyUrl: "URL Proxy",
- settingsHint:
- "La configurazione viene salvata nella cartella dei dati locali dell'app. Le richieste vengono inviate dal backend Tauri invece che direttamente dal frontend.",
enableThinking: "Pensiero (Thinking)",
enableThinkingOn: "Abilitato",
enableThinkingOff: "Disabilitato",
diff --git a/apps/desktop/src/i18n/locales/pt-BR.ts b/apps/desktop/src/i18n/locales/pt-BR.ts
index 4c89e2590..38b4626bd 100644
--- a/apps/desktop/src/i18n/locales/pt-BR.ts
+++ b/apps/desktop/src/i18n/locales/pt-BR.ts
@@ -924,8 +924,6 @@ export default {
proxy: "Proxy",
proxyEnable: "Enviar requisições de AI através do proxy",
proxyUrl: "URL do Proxy",
- settingsHint:
- "A configuração é armazenada no diretório local de dados do aplicativo. As requisições são enviadas pelo backend do Tauri em vez de diretamente pelo frontend.",
enableThinking: "Raciocínio",
enableThinkingOn: "Ativado",
enableThinkingOff: "Desativado",
diff --git a/apps/desktop/src/i18n/locales/zh-CN.ts b/apps/desktop/src/i18n/locales/zh-CN.ts
index 550d8a930..5eadfd9b4 100644
--- a/apps/desktop/src/i18n/locales/zh-CN.ts
+++ b/apps/desktop/src/i18n/locales/zh-CN.ts
@@ -921,7 +921,6 @@ export default {
proxy: "代理",
proxyEnable: "AI 请求通过代理发送",
proxyUrl: "代理地址",
- settingsHint: "配置会保存在本机应用数据目录中。请求由 Tauri 后端发出,避免在前端直接暴露给模型服务。",
enableThinking: "Thinking",
enableThinkingOn: "已启用",
enableThinkingOff: "已禁用",
diff --git a/apps/desktop/src/i18n/locales/zh-TW.ts b/apps/desktop/src/i18n/locales/zh-TW.ts
index f917708ff..c03299c62 100644
--- a/apps/desktop/src/i18n/locales/zh-TW.ts
+++ b/apps/desktop/src/i18n/locales/zh-TW.ts
@@ -870,7 +870,6 @@ export default {
proxy: "代理伺服器",
proxyEnable: "經由代理伺服器發送 AI 請求",
proxyUrl: "代理伺服器地址",
- settingsHint: "設定會儲存在本機應用程式資料目錄中。請求由 Tauri 後端發出,避免在前端直接暴露給模型服務。",
enableThinking: "Thinking",
enableThinkingOn: "已啟用",
enableThinkingOff: "已停用",