From 2347ac0ee08c4f5bf0e8a331611f21613e1c287d Mon Sep 17 00:00:00 2001 From: Jason Date: Mon, 1 Dec 2025 22:37:01 +0800 Subject: [PATCH 1/4] fix(config): update DeepSeek default model from Exp to stable version --- src/config/claudeProviderPresets.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/config/claudeProviderPresets.ts b/src/config/claudeProviderPresets.ts index 23729c48d..c1de539d5 100644 --- a/src/config/claudeProviderPresets.ts +++ b/src/config/claudeProviderPresets.ts @@ -69,10 +69,10 @@ export const providerPresets: ProviderPreset[] = [ env: { ANTHROPIC_BASE_URL: "https://api.deepseek.com/anthropic", ANTHROPIC_AUTH_TOKEN: "", - ANTHROPIC_MODEL: "DeepSeek-V3.2-Exp", - ANTHROPIC_DEFAULT_HAIKU_MODEL: "DeepSeek-V3.2-Exp", - ANTHROPIC_DEFAULT_SONNET_MODEL: "DeepSeek-V3.2-Exp", - ANTHROPIC_DEFAULT_OPUS_MODEL: "DeepSeek-V3.2-Exp", + ANTHROPIC_MODEL: "DeepSeek-V3.2", + ANTHROPIC_DEFAULT_HAIKU_MODEL: "DeepSeek-V3.2", + ANTHROPIC_DEFAULT_SONNET_MODEL: "DeepSeek-V3.2", + ANTHROPIC_DEFAULT_OPUS_MODEL: "DeepSeek-V3.2", }, }, category: "cn_official", From 3230b0e094a9cd79a55b6c9cff2376f16a6fcc0f Mon Sep 17 00:00:00 2001 From: Jason Date: Mon, 1 Dec 2025 22:41:43 +0800 Subject: [PATCH 2/4] chore: bump version to 3.8.2 --- README.md | 4 ++-- README_JA.md | 4 ++-- README_ZH.md | 4 ++-- package.json | 2 +- src-tauri/Cargo.lock | 2 +- src-tauri/Cargo.toml | 2 +- src-tauri/tauri.conf.json | 2 +- 7 files changed, 10 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 8fbc2234a..c9b6fd93f 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ # All-in-One Assistant for Claude Code, Codex & Gemini CLI -[![Version](https://img.shields.io/badge/version-3.8.0-blue.svg)](https://github.com/farion1231/cc-switch/releases) +[![Version](https://img.shields.io/badge/version-3.8.2-blue.svg)](https://github.com/farion1231/cc-switch/releases) [![Trending](https://img.shields.io/badge/🔥_TypeScript_Trending-Daily%20%7C%20Weekly%20%7C%20Monthly-ff6b6b.svg)](https://github.com/trending/typescript) [![Platform](https://img.shields.io/badge/platform-Windows%20%7C%20macOS%20%7C%20Linux-lightgrey.svg)](https://github.com/farion1231/cc-switch/releases) [![Built with Tauri](https://img.shields.io/badge/built%20with-Tauri%202-orange.svg)](https://tauri.app/) @@ -51,7 +51,7 @@ Get 10% OFF the GLM CODING PLAN with [this link](https://z.ai/subscribe?ic=8JVLJ ## Features -### Current Version: v3.8.0 | [Full Changelog](CHANGELOG.md) | [Release Notes](docs/release-note-v3.8.0-en.md) +### Current Version: v3.8.2 | [Full Changelog](CHANGELOG.md) | [Release Notes](docs/release-note-v3.8.0-en.md) **v3.8.0 Major Update (2025-11-28)** diff --git a/README_JA.md b/README_JA.md index 1a88f37c9..0798c086c 100644 --- a/README_JA.md +++ b/README_JA.md @@ -2,7 +2,7 @@ # Claude Code / Codex / Gemini CLI オールインワン・アシスタント -[![Version](https://img.shields.io/badge/version-3.8.0-blue.svg)](https://github.com/farion1231/cc-switch/releases) +[![Version](https://img.shields.io/badge/version-3.8.2-blue.svg)](https://github.com/farion1231/cc-switch/releases) [![Trending](https://img.shields.io/badge/🔥_TypeScript_Trending-Daily%20%7C%20Weekly%20%7C%20Monthly-ff6b6b.svg)](https://github.com/trending/typescript) [![Platform](https://img.shields.io/badge/platform-Windows%20%7C%20macOS%20%7C%20Linux-lightgrey.svg)](https://github.com/farion1231/cc-switch/releases) [![Built with Tauri](https://img.shields.io/badge/built%20with-Tauri%202-orange.svg)](https://tauri.app/) @@ -51,7 +51,7 @@ GLM CODING PLAN は AI コーディング向けのサブスクリプションで ## 特長 -### 現在のバージョン:v3.8.0 | [完全な更新履歴](CHANGELOG.md) | [リリースノート](docs/release-note-v3.8.0-en.md) +### 現在のバージョン:v3.8.2 | [完全な更新履歴](CHANGELOG.md) | [リリースノート](docs/release-note-v3.8.0-en.md) **v3.8.0 メジャーアップデート (2025-11-28)** diff --git a/README_ZH.md b/README_ZH.md index 5654c2b1a..9dd909acf 100644 --- a/README_ZH.md +++ b/README_ZH.md @@ -2,7 +2,7 @@ # Claude Code / Codex / Gemini CLI 全方位辅助工具 -[![Version](https://img.shields.io/badge/version-3.8.0-blue.svg)](https://github.com/farion1231/cc-switch/releases) +[![Version](https://img.shields.io/badge/version-3.8.2-blue.svg)](https://github.com/farion1231/cc-switch/releases) [![Trending](https://img.shields.io/badge/🔥_TypeScript_Trending-Daily%20%7C%20Weekly%20%7C%20Monthly-ff6b6b.svg)](https://github.com/trending/typescript) [![Platform](https://img.shields.io/badge/platform-Windows%20%7C%20macOS%20%7C%20Linux-lightgrey.svg)](https://github.com/farion1231/cc-switch/releases) [![Built with Tauri](https://img.shields.io/badge/built%20with-Tauri%202-orange.svg)](https://tauri.app/) @@ -51,7 +51,7 @@ CC Switch 已经预设了智谱GLM,只需要填写 key 即可一键导入编 ## 功能特性 -### 当前版本:v3.8.0 | [完整更新日志](CHANGELOG.md) +### 当前版本:v3.8.2 | [完整更新日志](CHANGELOG.md) **v3.8.0 重大更新(2025-11-28)** diff --git a/package.json b/package.json index 9d29e2470..c81068792 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cc-switch", - "version": "3.8.1", + "version": "3.8.2", "description": "All-in-One Assistant for Claude Code, Codex & Gemini CLI", "scripts": { "dev": "pnpm tauri dev", diff --git a/src-tauri/Cargo.lock b/src-tauri/Cargo.lock index 9fad0a8e3..13fc4b2f0 100644 --- a/src-tauri/Cargo.lock +++ b/src-tauri/Cargo.lock @@ -618,7 +618,7 @@ dependencies = [ [[package]] name = "cc-switch" -version = "3.8.1" +version = "3.8.2" dependencies = [ "anyhow", "auto-launch", diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml index 17c141486..832f51a9d 100644 --- a/src-tauri/Cargo.toml +++ b/src-tauri/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "cc-switch" -version = "3.8.1" +version = "3.8.2" description = "All-in-One Assistant for Claude Code, Codex & Gemini CLI" authors = ["Jason Young"] license = "MIT" diff --git a/src-tauri/tauri.conf.json b/src-tauri/tauri.conf.json index 780d27ffd..b700b05a3 100644 --- a/src-tauri/tauri.conf.json +++ b/src-tauri/tauri.conf.json @@ -1,7 +1,7 @@ { "$schema": "https://schema.tauri.app/config/2", "productName": "CC Switch", - "version": "3.8.1", + "version": "3.8.2", "identifier": "com.ccswitch.desktop", "build": { "frontendDist": "../dist", From 169db5b6d8134172bc11bc19982d298b10d66ada Mon Sep 17 00:00:00 2001 From: farion1231 Date: Tue, 2 Dec 2025 10:00:15 +0800 Subject: [PATCH 3/4] chore: add nul to .gitignore to prevent Windows reserved filename tracking --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 9ff73d9f2..6ed52a498 100644 --- a/.gitignore +++ b/.gitignore @@ -17,3 +17,4 @@ GEMINI.md /.idea /.vscode vitest-report.json +nul From 74a2e9c08b71959d12a167233e1bf338f8c3c2d4 Mon Sep 17 00:00:00 2001 From: farion1231 Date: Tue, 2 Dec 2025 15:43:14 +0800 Subject: [PATCH 4/4] fix(mcp): use browser-compatible platform detection for MCP presets Replace Node.js process.platform check with navigator.userAgent-based detection from @/lib/platform. The previous implementation using process.platform failed in Tauri's browser environment, causing Windows platform to always return false and not apply the required 'cmd /c' wrapper for npx commands. This fix ensures that on Windows, MCP presets like sequential-thinking correctly use 'cmd /c npx' format instead of direct 'npx', eliminating the warning: "Windows requires 'cmd /c' wrapper to execute npx" Changes: - Import isWindows() from @/lib/platform instead of defining locally - Remove incorrect process.platform-based detection - Now properly detects Windows in browser/WebView environment --- src/config/mcpPresets.ts | 30 ++++++++++++++++++++++-------- 1 file changed, 22 insertions(+), 8 deletions(-) diff --git a/src/config/mcpPresets.ts b/src/config/mcpPresets.ts index e52efdc87..e7514e641 100644 --- a/src/config/mcpPresets.ts +++ b/src/config/mcpPresets.ts @@ -1,7 +1,25 @@ import { McpServer, McpServerSpec } from "../types"; +import { isWindows } from "@/lib/platform"; export type McpPreset = Omit; +// 创建跨平台 npx 命令配置 +// Windows 需要使用 cmd /c wrapper 来执行 npx.cmd +// Mac/Linux 可以直接执行 npx +const createNpxCommand = (packageName: string, extraArgs: string[] = []): { command: string; args: string[] } => { + if (isWindows()) { + return { + command: 'cmd', + args: ['/c', 'npx', ...extraArgs, packageName] + }; + } else { + return { + command: 'npx', + args: [...extraArgs, packageName] + }; + } +}; + // 预设 MCP(逻辑简化版): // - 仅包含最常用、可快速落地的 stdio 模式示例 // - 不涉及分类/模板/测速等复杂逻辑,默认以 disabled 形式"回种"到 config.json @@ -26,8 +44,7 @@ export const mcpPresets: McpPreset[] = [ tags: ["stdio", "time", "utility"], server: { type: "stdio", - command: "npx", - args: ["-y", "@modelcontextprotocol/server-time"], + ...createNpxCommand("@modelcontextprotocol/server-time", ["-y"]), } as McpServerSpec, homepage: "https://github.com/modelcontextprotocol/servers", docs: "https://github.com/modelcontextprotocol/servers/tree/main/src/time", @@ -38,8 +55,7 @@ export const mcpPresets: McpPreset[] = [ tags: ["stdio", "memory", "graph"], server: { type: "stdio", - command: "npx", - args: ["-y", "@modelcontextprotocol/server-memory"], + ...createNpxCommand("@modelcontextprotocol/server-memory", ["-y"]), } as McpServerSpec, homepage: "https://github.com/modelcontextprotocol/servers", docs: "https://github.com/modelcontextprotocol/servers/tree/main/src/memory", @@ -50,8 +66,7 @@ export const mcpPresets: McpPreset[] = [ tags: ["stdio", "thinking", "reasoning"], server: { type: "stdio", - command: "npx", - args: ["-y", "@modelcontextprotocol/server-sequential-thinking"], + ...createNpxCommand("@modelcontextprotocol/server-sequential-thinking", ["-y"]), } as McpServerSpec, homepage: "https://github.com/modelcontextprotocol/servers", docs: "https://github.com/modelcontextprotocol/servers/tree/main/src/sequentialthinking", @@ -62,8 +77,7 @@ export const mcpPresets: McpPreset[] = [ tags: ["stdio", "docs", "search"], server: { type: "stdio", - command: "npx", - args: ["-y", "@upstash/context7-mcp"], + ...createNpxCommand("@upstash/context7-mcp", ["-y"]), } as McpServerSpec, homepage: "https://context7.com", docs: "https://github.com/upstash/context7/blob/master/README.md",