diff --git a/src/App.tsx b/src/App.tsx index c5dc42b8d..fc04bd6f2 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -430,12 +430,7 @@ function App() { /> ); case "skillsDiscovery": - return ( - - ); + return ; case "mcp": return ( setCurrentView( - currentView === "skillsDiscovery" ? "skills" : "providers", + currentView === "skillsDiscovery" + ? "skills" + : "providers", ) } className="mr-2 rounded-lg" diff --git a/src/components/mcp/UnifiedMcpPanel.tsx b/src/components/mcp/UnifiedMcpPanel.tsx index 1379b8c1c..19e5e22c3 100644 --- a/src/components/mcp/UnifiedMcpPanel.tsx +++ b/src/components/mcp/UnifiedMcpPanel.tsx @@ -3,7 +3,12 @@ import { useTranslation } from "react-i18next"; import { Server } from "lucide-react"; import { Button } from "@/components/ui/button"; import { Switch } from "@/components/ui/switch"; -import { useAllMcpServers, useToggleMcpApp, useDeleteMcpServer, useImportMcpFromApps } from "@/hooks/useMcp"; +import { + useAllMcpServers, + useToggleMcpApp, + useDeleteMcpServer, + useImportMcpFromApps, +} from "@/hooks/useMcp"; import type { McpServer } from "@/types"; import type { AppId } from "@/lib/api/types"; import McpFormModal from "./McpFormModal"; @@ -91,9 +96,13 @@ const UnifiedMcpPanel = React.forwardRef< try { const count = await importMutation.mutateAsync(); if (count === 0) { - toast.success(t("mcp.unifiedPanel.noImportFound"), { closeButton: true }); + toast.success(t("mcp.unifiedPanel.noImportFound"), { + closeButton: true, + }); } else { - toast.success(t("mcp.unifiedPanel.importSuccess", { count }), { closeButton: true }); + toast.success(t("mcp.unifiedPanel.importSuccess", { count }), { + closeButton: true, + }); } } catch (error) { toast.error(t("common.error"), { diff --git a/src/components/providers/forms/hooks/useCodexCommonConfig.ts b/src/components/providers/forms/hooks/useCodexCommonConfig.ts index 383536a5a..b209003ed 100644 --- a/src/components/providers/forms/hooks/useCodexCommonConfig.ts +++ b/src/components/providers/forms/hooks/useCodexCommonConfig.ts @@ -142,7 +142,13 @@ export function useCodexCommonConfig({ } } } - }, [initialData, commonConfigSnippet, isLoading, codexConfig, onConfigChange]); + }, [ + initialData, + commonConfigSnippet, + isLoading, + codexConfig, + onConfigChange, + ]); // 处理通用配置开关 const handleCommonConfigToggle = useCallback( @@ -184,7 +190,9 @@ export function useCodexCommonConfig({ // 保存到 config.json(清空) configApi.setCommonConfigSnippet("codex", "").catch((error) => { console.error("保存 Codex 通用配置失败:", error); - setCommonConfigError(t("codexConfig.saveFailed", { error: String(error) })); + setCommonConfigError( + t("codexConfig.saveFailed", { error: String(error) }), + ); }); if (useCommonConfig) { @@ -204,7 +212,9 @@ export function useCodexCommonConfig({ // 保存到 config.json configApi.setCommonConfigSnippet("codex", value).catch((error) => { console.error("保存 Codex 通用配置失败:", error); - setCommonConfigError(t("codexConfig.saveFailed", { error: String(error) })); + setCommonConfigError( + t("codexConfig.saveFailed", { error: String(error) }), + ); }); // 若当前启用通用配置,需要替换为最新片段 @@ -277,7 +287,9 @@ export function useCodexCommonConfig({ await configApi.setCommonConfigSnippet("codex", extracted); } catch (error) { console.error("提取 Codex 通用配置失败:", error); - setCommonConfigError(t("codexConfig.extractFailed", { error: String(error) })); + setCommonConfigError( + t("codexConfig.extractFailed", { error: String(error) }), + ); } finally { setIsExtracting(false); } diff --git a/src/components/providers/forms/hooks/useCommonConfigSnippet.ts b/src/components/providers/forms/hooks/useCommonConfigSnippet.ts index d341ca64a..f5909efeb 100644 --- a/src/components/providers/forms/hooks/useCommonConfigSnippet.ts +++ b/src/components/providers/forms/hooks/useCommonConfigSnippet.ts @@ -144,7 +144,13 @@ export function useCommonConfigSnippet({ // ignore parse error } } - }, [initialData, commonConfigSnippet, isLoading, settingsConfig, onConfigChange]); + }, [ + initialData, + commonConfigSnippet, + isLoading, + settingsConfig, + onConfigChange, + ]); // 处理通用配置开关 const handleCommonConfigToggle = useCallback( @@ -185,7 +191,9 @@ export function useCommonConfigSnippet({ // 保存到 config.json(清空) configApi.setCommonConfigSnippet("claude", "").catch((error) => { console.error("保存通用配置失败:", error); - setCommonConfigError(t("claudeConfig.saveFailed", { error: String(error) })); + setCommonConfigError( + t("claudeConfig.saveFailed", { error: String(error) }), + ); }); if (useCommonConfig) { @@ -209,7 +217,9 @@ export function useCommonConfigSnippet({ // 保存到 config.json configApi.setCommonConfigSnippet("claude", value).catch((error) => { console.error("保存通用配置失败:", error); - setCommonConfigError(t("claudeConfig.saveFailed", { error: String(error) })); + setCommonConfigError( + t("claudeConfig.saveFailed", { error: String(error) }), + ); }); } @@ -288,7 +298,9 @@ export function useCommonConfigSnippet({ await configApi.setCommonConfigSnippet("claude", extracted); } catch (error) { console.error("提取通用配置失败:", error); - setCommonConfigError(t("claudeConfig.extractFailed", { error: String(error) })); + setCommonConfigError( + t("claudeConfig.extractFailed", { error: String(error) }), + ); } finally { setIsExtracting(false); } diff --git a/src/components/providers/forms/hooks/useGeminiCommonConfig.ts b/src/components/providers/forms/hooks/useGeminiCommonConfig.ts index d1f1abb65..4627afd8b 100644 --- a/src/components/providers/forms/hooks/useGeminiCommonConfig.ts +++ b/src/components/providers/forms/hooks/useGeminiCommonConfig.ts @@ -324,7 +324,9 @@ export function useGeminiCommonConfig({ // 保存到 config.json(清空) configApi.setCommonConfigSnippet("gemini", "").catch((error) => { console.error("保存 Gemini 通用配置失败:", error); - setCommonConfigError(t("geminiConfig.saveFailed", { error: String(error) })); + setCommonConfigError( + t("geminiConfig.saveFailed", { error: String(error) }), + ); }); if (useCommonConfig) { @@ -349,7 +351,9 @@ export function useGeminiCommonConfig({ setCommonConfigError(""); configApi.setCommonConfigSnippet("gemini", value).catch((error) => { console.error("保存 Gemini 通用配置失败:", error); - setCommonConfigError(t("geminiConfig.saveFailed", { error: String(error) })); + setCommonConfigError( + t("geminiConfig.saveFailed", { error: String(error) }), + ); }); // 若当前启用通用配置,需要替换为最新片段 @@ -415,14 +419,11 @@ export function useGeminiCommonConfig({ setCommonConfigError(""); try { - const extracted = await configApi.extractCommonConfigSnippet( - "gemini", - { - settingsConfig: JSON.stringify({ - env: envStringToObj(envValue), - }), - }, - ); + const extracted = await configApi.extractCommonConfigSnippet("gemini", { + settingsConfig: JSON.stringify({ + env: envStringToObj(envValue), + }), + }); if (!extracted || extracted === "{}") { setCommonConfigError(t("geminiConfig.extractNoCommonConfig")); @@ -443,7 +444,9 @@ export function useGeminiCommonConfig({ await configApi.setCommonConfigSnippet("gemini", extracted); } catch (error) { console.error("提取 Gemini 通用配置失败:", error); - setCommonConfigError(t("geminiConfig.extractFailed", { error: String(error) })); + setCommonConfigError( + t("geminiConfig.extractFailed", { error: String(error) }), + ); } finally { setIsExtracting(false); } diff --git a/src/components/skills/UnifiedSkillsPanel.tsx b/src/components/skills/UnifiedSkillsPanel.tsx index 052ce2033..9f8f7267f 100644 --- a/src/components/skills/UnifiedSkillsPanel.tsx +++ b/src/components/skills/UnifiedSkillsPanel.tsx @@ -116,10 +116,9 @@ const UnifiedSkillsPanel = React.forwardRef< try { const imported = await importMutation.mutateAsync(directories); setImportDialogOpen(false); - toast.success( - t("skills.importSuccess", { count: imported.length }), - { closeButton: true }, - ); + toast.success(t("skills.importSuccess", { count: imported.length }), { + closeButton: true, + }); } catch (error) { toast.error(t("common.error"), { description: String(error), diff --git a/src/config/claudeProviderPresets.ts b/src/config/claudeProviderPresets.ts index 84b576384..6f0428c50 100644 --- a/src/config/claudeProviderPresets.ts +++ b/src/config/claudeProviderPresets.ts @@ -124,8 +124,7 @@ export const providerPresets: ProviderPreset[] = [ websiteUrl: "https://bailian.console.aliyun.com", settingsConfig: { env: { - ANTHROPIC_BASE_URL: - "https://dashscope.aliyuncs.com/apps/anthropic", + ANTHROPIC_BASE_URL: "https://dashscope.aliyuncs.com/apps/anthropic", ANTHROPIC_AUTH_TOKEN: "", ANTHROPIC_MODEL: "qwen3-max", ANTHROPIC_DEFAULT_HAIKU_MODEL: "qwen3-max", diff --git a/src/hooks/useSkills.ts b/src/hooks/useSkills.ts index 280f15125..e2f7d1eb3 100644 --- a/src/hooks/useSkills.ts +++ b/src/hooks/useSkills.ts @@ -99,7 +99,8 @@ export function useScanUnmanagedSkills() { export function useImportSkillsFromApps() { const queryClient = useQueryClient(); return useMutation({ - mutationFn: (directories: string[]) => skillsApi.importFromApps(directories), + mutationFn: (directories: string[]) => + skillsApi.importFromApps(directories), onSuccess: () => { queryClient.invalidateQueries({ queryKey: ["skills", "installed"] }); queryClient.invalidateQueries({ queryKey: ["skills", "unmanaged"] });