Files
cc-switch/docs/release-note-v3.8.0-zh.md
Jason dafa77897b docs: add v3.8.0 release documentation and Japanese README
- Add CHANGELOG entry for v3.8.0
- Update README.md and README_ZH.md with v3.8.0 features
- Add Japanese README (README_JA.md)
- Add release notes in English, Chinese, and Japanese
2025-11-28 21:47:05 +08:00

9.5 KiB
Raw Blame History

CC Switch v3.8.0

持久化架构升级,为云同步奠定基础

English Version →


概览

CC Switch v3.8.0 是一次重大的架构升级版本,重构了数据持久化层和用户界面,为未来的云同步和本地代理功能奠定基础。

发布日期2025-11-28 提交数量:从 v3.7.1 开始 51 个提交 代码变更207 个文件,+17,297 / -6,870 行


重大更新

持久化架构升级

从单一 JSON 文件存储迁移到 SQLite + JSON 双层架构,实现数据分层管理。

架构变更

v3.7.x (旧)                      v3.8.0 (新)
┌─────────────────┐              ┌─────────────────────────────────┐
│  config.json    │              │  SQLite (可同步数据)             │
│  ┌───────────┐  │              │  ├─ providers     供应商配置     │
│  │ providers │  │              │  ├─ mcp_servers   MCP 服务器     │
│  │ mcp       │  │     ──>      │  ├─ prompts       提示词         │
│  │ prompts   │  │              │  ├─ skills        技能           │
│  │ settings  │  │              │  └─ settings      通用设置       │
│  └───────────┘  │              ├─────────────────────────────────┤
└─────────────────┘              │  JSON (设备级数据)               │
                                 │  └─ settings.json 本地设置       │
                                 │     ├─ 窗口位置                  │
                                 │     ├─ 路径覆盖                  │
                                 │     └─ 当前选中供应商 ID          │
                                 └─────────────────────────────────┘

双层结构设计

层级 存储方式 数据类型 同步策略
云同步层 SQLite 供应商、MCP、Prompts、Skills 未来可同步
设备层 JSON 窗口状态、本地路径、当前选择 保持本地

技术实现

  • Schema 版本管理 - 支持数据库结构升级迁移
  • SQL 导入导出 - backup.rs 支持 SQL dump便于云端存储
  • 事务支持 - SQLite 原生事务保证数据一致性
  • 自动迁移 - 首次启动自动从 config.json 迁移数据

模块化重构

database/
├── mod.rs              核心 Database 结构体和初始化
├── schema.rs           表结构定义、Schema 版本迁移
├── backup.rs           SQL 导入导出、二进制快照备份
├── migration.rs        JSON → SQLite 数据迁移引擎
└── dao/                数据访问对象层
    ├── providers.rs    供应商 CRUD
    ├── mcp.rs          MCP 服务器 CRUD
    ├── prompts.rs      提示词 CRUD
    ├── skills.rs       Skills CRUD
    └── settings.rs     键值对设置存储

全新用户界面

完整重构的 UI 设计,提供更现代化的视觉体验。

视觉改进

  • 重新设计的界面布局
  • 统一的组件样式
  • 更流畅的过渡动画
  • 优化的视觉层次

交互优化

  • Header toolbar 重新设计
  • ConfirmDialog 样式统一
  • 禁用主视图 overscroll 弹跳效果
  • 改进的表单验证反馈

兼容性调整

  • Tailwind CSS 从 v4 降级到 v3.4,提升浏览器兼容性

日语支持

新增日语(日本語)界面支持,国际化语言扩展到三种。

支持语言

  • 简体中文
  • English
  • 日本語(新增)

新增功能

Skills 递归扫描

Skills 管理系统支持递归扫描仓库目录,自动发现嵌套的技能文件。

改进内容

  • 支持多层目录结构
  • 自动发现所有 SKILL.md 文件
  • 允许不同仓库的同名技能(使用完整路径去重)

供应商图标配置

供应商预设支持自定义图标配置。

功能特性

  • 预设供应商包含默认图标
  • 复制供应商时保留图标设置
  • 图标颜色自定义

表单验证增强

供应商表单新增必填字段验证,提供更友好的错误提示。

改进内容

  • 必填字段实时校验
  • 统一使用 Toast 通知显示验证错误
  • 更清晰的错误信息

开机自启

新增开机自动启动功能,支持 Windows、macOS 和 Linux 三个平台。

