diff --git a/src/components/providers/AddProviderDialog.tsx b/src/components/providers/AddProviderDialog.tsx
index ef9c43a..b04dd94 100644
--- a/src/components/providers/AddProviderDialog.tsx
+++ b/src/components/providers/AddProviderDialog.tsx
@@ -41,6 +41,8 @@ export function AddProviderDialog({
notes: values.notes?.trim() || undefined,
websiteUrl: values.websiteUrl?.trim() || undefined,
settingsConfig: parsedConfig,
+ icon: values.icon?.trim() || undefined,
+ iconColor: values.iconColor?.trim() || undefined,
...(values.presetCategory ? { category: values.presetCategory } : {}),
...(values.meta ? { meta: values.meta } : {}),
};
diff --git a/src/components/providers/EditProviderDialog.tsx b/src/components/providers/EditProviderDialog.tsx
index 4a350c4..4f2db7b 100644
--- a/src/components/providers/EditProviderDialog.tsx
+++ b/src/components/providers/EditProviderDialog.tsx
@@ -89,6 +89,8 @@ export function EditProviderDialog({
notes: values.notes?.trim() || undefined,
websiteUrl: values.websiteUrl?.trim() || undefined,
settingsConfig: parsedConfig,
+ icon: values.icon?.trim() || undefined,
+ iconColor: values.iconColor?.trim() || undefined,
...(values.presetCategory ? { category: values.presetCategory } : {}),
// 保留或更新 meta 字段
...(values.meta ? { meta: values.meta } : {}),
@@ -124,6 +126,8 @@ export function EditProviderDialog({
settingsConfig: initialSettingsConfig,
category: provider.category,
meta: provider.meta,
+ icon: provider.icon,
+ iconColor: provider.iconColor,
}}
showButtons={false}
/>
diff --git a/src/components/providers/ProviderCard.tsx b/src/components/providers/ProviderCard.tsx
index 8d35286..e6f6444 100644
--- a/src/components/providers/ProviderCard.tsx
+++ b/src/components/providers/ProviderCard.tsx
@@ -9,6 +9,7 @@ import type { Provider } from "@/types";
import type { AppId } from "@/lib/api";
import { cn } from "@/lib/utils";
import { ProviderActions } from "@/components/providers/ProviderActions";
+import { ProviderIcon } from "@/components/ProviderIcon";
import UsageFooter from "@/components/UsageFooter";
interface DragHandleProps {
@@ -139,6 +140,16 @@ export function ProviderCard({
{providerName}
++ {currentIcon || + t("providerIcon.noIcon", { defaultValue: "未选择图标" })} +
+