功能特性

  • 在设置中一键开启/关闭
  • 使用平台原生 API 实现
  • Windows 使用注册表、macOS 使用 LaunchAgent、Linux 使用 XDG autostart

新增供应商预设

  • MiniMax - 官方合作伙伴

Bug 修复

关键修复

自定义端点丢失问题

修复更新供应商时自定义请求地址意外丢失的问题。

  • 根因:INSERT OR REPLACE 在 SQLite 底层执行 DELETE + INSERT,触发外键级联删除
  • 修复:改用 UPDATE 语句更新已存在的供应商

Gemini 配置问题

  • 修复自定义供应商环境变量未正确写入 .env 文件
  • 修复安全认证配置错误写入到其他配置文件

供应商验证问题

  • 修复当前供应商 ID 不存在时的验证错误
  • 修复供应商复制时图标字段丢失

平台兼容性

Linux

  • 解决 WebKitGTK DMA-BUF 渲染问题
  • 保留用户 .desktop 文件自定义

其他修复

  • 修复切换应用时的冗余用量查询
  • 修复 DMXAPI 预设使用错误的认证令牌字段
  • 修复深链接组件缺少翻译键
  • 修复用量脚本模板初始化逻辑

技术改进

架构重构

供应商服务模块化

services/provider/
├── mod.rs          核心服务 - add/update/delete/switch/validate
├── live.rs         Live 配置文件操作
├── gemini_auth.rs  Gemini 认证类型检测
├── endpoints.rs    自定义端点管理
└── usage.rs        用量脚本执行

深链接模块化

deeplink/
├── mod.rs       模块导出
├── parser.rs    URL 解析
├── provider.rs  供应商导入逻辑
├── mcp.rs       MCP 导入逻辑
├── prompt.rs    提示词导入
├── skill.rs     Skills 导入
└── utils.rs     工具函数

代码质量

清理工作

  • 移除 JSON 时代遗留的导入导出死代码
  • 移除未使用的 MCP 类型导出
  • 统一错误处理方式

测试更新

  • 迁移测试到 SQLite 数据库架构
  • 更新组件测试匹配当前实现
  • 修复 MSW handlers 适配新 API

技术统计

总体变更:
- 提交数51
- 文件数207 个文件变更
- 新增:+17,297 行
- 删除:-6,870 行
- 净增:+10,427 行

提交类型分布:
- fix25 个Bug 修复)
- refactor11 个(代码重构)
- feat9 个(新功能)
- test1 个(测试)
- 其他5 个

改动区域分布:
- 前端源码112 个文件
- Rust 后端63 个文件
- 测试文件20 个文件
- 国际化文件3 个文件

迁移说明

从 v3.7.x 升级

自动迁移 - 首次启动时自动执行:

  1. 检测 config.json 是否存在
  2. 在事务中迁移所有数据到 SQLite
  3. 设备级设置迁移到 settings.json
  4. 显示迁移成功通知

数据安全

  • config.json 文件保留不删除
  • 迁移失败时显示错误对话框,保留config.json
  • 支持 Dry-run 模式验证迁移逻辑

下载与安装

系统要求

  • WindowsWindows 10+
  • macOSmacOS 10.15Catalina+
  • LinuxUbuntu 22.04+ / Debian 11+ / Fedora 34+

下载链接

访问 Releases 下载:

  • WindowsCC-Switch-v3.8.0-Windows.msi-Portable.zip
  • macOSCC-Switch-v3.8.0-macOS.tar.gz.zip
  • LinuxCC-Switch-v3.8.0-Linux.AppImage.deb

HomebrewmacOS

brew tap farion1231/ccswitch
brew install --cask cc-switch

更新:

brew upgrade --cask cc-switch

致谢

贡献者

感谢所有让这个版本成为可能的贡献者:

  • @YoVinchen - UI 和数据库重构
  • @farion1231 - BUG 修复和功能增强
  • 社区成员的测试和反馈

赞助商

智谱AI - GLM CODING PLAN 赞助商 使用此链接购买可享九折优惠

PackyCode - API 中转服务合作伙伴 使用 "cc-switch" 优惠码注册享 9 折优惠

闪电说 - 本地优先的 AI 语音输入法 免费下载 Mac/Win 双平台

MiniMax - MiniMax M2 CODING PLAN 赞助商 黑五优惠进行中套餐9.9元起


反馈与支持


未来展望

v3.9.0 预览(暂定):

  • 本地代理功能

敬请期待更多更新!


Happy Coding!