diff --git a/CHANGELOG.md b/CHANGELOG.md
index 5072f0c6b..f5a820909 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -5,6 +5,46 @@ All notable changes to CC Switch will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
+## [3.8.0] - 2025-11-28
+
+### Major Updates
+
+- **Persistence architecture upgrade** - Moved from single JSON storage to SQLite + JSON dual-layer; added schema versioning, transactions, and SQL import/export; first launch auto-migrates `config.json` to SQLite while keeping originals safe.
+- **Brand new UI** - Full layout redesign, unified component/ConfirmDialog styles, smoother animations, overscroll disabled; Tailwind CSS downgraded to v3.4 for compatibility.
+- **Japanese language support** - UI now localized in Chinese/English/Japanese.
+
+### Added
+
+- **Skills recursive scanning** - Discovers nested `SKILL.md` files across multi-level directories; same-name skills allowed by full-path dedup.
+- **Provider icons** - Presets ship with default icons; custom icon colors; icons retained when duplicating providers.
+- **Auto launch on startup** - One-click enable/disable using Registry/LaunchAgent/XDG autostart.
+- **Provider preset** - Added MiniMax partner preset.
+- **Form validation** - Required fields get real-time validation and unified toast messaging.
+
+### Fixed
+
+- **Custom endpoints loss** - Switched provider updates to `UPDATE` to avoid cascade deletes from `INSERT OR REPLACE`.
+- **Gemini config writing** - Correctly writes custom env vars to `.env` and keeps auth configs isolated.
+- **Provider validation** - Handles missing current provider IDs and preserves icon fields on duplicate.
+- **Linux rendering** - Fixed WebKitGTK DMA-BUF rendering and preserved user `.desktop` customizations.
+- **Misc** - Removed redundant usage queries; corrected DMXAPI auth token field; restored missing deeplink translations; fixed usage script template init.
+
+### Technical
+
+- **Database modules** - Added `schema`, `backup`, `migration`, and DAO layers for providers/MCP/prompts/skills/settings.
+- **Service modularization** - Split provider service into live/auth/endpoints/usage modules; deeplink parsing/import logic modularized.
+- **Code cleanup** - Removed legacy JSON-era import/export, unused MCP types; unified error handling; tests migrated to SQLite backend and MSW handlers updated.
+
+### Migration Notes
+
+- First launch auto-migrates data from `config.json` to SQLite and device settings to `settings.json`; originals kept; error dialog on failure; dry-run supported.
+
+### Stats
+
+- 51 commits since v3.7.1; 207 files changed; +17,297 / -6,870 lines. See [release-note-v3.8.0](docs/release-note-v3.8.0-en.md) for details.
+
+---
+
## [3.7.1] - 2025-11-22
### Fixed
diff --git a/README.md b/README.md
index 996119d5e..8fbc2234a 100644
--- a/README.md
+++ b/README.md
@@ -2,7 +2,7 @@
# All-in-One Assistant for Claude Code, Codex & Gemini CLI
-[](https://github.com/farion1231/cc-switch/releases)
+[](https://github.com/farion1231/cc-switch/releases)
[](https://github.com/trending/typescript)
[](https://github.com/farion1231/cc-switch/releases)
[](https://tauri.app/)
@@ -10,7 +10,7 @@
-English | [äžæ](README_ZH.md) | [Changelog](CHANGELOG.md)
+English | [äžæ](README_ZH.md) | [æ¥æ¬èª](README_JA.md) | [Changelog](CHANGELOG.md)
**From Provider Switcher to All-in-One AI CLI Management Platform**
@@ -51,9 +51,42 @@ Get 10% OFF the GLM CODING PLAN with [this link](https://z.ai/subscribe?ic=8JVLJ
## Features
-### Current Version: v3.7.0 | [Full Changelog](CHANGELOG.md) | [ð Release Notes](docs/release-note-v3.7.0-en.md)
+### Current Version: v3.8.0 | [Full Changelog](CHANGELOG.md) | [Release Notes](docs/release-note-v3.8.0-en.md)
-**v3.7.0 Major Update (2025-11-19)**
+**v3.8.0 Major Update (2025-11-28)**
+
+**Persistence Architecture Upgrade & Brand New UI**
+
+- **SQLite + JSON Dual-layer Architecture**
+ - Migrated from JSON file storage to SQLite + JSON dual-layer structure
+ - Syncable data (providers, MCP, Prompts, Skills) stored in SQLite
+ - Device-level data (window state, local paths) stored in JSON
+ - Lays the foundation for future cloud sync functionality
+ - Schema version management for database migrations
+
+- **Brand New User Interface**
+ - Completely redesigned interface layout
+ - Unified component styles and smoother animations
+ - Optimized visual hierarchy
+ - Tailwind CSS downgraded from v4 to v3.4 for better browser compatibility
+
+- **Japanese Language Support**
+ - Added Japanese interface support (now supports Chinese/English/Japanese)
+
+- **Auto Launch on Startup**
+ - One-click enable/disable in settings
+ - Platform-native APIs (Registry/LaunchAgent/XDG autostart)
+
+- **Skills Recursive Scanning**
+ - Support for multi-level directory structures
+ - Allow same-named skills from different repositories
+
+- **Critical Bug Fixes**
+ - Fixed custom endpoints lost when updating providers
+ - Fixed Gemini configuration write issues
+ - Fixed Linux WebKitGTK rendering issues
+
+**v3.7.0 Highlights**
**Six Core Features, 18,000+ Lines of New Code**
@@ -226,10 +259,10 @@ Download the latest `CC-Switch-v{version}-Linux.deb` package or `CC-Switch-v{ver
- MCP servers: `~/.gemini/settings.json` â `mcpServers`
- Tray quick switch: Each provider switch rewrites `~/.gemini/.env`, no need to restart Gemini CLI
-**CC Switch Storage**
+**CC Switch Storage (v3.8.0 New Architecture)**
-- Main config (SSOT): `~/.cc-switch/config.json` (includes providers, MCP, Prompts presets, etc.)
-- Settings: `~/.cc-switch/settings.json`
+- Database (SSOT): `~/.cc-switch/cc-switch.db` (SQLite, stores providers, MCP, Prompts, Skills)
+- Local settings: `~/.cc-switch/settings.json` (device-level settings)
- Backups: `~/.cc-switch/backups/` (auto-rotate, keep 10)
### Cloud Sync Setup
@@ -265,11 +298,12 @@ Download the latest `CC-Switch-v{version}-Linux.deb` package or `CC-Switch-v{ver
**Core Design Patterns**
-- **SSOT** (Single Source of Truth): All provider configs stored in `~/.cc-switch/config.json`
+- **SSOT** (Single Source of Truth): All data stored in `~/.cc-switch/cc-switch.db` (SQLite)
+- **Dual-layer Storage**: SQLite for syncable data, JSON for device-level settings
- **Dual-way Sync**: Write to live files on switch, backfill from live when editing active provider
- **Atomic Writes**: Temp file + rename pattern prevents config corruption
-- **Concurrency Safe**: RwLock with scoped guards avoids deadlocks
-- **Layered Architecture**: Clear separation (Commands â Services â Models)
+- **Concurrency Safe**: Mutex-protected database connection avoids race conditions
+- **Layered Architecture**: Clear separation (Commands â Services â DAO â Database)
**Key Components**
diff --git a/README_JA.md b/README_JA.md
new file mode 100644
index 000000000..2c4b16c08
--- /dev/null
+++ b/README_JA.md
@@ -0,0 +1,476 @@
+
+
+# Claude Code / Codex / Gemini CLI ãªãŒã«ã€ã³ã¯ã³ã»ã¢ã·ã¹ã¿ã³ã
+
+[](https://github.com/farion1231/cc-switch/releases)
+[](https://github.com/trending/typescript)
+[](https://github.com/farion1231/cc-switch/releases)
+[](https://tauri.app/)
+[](https://github.com/farion1231/cc-switch/releases/latest)
+
+

+
+[English](README.md) | [äžæ](README_ZH.md) | æ¥æ¬èª | [Changelog](CHANGELOG.md) | [v3.8.0 ãªãªãŒã¹ããŒã](docs/release-note-v3.8.0-en.md)
+
+**ãããã€ãã¹ã€ããã£ãŒãã AI CLI äžäœå管çãã©ãããã©ãŒã ãž**
+
+Claude Codeã»Codexã»Gemini CLI ã®ãããã€ãèšå®ãMCP ãµãŒããŒãSkills æ¡åŒµãã·ã¹ãã ããã³ãããçµ±å管çã
+
+
+
+## â€ïžã¹ãã³ãµãŒ
+
+
+
+æ¬ãããžã§ã¯ã㯠Z.ai ã® GLM CODING PLAN ã«ããæ¯æŽãåããŠããŸãã
+
+GLM CODING PLAN 㯠AI ã³ãŒãã£ã³ã°åãã®ãµãã¹ã¯ãªãã·ã§ã³ã§ãæé¡ããã 3 ãã«ãããClaude CodeãClineãRoo Code ãªã© 10 以äžã®äººæ° AI ã³ãŒãã£ã³ã°ããŒã«ã§ãã©ãã°ã·ããã¢ãã« GLM-4.6 ãå©çšã§ããéãå®å®ããéçºäœéšãæäŸããŸãã
+
+[ãã®ãªã³ã¯](https://z.ai/subscribe?ic=8JVLJQFSKB) ããç³ã蟌ããš 10% ãªãã«ãªããŸãïŒ
+
+---
+
+
+
+ |
+PackyCode ã®ãæ¯æŽã«æè¬ããŸãïŒPackyCode 㯠Claude CodeãCodexãGemini ãªã©ã®ãªã¬ãŒãµãŒãã¹ãæäŸããä¿¡é Œæ§ã®é«ã API äžç¶ãã©ãããã©ãŒã ã§ããæ¬ãœããå©çšè
åãã«ç¹å¥å²åŒããããŸãïŒãã®ãªã³ã¯ã§ç»é²ãããã£ãŒãžæã«ãcc-switchãã¯ãŒãã³ãå
¥åãããš 10% ãªãã«ãªããŸãã |
+
+
+
+ |
+ShanDianShuo ã®ãæ¯æŽã«æè¬ããŸãïŒShanDianShuo ã¯ããŒã«ã«ãã¡ãŒã¹ãã®é³å£°å
¥åããŒã«ã§ãããªç§é
å»¶ã»ããŒã¿ã¯ç«¯æ«ããå€ã«åºãã»ããŒããŒãå
¥åã® 4 åã®é床ã»AI èªåè£æ£ã»ãã©ã€ãã·ãŒåªå
ã§å®å
šç¡æãClaude Code ãšçµã¿åãããã°ã³ãŒãã£ã³ã°å¹çãåå¢ããŸããMac/Win çãç¡æããŠã³ããŒã |
+
+
+
+
+## ã¹ã¯ãªãŒã³ã·ã§ãã
+
+| ã¡ã€ã³ç»é¢ | ãããã€ã远å |
+| :-------------------------------------------: | :---------------------------------------------: |
+|  |  |
+
+## ç¹é·
+
+### çŸåšã®ããŒãžã§ã³ïŒv3.8.0 | [å®å
šãªæŽæ°å±¥æŽ](CHANGELOG.md) | [ãªãªãŒã¹ããŒã](docs/release-note-v3.8.0-en.md)
+
+**v3.8.0 ã¡ãžã£ãŒã¢ããããŒã (2025-11-28)**
+
+**æ°žç¶åã¢ãŒããã¯ãã£å·æ° & æ° UI**
+
+- **SQLite + JSON äºå±€æ§é **
+ - JSON åç¬ä¿åãã SQLite + JSON ã®äºå±€æ§é ãžç§»è¡
+ - åæå¯Ÿè±¡ããŒã¿ïŒãããã€ããMCPãPromptsãSkillsïŒã¯ SQLite ã«ä¿å
+ - ããã€ã¹åºæããŒã¿ïŒãŠã£ã³ããŠç¶æ
ãããŒã«ã«ãã¹ïŒã¯ JSON ã«ä¿å
+ - å°æ¥ã®ã¯ã©ãŠãåæã®åå°ãçšæ
+ - DB ãã€ã°ã¬ãŒã·ã§ã³çšã«ã¹ããŒãããŒãžã§ã³ã管ç
+
+- **æ°ãããŠãŒã¶ãŒã€ã³ã¿ãŒãã§ãŒã¹**
+ - ã¬ã€ã¢ãŠããå
šé¢åèšèš
+ - ã³ã³ããŒãã³ãã¹ã¿ã€ã«ãšã¢ãã¡ãŒã·ã§ã³ãçµ±äž
+ - èŠèŠçãªéå±€ãæé©å
+ - ãã©ãŠã¶äºææ§åäžã®ãã Tailwind CSS ã v4 ãã v3.4 ã«ããŠã³ã°ã¬ãŒã
+
+- **æ¥æ¬èªå¯Ÿå¿**
+ - UI ãäžåœèª/è±èª/æ¥æ¬èªã® 3 èšèªå¯Ÿå¿ã«
+
+- **èªåèµ·å**
+ - èšå®ç»é¢ã§ã¯ã³ã¯ãªã㯠ON/OFF
+ - ãã©ãããã©ãŒã ãã€ãã£ã APIïŒRegistry/LaunchAgent/XDG autostartïŒã䜿çš
+
+- **Skills ååž°ã¹ãã£ã³**
+ - å€éå±€ãã£ã¬ã¯ããªããµããŒã
+ - ãªããžããªãç°ãªãååã¹ãã«ãèš±å¯
+
+- **éèŠãªãã°ä¿®æ£**
+ - ãããã€ãæŽæ°æã«ã«ã¹ã¿ã ãšã³ããã€ã³ãã倱ãããåé¡ãä¿®æ£
+ - Gemini èšå®ã®æžã蟌ã¿åé¡ãä¿®æ£
+ - Linux WebKitGTK ã®æç»åé¡ãä¿®æ£
+
+**v3.7.0 ãã€ã©ã€ã**
+
+**6 ã€ã®ã³ã¢æ©èœã18,000 è¡è¶
ã®æ°ã³ãŒã**
+
+- **Gemini CLI çµ±å**
+ - Claude Code / Codex / Gemini ã® 3 çªç®ã®ãµããŒã AI CLI
+ - 2 ã€ã®èšå®ãã¡ã€ã«ïŒ`.env` + `settings.json`ïŒã«å¯Ÿå¿
+ - MCP ãµãŒããŒç®¡çãå®å
+ - ããªã»ããïŒGoogle å
¬åŒïŒOAuthïŒ/ PackyCode / ã«ã¹ã¿ã
+
+- **Claude Skills 管çã·ã¹ãã **
+ - GitHub ãªããžããªãèªåã¹ãã£ã³ïŒ3 ã€ã®ãã¥ã¬ãŒã·ã§ã³æžã¿ãªããžããªã忢±ïŒ
+ - `~/.claude/skills/` ãžã¯ã³ã¯ãªãã¯ã§ã€ã³ã¹ããŒã«/ã¢ã³ã€ã³ã¹ããŒã«
+ - ã«ã¹ã¿ã ãªããžã㪠+ ãµããã£ã¬ã¯ããªã¹ãã£ã³ããµããŒã
+ - ã©ã€ããµã€ã¯ã«ç®¡çïŒæ€åº/ã€ã³ã¹ããŒã«/æŽæ°ïŒãå®å
+
+- **Prompts 管çã·ã¹ãã **
+ - ç¡å¶éã®ã·ã¹ãã ããã³ããããªã»ãããäœæ
+ - Markdown ãšãã£ã¿ïŒCodeMirror 6 + ãªã¢ã«ã¿ã€ã ãã¬ãã¥ãŒïŒä»ã
+ - ã¹ããŒããªããã¯ãã£ã«ä¿è·ã§æå倿Žãä¿æ
+ - è€æ°ã¢ããªã«åæå¯Ÿå¿ïŒClaude: `CLAUDE.md` / Codex: `AGENTS.md` / Gemini: `GEMINI.md`ïŒ
+
+- **MCP v3.7.0 çµ±åã¢ãŒããã¯ãã£**
+ - 1 ã€ã®ããã«ã§ 3 ã¢ããªã® MCP ã管ç
+ - æ°ãã« SSEïŒServer-Sent EventsïŒãã©ã³ã¹ããŒãã远å
+ - ã¹ããŒã JSON ããŒãµãŒ + Codex TOML èªåä¿®æ£
+ - åæ¹åã®ã€ã³ããŒã/ãšã¯ã¹ããŒã + åæ¹ååæ
+
+- **ãã£ãŒããªã³ã¯ãããã³ã«**
+ - `ccswitch://` ãå
šãã©ãããã©ãŒã ã§ç»é²
+ - å
±æãªã³ã¯ãããããã€ãèšå®ãã¯ã³ã¯ãªãã¯ã§ã€ã³ããŒã
+ - ã»ãã¥ãªãã£æ€èšŒ + ã©ã€ããµã€ã¯ã«çµ±å
+
+- **ç°å¢å€æ°ã®ç«¶åæ€ç¥**
+ - Claude/Codex/Gemini/MCP éã®èšå®ç«¶åãèªåæ€åº
+ - ç«¶å衚瀺 + 解決ã¬ã€ã
+ - äžæžãåã®èŠå + ããã¯ã¢ãã
+
+**ã³ã¢æ©èœ**
+
+- **ãããã€ã管ç**ïŒClaude CodeãCodexãGemini ã® API èšå®ãã¯ã³ã¯ãªãã¯ã§åãæ¿ã
+- **é床ãã¹ã**ïŒãšã³ããã€ã³ãé
å»¶ãèšæž¬ããå質ãå¯èŠå
+- **ã€ã³ããŒã/ãšã¯ã¹ããŒã**ïŒèšå®ãããã¯ã¢ããã»åŸ©å
ïŒææ° 10 ä»¶ãèªåããŒããŒã·ã§ã³ïŒ
+- **å€èšèªå¯Ÿå¿**ïŒUI/ãšã©ãŒ/ãã¬ã€ãå«ãäžåœèªã»è±èªã»æ¥æ¬èªããŒã«ã©ã€ãº
+- **Claude ãã©ã°ã€ã³åæ**ïŒClaude ãã©ã°ã€ã³èšå®ãã¯ã³ã¯ãªãã¯ã§é©çš/埩å
+
+**v3.6 ãã€ã©ã€ã**
+
+- ãããã€ãã®è€è£œãšãã©ãã°ïŒããããäžŠã³æ¿ã
+- è€æ°ãšã³ããã€ã³ã管çãšã«ã¹ã¿ã èšå®ãã£ã¬ã¯ããªïŒã¯ã©ãŠãåææºåæžã¿ïŒ
+- 4 éå±€ã®ã¢ãã«èšå®ïŒHaiku/Sonnet/Opus/CustomïŒ
+- WSL ç°å¢ããµããŒããããã£ã¬ã¯ããªå€æŽæã«èªååæ
+- Hooks ãã¹ã 100% ã«ãã¬ããž + ã¢ãŒããã¯ãã£å
šé¢ãªãã¡ã¯ã¿
+
+**ã·ã¹ãã æ©èœ**
+
+- ã¯ã€ãã¯ã¹ã€ããä»ãã·ã¹ãã ãã¬ã€
+- ã·ã³ã°ã«ã€ã³ã¹ã¿ã³ã¹åžžé§
+- ãã«ãã€ã³èªåã¢ããããŒã¿
+- ããŒã«ããã¯ä¿è·ä»ãã®ã¢ãããã¯æžã蟌ã¿
+
+## ããŠã³ããŒã & ã€ã³ã¹ããŒã«
+
+### ã·ã¹ãã èŠä»¶
+
+- **Windows**: Windows 10 以äž
+- **macOS**: macOS 10.15 (Catalina) 以äž
+- **Linux**: Ubuntu 22.04+ / Debian 11+ / Fedora 34+ ãªã©äž»èŠãã£ã¹ããªãã¥ãŒã·ã§ã³
+
+### Windows ãŠãŒã¶ãŒ
+
+[Releases](../../releases) ããŒãžããææ°çã® `CC-Switch-v{version}-Windows.msi` ã€ã³ã¹ããŒã©ãŒããŸãã¯ããŒã¿ãã«ç `CC-Switch-v{version}-Windows-Portable.zip` ãããŠã³ããŒãã
+
+### macOS ãŠãŒã¶ãŒ
+
+**æ¹æ³ 1: Homebrew ã§ã€ã³ã¹ããŒã«ïŒæšå¥šïŒ**
+
+```bash
+brew tap farion1231/ccswitch
+brew install --cask cc-switch
+```
+
+ã¢ããããŒã:
+
+```bash
+brew upgrade --cask cc-switch
+```
+
+**æ¹æ³ 2: æåããŠã³ããŒã**
+
+[Releases](../../releases) ãã `CC-Switch-v{version}-macOS.zip` ãããŠã³ããŒãããŠå±éã
+
+> **泚æ**: éçºè
ã¢ã«ãŠã³ãæªç»é²ã®ãããååèµ·åæã«ãéçºå
ã確èªã§ããŸããããšè¡šç€ºãããå ŽåããããŸããäžåºŠéããŠãããã·ã¹ãã èšå®ãâããã©ã€ãã·ãŒãšã»ãã¥ãªãã£ãâããã®ãŸãŸéãããã¯ãªãã¯ããŠãã ããã以éã¯éåžžéãèµ·åã§ããŸãã
+
+### ArchLinux ãŠãŒã¶ãŒ
+
+**paru ã§ã€ã³ã¹ããŒã«ïŒæšå¥šïŒ**
+
+```bash
+paru -S cc-switch-bin
+```
+
+### Linux ãŠãŒã¶ãŒ
+
+[Releases](../../releases) ããææ°çã® `CC-Switch-v{version}-Linux.deb` ãŸã㯠`CC-Switch-v{version}-Linux.AppImage` ãããŠã³ããŒãã
+
+## ã¯ã€ãã¯ã¹ã¿ãŒã
+
+### åºæ¬çãªäœ¿ãæ¹
+
+1. **ãããã€ã远å **ïŒãAdd Providerããã¯ãªã㯠â ããªã»ãããéžã¶ãã«ã¹ã¿ã èšå®ãäœæ
+2. **ãããã€ãåãæ¿ã**:
+ - ã¡ã€ã³ UI: ãããã€ããéžæ â ãEnableããã¯ãªãã¯
+ - ã·ã¹ãã ãã¬ã€: ãããã€ãåãã¯ãªãã¯ïŒå³æåæ ïŒ
+3. **åæ **: ã¿ãŒããã«ã Claude Code / Codex / Gemini ã¯ã©ã€ã¢ã³ããåèµ·åããŠé©çš
+4. **å
¬åŒèšå®ã«æ»ã**: ãOfficial Loginãããªã»ããïŒClaude/CodexïŒãŸãã¯ãGoogle Officialãããªã»ããïŒGeminiïŒãéžã³ã察å¿ã¯ã©ã€ã¢ã³ããåèµ·åããŠãã°ã€ã³/OAuth ãå®è¡
+
+### MCP 管ç
+
+- **å
¥å£**: å³äžã®ãMCPããã¿ã³ãã¯ãªãã¯
+- **ãµãŒããŒè¿œå **:
+ - çµã¿èŸŒã¿ãã³ãã¬ãŒãïŒmcp-fetchãmcp-filesystem ãªã©ïŒã䜿çš
+ - stdio / http / sse ã®åãã©ã³ã¹ããŒãããµããŒã
+ - ã¢ããªããšã«ç¬ç«ãã MCP ãèšå®å¯èœ
+- **æå¹/ç¡å¹**: ãã°ã«ã§ã©ã€ãèšå®ãžã®åæãåãæ¿ã
+- **åæ**: æå¹ãªãµãŒããŒã¯åã¢ããªã®ã©ã€ããã¡ã€ã«ãžèªååæ
+- **ã€ã³ããŒã/ãšã¯ã¹ããŒã**: Claude/Codex/Gemini ã®èšå®ãã¡ã€ã«ããæ¢å MCP ãåã蟌ã¿
+
+### Skills 管ç (v3.7.0 æ°æ©èœ)
+
+- **å
¥å£**: å³äžã®ãSkillsããã¿ã³ãã¯ãªãã¯
+- **ã¹ãã«æ¢çŽ¢**:
+ - äºåèšå®æžã¿ã® GitHub ãªããžããªãèªåã¹ãã£ã³ïŒAnthropic å
¬åŒãComposioHQãã³ãã¥ããã£ãªã©ïŒ
+ - ã«ã¹ã¿ã ãªããžããªã远å ïŒãµããã£ã¬ã¯ããªã¹ãã£ã³å¯Ÿå¿ïŒ
+- **ã€ã³ã¹ããŒã«**: ãInstallããæŒãã ãã§ `~/.claude/skills/` ã«é
眮
+- **ã¢ã³ã€ã³ã¹ããŒã«**: ãUninstallãã§å®å
šã«åé€ãšç¶æ
ã¯ãªãŒã³ã¢ãã
+- **ãªããžããªç®¡ç**: ã«ã¹ã¿ã GitHub ãªããžããªã远å /åé€
+
+### Prompts 管ç (v3.7.0 æ°æ©èœ)
+
+- **å
¥å£**: å³äžã®ãPromptsããã¿ã³ãã¯ãªãã¯
+- **ããªã»ããäœæ**:
+ - ç¡å¶éã®ã·ã¹ãã ããã³ããããªã»ãããäœæ
+ - Markdown ãšãã£ã¿ã§èšè¿°ïŒã·ã³ã¿ãã¯ã¹ãã€ã©ã€ã + ãªã¢ã«ã¿ã€ã ãã¬ãã¥ãŒïŒ
+- **ããªã»ããåãæ¿ã**: ããªã»ãããéžæ â ãActivateãã§å³é©çš
+- **åæå
**:
+ - Claude: `~/.claude/CLAUDE.md`
+ - Codex: `~/.codex/AGENTS.md`
+ - Gemini: `~/.gemini/GEMINI.md`
+- **ä¿è·æ©æ§**: åãæ¿ãåã«çŸåšã®å
容ãèªåä¿åããæå倿Žãä¿æ
+
+### èšå®ãã¡ã€ã«ãã¹
+
+**Claude Code**
+
+- ã©ã€ãèšå®: `~/.claude/settings.json`ïŒãŸã㯠`claude.json`ïŒ
+- API ããŒãã£ãŒã«ã: `env.ANTHROPIC_AUTH_TOKEN` ãŸã㯠`env.ANTHROPIC_API_KEY`
+- MCP ãµãŒããŒ: `~/.claude.json` â `mcpServers`
+
+**Codex**
+
+- ã©ã€ãèšå®: `~/.codex/auth.json`ïŒå¿
é ïŒ+ `config.toml`ïŒä»»æïŒ
+- API ããŒãã£ãŒã«ã: `auth.json` å
ã® `OPENAI_API_KEY`
+- MCP ãµãŒããŒ: `~/.codex/config.toml` â `[mcp_servers]` ããŒãã«
+
+**Gemini**
+
+- ã©ã€ãèšå®: `~/.gemini/.env`ïŒAPI ããŒïŒ+ `~/.gemini/settings.json`ïŒèªèšŒã¢ãŒãïŒ
+- API ããŒãã£ãŒã«ã: `.env` å
ã® `GEMINI_API_KEY` ãŸã㯠`GOOGLE_GEMINI_API_KEY`
+- ç°å¢å€æ°: `GOOGLE_GEMINI_BASE_URL`ã`GEMINI_MODEL` ãªã©ããµããŒã
+- MCP ãµãŒããŒ: `~/.gemini/settings.json` â `mcpServers`
+- ãã¬ã€ã§ã®ã¯ã€ãã¯ã¹ã€ãã: ãããã€ãåãæ¿ãããšã« `~/.gemini/.env` ãæžãæãããã Gemini CLI ã®åèµ·åã¯äžèŠ
+
+**CC Switch ä¿åå
(v3.8.0 æ°ã¢ãŒããã¯ãã£)**
+
+- ããŒã¿ããŒã¹ (SSOT): `~/.cc-switch/cc-switch.db`ïŒSQLiteããããã€ããMCPãPromptsãSkills ãä¿åïŒ
+- ããŒã«ã«èšå®: `~/.cc-switch/settings.json`ïŒããã€ã¹ã¬ãã«èšå®ïŒ
+- ããã¯ã¢ãã: `~/.cc-switch/backups/`ïŒèªåããŒããŒã·ã§ã³ãææ° 10 ä»¶ãä¿æïŒ
+
+### ã¯ã©ãŠãåæã®èšå®
+
+1. èšå® â ãCustom Configuration Directoryããžé²ã
+2. ã¯ã©ãŠãåæãã©ã«ãïŒDropboxãOneDriveãiCloud ãªã©ïŒãéžæ
+3. ã¢ããªãåèµ·åããŠåæ
+4. ä»ã®ããã€ã¹ã§ãåããã©ã«ããæå®ããã°ã¯ãã¹ããã€ã¹åæãæå¹ã«
+
+> **è£è¶³**: ååèµ·åæã«æ¢åã® Claude/Codex èšå®ãããã©ã«ããããã€ããšããŠèªåã€ã³ããŒãããŸãã
+
+## ã¢ãŒããã¯ãã£æŠèŠ
+
+### èšèšåå
+
+```
+âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
+â Frontend (React + TS) â
+â âââââââââââââââ ââââââââââââââââ ââââââââââââââââââââ â
+â â Components â â Hooks â â TanStack Query â â
+â â (UI) ââââ (Bus. Logic) ââââ (Cache/Sync) â â
+â âââââââââââââââ ââââââââââââââââ ââââââââââââââââââââ â
+ââââââââââââââââââââââââââ¬âââââââââââââââââââââââââââââââââââââ
+ â Tauri IPC
+ââââââââââââââââââââââââââŒâââââââââââââââââââââââââââââââââââââ
+â Backend (Tauri + Rust) â
+â âââââââââââââââ ââââââââââââââââ ââââââââââââââââââââ â
+â â Commands â â Services â â Models/Config â â
+â â (API Layer) ââââ (Bus. Layer) ââââ (Data) â â
+â âââââââââââââââ ââââââââââââââââ ââââââââââââââââââââ â
+âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
+```
+
+**ã³ã¢èšèšãã¿ãŒã³**
+
+- **SSOT** (Single Source of Truth): ãã¹ãŠã®ããŒã¿ã `~/.cc-switch/cc-switch.db`ïŒSQLiteïŒã«éçŽ
+- **äºå±€ã¹ãã¬ãŒãž**: åæããŒã¿ã¯ SQLiteãããã€ã¹ããŒã¿ã¯ JSON
+- **åæ¹ååæ**: åãæ¿ãæã¯ã©ã€ããã¡ã€ã«ãžæžã蟌ã¿ãç·šéæã¯ã¢ã¯ãã£ããããã€ãããéåæ
+- **ã¢ãããã¯æžã蟌ã¿**: äžæãã¡ã€ã« + rename ãã¿ãŒã³ã§èšå®ç Žæã鲿¢
+- **䞊è¡å®å
š**: Mutex ã§ä¿è·ããã DB æ¥ç¶ã§ã¬ãŒã¹ãé²ã
+- **ã¬ã€ã€ãŒãã¢ãŒããã¯ãã£**: Commands â Services â DAO â Database ãæç¢ºã«åé¢
+
+**äž»èŠã³ã³ããŒãã³ã**
+
+- **ProviderService**: ãããã€ãã® CRUDãåãæ¿ããããã¯ãã£ã«ããœãŒã
+- **McpService**: MCP ãµãŒããŒç®¡çãã€ã³ããŒã/ãšã¯ã¹ããŒããã©ã€ããã¡ã€ã«åæ
+- **ConfigService**: èšå®ã®ã€ã³ããŒã/ãšã¯ã¹ããŒããããã¯ã¢ããããŒããŒã·ã§ã³
+- **SpeedtestService**: API ãšã³ããã€ã³ãã®é
å»¶èšæž¬
+
+**v3.6 ãªãã¡ã¯ã¿ãªã³ã°**
+
+- ããã¯ãšã³ã: ãšã©ãŒãã³ããªã³ã° â ã³ãã³ãåå² â ãã¹ã â ãµãŒãã¹å±€ â äžŠè¡æ§ã® 5 ãã§ãŒãº
+- ããã³ããšã³ã: ãã¹ãåºç€ â hooks â ã³ã³ããŒãã³ã â ã¯ãªãŒã³ã¢ããã® 4 ã¹ããŒãž
+- ãã¹ã: hooks 100% ã«ãã¬ããž + çµ±åãã¹ãïŒvitest + MSWïŒ
+
+## éçº
+
+### éçºç°å¢
+
+- Node.js 18+
+- pnpm 8+
+- Rust 1.85+
+- Tauri CLI 2.8+
+
+### éçºã³ãã³ã
+
+```bash
+# äŸåé¢ä¿ãã€ã³ã¹ããŒã«
+pnpm install
+
+# ããããªããŒãä»ãéçºã¢ãŒã
+pnpm dev
+
+# åãã§ãã¯
+pnpm typecheck
+
+# ã³ãŒãæŽåœ¢
+pnpm format
+
+# ãã©ãŒãããæ€èšŒ
+pnpm format:check
+
+# ããã³ããšã³ãåäœãã¹ã
+pnpm test:unit
+
+# ãŠã©ããã¢ãŒãïŒéçºã«æšå¥šïŒ
+pnpm test:unit:watch
+
+# ã¢ããªããã«ã
+pnpm build
+
+# ãããã°ãã«ã
+pnpm tauri build --debug
+```
+
+### Rust ããã¯ãšã³ãéçº
+
+```bash
+cd src-tauri
+
+# Rust ã³ãŒãæŽåœ¢
+cargo fmt
+
+# clippy ãã§ãã¯
+cargo clippy
+
+# ããã¯ãšã³ããã¹ã
+cargo test
+
+# ç¹å®ãã¹ãã®ã¿å®è¡
+cargo test test_name
+
+# test-hooks ãã£ãŒãã£ãŒä»ãã§ãã¹ã
+cargo test --features test-hooks
+```
+
+### ãã¹ãã¬ã€ã (v3.6)
+
+**ããã³ããšã³ããã¹ã**:
+
+- ãã¹ããã¬ãŒã ã¯ãŒã¯ã« **vitest** ã䜿çš
+- **MSW (Mock Service Worker)** ã§ Tauri API åŒã³åºããã¢ãã¯
+- ã³ã³ããŒãã³ããã¹ãã« **@testing-library/react** ãæ¡çš
+
+**ãã¹ãã«ãã¬ããž**:
+
+- Hooks ã®åäœãã¹ãïŒ100% ã«ãã¬ããžïŒ
+ - `useProviderActions` - ãããã€ãæäœ
+ - `useMcpActions` - MCP 管ç
+ - `useSettings` ç³» - èšå®ç®¡ç
+ - `useImportExport` - ã€ã³ããŒã/ãšã¯ã¹ããŒã
+- çµ±åãã¹ã
+ - ã¢ããªã®ã¡ã€ã³ãããŒ
+ - SettingsDialog ã®äžé£æäœ
+ - MCP ããã«ã®æ©èœ
+
+**ãã¹ãå®è¡**:
+
+```bash
+# å
šãã¹ããå®è¡
+pnpm test:unit
+
+# ãŠã©ããã¢ãŒãïŒèªååå®è¡ïŒ
+pnpm test:unit:watch
+
+# ã«ãã¬ããžã¬ããŒãä»ã
+pnpm test:unit --coverage
+```
+
+## æè¡ã¹ã¿ãã¯
+
+**ããã³ããšã³ã**: React 18 · TypeScript · Vite · TailwindCSS 4 · TanStack Query v5 · react-i18next · react-hook-form · zod · shadcn/ui · @dnd-kit
+
+**ããã¯ãšã³ã**: Tauri 2.8 · Rust · serde · tokio · thiserror · tauri-plugin-updater/process/dialog/store/log
+
+**ãã¹ã**: vitest · MSW · @testing-library/react
+
+## ãããžã§ã¯ãæ§æ
+
+```
+âââ src/ # ããã³ããšã³ã (React + TypeScript)
+â âââ components/ # UI ã³ã³ããŒãã³ã (providers/settings/mcp/ui)
+â âââ hooks/ # ããžãã¹ããžãã¯çšã«ã¹ã¿ã ããã¯
+â âââ lib/
+â â âââ api/ # Tauri API ã©ãã㌠(åå®å
š)
+â â âââ query/ # TanStack Query èšå®
+â âââ i18n/locales/ # 翻蚳 (zh/en)
+â âââ config/ # ããªã»ãã (providers/mcp)
+â âââ types/ # TypeScript åå®çŸ©
+âââ src-tauri/ # ããã¯ãšã³ã (Rust)
+â âââ src/
+â âââ commands/ # Tauri ã³ãã³ãå±€ (ãã¡ã€ã³å¥)
+â âââ services/ # ããžãã¹ããžãã¯å±€
+â âââ app_config.rs # èšå®ã¢ãã«
+â âââ provider.rs # ãããã€ããã¡ã€ã³ã¢ãã«
+â âââ mcp.rs # MCP åæ & æ€èšŒ
+â âââ lib.rs # ã¢ããªãšã³ã㪠& ãã¬ã€ã¡ãã¥ãŒ
+âââ tests/ # ããã³ããšã³ããã¹ã
+â âââ hooks/ # åäœãã¹ã
+â âââ components/ # çµ±åãã¹ã
+âââ assets/ # ã¹ã¯ãªãŒã³ã·ã§ãã & ã¹ãã³ãµãŒãªãœãŒã¹
+```
+
+## æŽæ°å±¥æŽ
+
+詳现㯠[CHANGELOG.md](CHANGELOG.md) ãã芧ãã ããã
+
+## æ§ Electron ç
+
+[Releases](../../releases) ã« v2.0.3 ã® Electron æ§çãæ®ããŠããŸãã
+
+æ§çã³ãŒããå¿
èŠãªå Žå㯠`electron-legacy` ãã©ã³ããååŸããŠãã ããã
+
+## è²¢ç®
+
+Issue ãææ¡ãæè¿ããŸãïŒ
+
+PR ãéãåã«ä»¥äžãã確èªãã ãã:
+
+- åãã§ãã¯: `pnpm typecheck`
+- ãã©ãŒããããã§ãã¯: `pnpm format:check`
+- åäœãã¹ã: `pnpm test:unit`
+- ð¡ æ°æ©èœã®å Žåã¯ãäºåã« Issue ã§ãã£ã¹ã«ãã·ã§ã³ããŠããã ãããšå©ãããŸã
+
+## Star History
+
+[](https://www.star-history.com/#farion1231/cc-switch&Date)
+
+## ã©ã€ã»ã³ã¹
+
+MIT © Jason Young
diff --git a/README_ZH.md b/README_ZH.md
index 73ea10045..5654c2b1a 100644
--- a/README_ZH.md
+++ b/README_ZH.md
@@ -2,7 +2,7 @@
# Claude Code / Codex / Gemini CLI å
šæ¹äœèŸ
å©å·¥å
·
-[](https://github.com/farion1231/cc-switch/releases)
+[](https://github.com/farion1231/cc-switch/releases)
[](https://github.com/trending/typescript)
[](https://github.com/farion1231/cc-switch/releases)
[](https://tauri.app/)
@@ -10,7 +10,7 @@
-[English](README.md) | äžæ | [æŽæ°æ¥å¿](CHANGELOG.md) | [ð v3.7.0 ååžè¯Žæ](docs/release-note-v3.7.0-zh.md)
+[English](README.md) | äžæ | [æ¥æ¬èª](README_JA.md) | [æŽæ°æ¥å¿](CHANGELOG.md) | [v3.8.0 ååžè¯Žæ](docs/release-note-v3.8.0-zh.md)
**ä»äŸåºå忢åšå° AI CLI äžäœå管çå¹³å°**
@@ -51,9 +51,42 @@ CC Switch å·²ç»é¢è®Ÿäºæºè°±GLMïŒåªéèŠå¡«å key å³å¯äžé®å¯Œå
¥çŒ
## åèœç¹æ§
-### åœåçæ¬ïŒv3.7.0 | [宿޿޿°æ¥å¿](CHANGELOG.md)
+### åœåçæ¬ïŒv3.8.0 | [宿޿޿°æ¥å¿](CHANGELOG.md)
-**v3.7.0 éå€§æŽæ°ïŒ2025-11-19ïŒ**
+**v3.8.0 éå€§æŽæ°ïŒ2025-11-28ïŒ**
+
+**æä¹
åæ¶æå级 & å
šæ°çšæ·çé¢**
+
+- **SQLite + JSON å屿¶æ**
+ - ä» JSON æä»¶ååšè¿ç§»å° SQLite + JSON åå±ç»æ
+ - å¯åæ¥æ°æ®ïŒäŸåºåãMCPãPromptsãSkillsïŒåå
¥ SQLite
+ - 讟å€çº§æ°æ®ïŒçªå£ç¶æãæ¬å°è·¯åŸïŒä¿çåš JSON
+ - äžºæªæ¥äºåæ¥åèœå¥ å®åºç¡
+ - Schema çæ¬ç®¡çæ¯ææ°æ®åºè¿ç§»
+
+- **å
šæ°çšæ·çé¢**
+ - å®å
šéæ°è®Ÿè®¡ççé¢åžå±
+ - ç»äžçç»ä»¶æ ·åŒåæŽæµç
çåšç»
+ - äŒåçè§è§å±æ¬¡
+ - Tailwind CSS ä» v4 éçº§å° v3.4 以æåæµè§åšå
Œå®¹æ§
+
+- **æ¥è¯æ¯æ**
+ - æ°å¢æ¥è¯ç颿¯æïŒç°æ¯æäžæ/è±æ/æ¥è¯ïŒ
+
+- **åŒæºèªå¯**
+ - åšè®Ÿçœ®äžäžé®åŒå¯/å
³é
+ - 䜿çšå¹³å°åç APIïŒæ³šå衚/LaunchAgent/XDG autostartïŒ
+
+- **Skills éåœæ«æ**
+ - æ¯æå€å±ç®åœç»æ
+ - å
讞äžåä»åºçååæèœ
+
+- **å
³é® Bug ä¿®å€**
+ - ä¿®å€æŽæ°äŸåºåæ¶èªå®ä¹ç«¯ç¹äž¢å€±é®é¢
+ - ä¿®å€ Gemini é
眮åå
¥é®é¢
+ - ä¿®å€ Linux WebKitGTK æž²æé®é¢
+
+**v3.7.0 亮ç¹**
**å
å€§æ žå¿åèœïŒ18,000+ è¡æ°å¢ä»£ç **
@@ -226,10 +259,10 @@ paru -S cc-switch-bin
- MCP æå¡åšïŒ`~/.gemini/settings.json` â `mcpServers`
- æçå¿«éåæ¢ïŒæ¯æ¬¡åæ¢äŸåºåéœäŒéå `~/.gemini/.env`ïŒæ ééå¯ Gemini CLI å³å¯çæ
-**CC Switch ååš**
+**CC Switch ååšïŒv3.8.0 æ°æ¶æïŒ**
-- äž»é
眮ïŒSSOTïŒïŒ`~/.cc-switch/config.json`ïŒå
å«äŸåºåãMCPãPrompts é¢è®ŸçïŒ
-- 讟眮ïŒ`~/.cc-switch/settings.json`
+- æ°æ®åºïŒSSOTïŒïŒ`~/.cc-switch/cc-switch.db`ïŒSQLiteïŒååšäŸåºåãMCPãPromptsãSkillsïŒ
+- æ¬å°è®Ÿçœ®ïŒ`~/.cc-switch/settings.json`ïŒè®Ÿå€çº§è®Ÿçœ®ïŒ
- å€ä»œïŒ`~/.cc-switch/backups/`ïŒèªåšèœ®æ¢ïŒä¿ç 10 䞪ïŒ
### äºåæ¥è®Ÿçœ®
@@ -265,11 +298,12 @@ paru -S cc-switch-bin
**æ žå¿è®Ÿè®¡æš¡åŒ**
-- **SSOT**ïŒåäžäºå®æºïŒïŒææäŸåºåé
眮ååšåš `~/.cc-switch/config.json`
+- **SSOT**ïŒåäžäºå®æºïŒïŒæææ°æ®ååšåš `~/.cc-switch/cc-switch.db`ïŒSQLiteïŒ
+- **åå±ååš**ïŒSQLite ååšå¯åæ¥æ°æ®ïŒJSON ååšè®Ÿå€çº§è®Ÿçœ®
- **åå忥**ïŒåæ¢æ¶åå
¥ live æä»¶ïŒçŒèŸåœåäŸåºåæ¶ä» live åå¡«
- **åååå
¥**ïŒäžŽæ¶æä»¶ + éåœåæš¡åŒé²æ¢é
眮æå
-- **å¹¶åå®å
š**ïŒRwLock äžäœçšåå®å«é¿å
æ»é
-- **å屿¶æ**ïŒæž
æ°å犻ïŒCommands â Services â ModelsïŒ
+- **å¹¶åå®å
š**ïŒMutex ä¿æ€çæ°æ®åºè¿æ¥é¿å
ç«ææ¡ä»¶
+- **å屿¶æ**ïŒæž
æ°å犻ïŒCommands â Services â DAO â DatabaseïŒ
**æ žå¿ç»ä»¶**
diff --git a/docs/release-note-v3.8.0-en.md b/docs/release-note-v3.8.0-en.md
new file mode 100644
index 000000000..dc605d2a4
--- /dev/null
+++ b/docs/release-note-v3.8.0-en.md
@@ -0,0 +1,369 @@
+# CC Switch v3.8.0
+
+> Persistence Architecture Upgrade, Laying the Foundation for Cloud Sync
+
+**[äžæç â](release-note-v3.8.0-zh.md) | [æ¥æ¬èªç â](release-note-v3.8.0-ja.md)**
+
+---
+
+## Overview
+
+CC Switch v3.8.0 is a major architectural upgrade that restructures the data persistence layer and user interface, laying the foundation for future cloud sync and local proxy features.
+
+**Release Date**: 2025-11-28
+**Commits**: 51 commits since v3.7.1
+**Code Changes**: 207 files, +17,297 / -6,870 lines
+
+---
+
+## Major Updates
+
+### Persistence Architecture Upgrade
+
+Migrated from single JSON file storage to SQLite + JSON dual-layer architecture for hierarchical data management.
+
+**Architecture Changes**:
+
+```
+v3.7.x (Old) v3.8.0 (New)
+âââââââââââââââââââ âââââââââââââââââââââââââââââââââââ
+â config.json â â SQLite (Syncable Data) â
+â âââââââââââââ â â ââ providers Provider cfg â
+â â providers â â â ââ mcp_servers MCP servers â
+â â mcp â â ââ> â ââ prompts Prompts â
+â â prompts â â â ââ skills Skills â
+â â settings â â â ââ settings General cfg â
+â âââââââââââââ â âââââââââââââââââââââââââââââââââââ€
+âââââââââââââââââââ â JSON (Device-level Data) â
+ â ââ settings.json Local settingsâ
+ â ââ Window position â
+ â ââ Path overrides â
+ â ââ Current provider ID â
+ âââââââââââââââââââââââââââââââââââ
+```
+
+**Dual-layer Structure Design**:
+
+| Layer | Storage | Data Types | Sync Strategy |
+| ---------- | ------- | ------------------------------- | --------------- |
+| Cloud Sync | SQLite | Providers, MCP, Prompts, Skills | Future syncable |
+| Device | JSON | Window state, local paths | Stays local |
+
+**Technical Implementation**:
+
+- **Schema Version Management** - Supports database structure upgrade migrations
+- **SQL Import/Export** - `backup.rs` supports SQL dump for cloud storage
+- **Transaction Support** - SQLite native transactions ensure data consistency
+- **Auto Migration** - Automatically migrates from `config.json` on first launch
+
+**Modular Refactoring**:
+
+```
+database/
+âââ mod.rs Core Database struct and initialization
+âââ schema.rs Table definitions, schema version migrations
+âââ backup.rs SQL import/export, binary snapshot backup
+âââ migration.rs JSON â SQLite data migration engine
+âââ dao/ Data Access Object layer
+ âââ providers.rs Provider CRUD
+ âââ mcp.rs MCP server CRUD
+ âââ prompts.rs Prompts CRUD
+ âââ skills.rs Skills CRUD
+ âââ settings.rs Key-value settings storage
+```
+
+---
+
+### Brand New User Interface
+
+Completely redesigned UI providing a more modern visual experience.
+
+**Visual Improvements**:
+
+- Redesigned interface layout
+- Unified component styles
+- Smoother transition animations
+- Optimized visual hierarchy
+
+**Interaction Enhancements**:
+
+- Redesigned header toolbar
+- Unified ConfirmDialog styling
+- Disabled overscroll bounce effect on main view
+- Improved form validation feedback
+
+**Compatibility Adjustments**:
+
+- Downgraded Tailwind CSS from v4 to v3.4 for better browser compatibility
+
+---
+
+### Japanese Language Support
+
+Added Japanese interface support, expanding internationalization to three languages.
+
+**Supported Languages**:
+
+- Simplified Chinese
+- English
+- Japanese (New)
+
+---
+
+## New Features
+
+### Skills Recursive Scanning
+
+Skills management system now supports recursive scanning of repository directories, automatically discovering nested skill files.
+
+**Improvements**:
+
+- Support for multi-level directory structures
+- Automatic discovery of all `SKILL.md` files
+- Allow same-named skills from different repositories (using full path for deduplication)
+
+---
+
+### Provider Icon Configuration
+
+Provider presets now support custom icon configuration.
+
+**Features**:
+
+- Preset providers include default icons
+- Icon settings preserved when duplicating providers
+- Custom icon colors
+
+---
+
+### Enhanced Form Validation
+
+Provider forms now include required field validation with friendlier error messages.
+
+**Improvements**:
+
+- Real-time validation for required fields
+- Unified Toast notifications for validation errors
+- Clearer error messages
+
+---
+
+### Auto Launch on Startup
+
+Added auto-launch functionality supporting Windows, macOS, and Linux platforms.
+
+**Features**:
+
+- One-click enable/disable in settings
+- Implemented using platform-native APIs
+- Windows uses Registry, macOS uses LaunchAgent, Linux uses XDG autostart
+
+---
+
+### New Provider Presets
+
+- **MiniMax** - Official partner
+
+---
+
+## Bug Fixes
+
+### Critical Fixes
+
+**Custom Endpoints Lost Issue**
+
+Fixed an issue where custom request URLs were unexpectedly lost when updating providers.
+
+- Root Cause: `INSERT OR REPLACE` executes `DELETE + INSERT` under the hood in SQLite, triggering foreign key cascade deletion
+- Fix: Changed to use `UPDATE` statement for existing providers
+
+**Gemini Configuration Issues**
+
+- Fixed custom provider environment variables not correctly written to `.env` file
+- Fixed security auth config incorrectly written to other config files
+
+**Provider Validation Issues**
+
+- Fixed validation error when current provider ID doesn't exist
+- Fixed icon fields lost when duplicating providers
+
+### Platform Compatibility
+
+**Linux**
+
+- Resolved WebKitGTK DMA-BUF rendering issue
+- Preserve user `.desktop` file customizations
+
+### Other Fixes
+
+- Fixed redundant usage queries when switching apps
+- Fixed DMXAPI preset using wrong auth token field
+- Fixed missing translation keys in deeplink components
+- Fixed usage script template initialization logic
+
+---
+
+## Technical Improvements
+
+### Architecture Refactoring
+
+**Provider Service Modularization**:
+
+```
+services/provider/
+âââ mod.rs Core service - add/update/delete/switch/validate
+âââ live.rs Live config file operations
+âââ gemini_auth.rs Gemini auth type detection
+âââ endpoints.rs Custom endpoint management
+âââ usage.rs Usage script execution
+```
+
+**Deeplink Modularization**:
+
+```
+deeplink/
+âââ mod.rs Module exports
+âââ parser.rs URL parsing
+âââ provider.rs Provider import logic
+âââ mcp.rs MCP import logic
+âââ prompt.rs Prompt import
+âââ skill.rs Skills import
+âââ utils.rs Utility functions
+```
+
+### Code Quality
+
+**Cleanup**:
+
+- Removed legacy JSON-era import/export dead code
+- Removed unused MCP type exports
+- Unified error handling approach
+
+**Test Updates**:
+
+- Migrated tests to SQLite database architecture
+- Updated component tests to match current implementation
+- Fixed MSW handlers to adapt to new API
+
+---
+
+## Technical Statistics
+
+```
+Overall Changes:
+- Commits: 51
+- Files: 207 files changed
+- Additions: +17,297 lines
+- Deletions: -6,870 lines
+- Net: +10,427 lines
+
+Commit Type Distribution:
+- fix: 25 (Bug fixes)
+- refactor: 11 (Code refactoring)
+- feat: 9 (New features)
+- test: 1 (Testing)
+- other: 5
+
+Change Area Distribution:
+- Frontend source: 112 files
+- Rust backend: 63 files
+- Test files: 20 files
+- i18n files: 3 files
+```
+
+---
+
+## Migration Guide
+
+### Upgrading from v3.7.x
+
+**Auto Migration** - Executes automatically on first launch:
+
+1. Detects if `config.json` exists
+2. Migrates all data to SQLite within a transaction
+3. Migrates device-level settings to `settings.json`
+4. Shows migration success notification
+
+**Data Safety**:
+
+- Original `config.json` file is preserved (not deleted)
+- Error dialog displayed on migration failure, `config.json` preserved
+- Supports Dry-run mode to verify migration logic
+
+---
+
+## Download & Installation
+
+### System Requirements
+
+- **Windows**: Windows 10+
+- **macOS**: macOS 10.15 (Catalina)+
+- **Linux**: Ubuntu 22.04+ / Debian 11+ / Fedora 34+
+
+### Download Links
+
+Visit [Releases](https://github.com/farion1231/cc-switch/releases/latest) to download:
+
+- **Windows**: `CC-Switch-v3.8.0-Windows.msi` or `-Portable.zip`
+- **macOS**: `CC-Switch-v3.8.0-macOS.tar.gz` or `.zip`
+- **Linux**: `CC-Switch-v3.8.0-Linux.AppImage` or `.deb`
+
+### Homebrew (macOS)
+
+```bash
+brew tap farion1231/ccswitch
+brew install --cask cc-switch
+```
+
+Update:
+
+```bash
+brew upgrade --cask cc-switch
+```
+
+## Acknowledgments
+
+### Contributors
+
+Thanks to all contributors who made this release possible:
+
+- [@YoVinchen](https://github.com/YoVinchen) - UI and database refactoring
+- [@farion1231](https://github.com/farion1231) - Bug fixes and feature enhancements
+- Community members for testing and feedback
+
+### Sponsors
+
+**Zhipu AI** - GLM CODING PLAN Sponsor
+[Get 10% off with this link](https://z.ai/subscribe?ic=8JVLJQFSKB)
+
+**PackyCode** - API Relay Service Partner
+[Use code "cc-switch" for 10% off registration](https://www.packyapi.com/register?aff=cc-switch)
+
+**ShandianShuo** - Local-first AI Voice Input
+[Free download](https://shandianshuo.cn) for Mac/Windows
+
+**MiniMax** - MiniMax M2 CODING PLAN Sponsor
+[Black Friday sale, plans starting at $2](https://platform.minimax.io/subscribe/coding-plan)
+
+---
+
+## Feedback & Support
+
+- **Issue Reports**: [GitHub Issues](https://github.com/farion1231/cc-switch/issues)
+- **Discussions**: [GitHub Discussions](https://github.com/farion1231/cc-switch/discussions)
+- **Documentation**: [README](../README.md)
+- **Changelog**: [CHANGELOG.md](../CHANGELOG.md)
+
+---
+
+## Future Roadmap
+
+**v3.9.0 Preview** (Tentative):
+
+- Local proxy feature
+
+Stay tuned for more updates!
+
+---
+
+**Happy Coding!**
diff --git a/docs/release-note-v3.8.0-ja.md b/docs/release-note-v3.8.0-ja.md
new file mode 100644
index 000000000..09ae00c87
--- /dev/null
+++ b/docs/release-note-v3.8.0-ja.md
@@ -0,0 +1,315 @@
+# CC Switch v3.8.0
+
+> æ°žç¶åã¢ãŒããã¯ãã£ãå·æ°ããã¯ã©ãŠãåæã®åå°ãæ§ç¯
+
+**[English â](release-note-v3.8.0-en.md) | [äžæç â](release-note-v3.8.0-zh.md)**
+
+---
+
+## æŠèŠ
+
+CC Switch v3.8.0 ã¯ããŒã¿æ°žç¶åã¬ã€ã€ãŒãš UI ã倧å¹
ã«äœãæ¿ããä»åŸã®ã¯ã©ãŠãåæãããŒã«ã«ãããã·æ©èœã«åããåºç€ãæŽããã¡ãžã£ãŒã¢ããããŒãã§ãã
+
+**ãªãªãŒã¹æ¥**: 2025-11-28
+**ã³ãããæ°**: v3.7.1 以é 51 commits
+**倿Žé**: 207 files, +17,297 / -6,870 lines
+
+---
+
+## äž»èŠã¢ããããŒã
+
+### æ°žç¶åã¢ãŒããã¯ãã£ã®å·æ°
+
+åäžã® JSON ä¿åãããéå±€åããã SQLite + JSON ã®äºå±€æ§é ãžç§»è¡ã
+
+**ã¢ãŒããã¯ãã£å€æŽ**:
+
+```
+v3.7.x (æ§) v3.8.0 (æ°)
+âââââââââââââââââââ âââââââââââââââââââââââââââââââââââ
+â config.json â â SQLite (åæå¯Ÿè±¡ããŒã¿) â
+â âââââââââââââ â â ââ providers ãããã€ãèšå® â
+â â providers â â â ââ mcp_servers MCP ãµãŒã㌠â
+â â mcp â â ââ> â ââ prompts ããã³ãã â
+â â prompts â â â ââ skills Skills â
+â â settings â â â ââ settings æ±çšèšå® â
+â âââââââââââââ â âââââââââââââââââââââââââââââââââââ€
+âââââââââââââââââââ â JSON (ããã€ã¹åºæããŒã¿) â
+ â ââ settings.json ããŒã«ã«èšå® â
+ â ââ ãŠã£ã³ããŠäœçœ® â
+ â ââ ãã¹ã®äžæžã â
+ â ââ çŸåšã®ãããã€ã ID â
+ âââââââââââââââââââââââââââââââââââ
+```
+
+**äºå±€æ§é ã®èšèš**:
+
+| ã¬ã€ã€ãŒ | ã¹ãã¬ãŒãž | ããŒã¿çš®å¥ | åææŠç¥ |
+| -------- | ---------- | ----------------------------------- | ---------------- |
+| ã¯ã©ãŠã | SQLite | Providers, MCP, Prompts, Skills | å°æ¥åæå¯Ÿè±¡ |
+| ããã€ã¹ | JSON | ãŠã£ã³ããŠç¶æ
ãããŒã«ã«ãã¹ | ããŒã«ã«ä¿æ |
+
+**å®è£
ãã€ã³ã**:
+
+- **ã¹ããŒãããŒãžã§ã³ç®¡ç**: DB æ§é ã®ãã€ã°ã¬ãŒã·ã§ã³ã«å¯Ÿå¿
+- **SQL ã€ã³ããŒã/ãšã¯ã¹ããŒã**: `backup.rs` ã SQL ãã³ãããµããŒã
+- **ãã©ã³ã¶ã¯ã·ã§ã³å¯Ÿå¿**: SQLite ãã€ãã£ãã§æŽåæ§ã確ä¿
+- **èªåãã€ã°ã¬ãŒã·ã§ã³**: ååèµ·åã§ `config.json` ããèªåç§»è¡
+
+**ã¢ãžã¥ãŒã«åå²**:
+
+```
+database/
+âââ mod.rs Database æ§é äœãšåæå
+âââ schema.rs ããŒãã«å®çŸ©ãšã¹ããŒãç§»è¡
+âââ backup.rs SQL ã€ã³ããŒã/ãšã¯ã¹ããŒããšã¹ãããã·ã§ãã
+âââ migration.rs JSON â SQLite 倿ãšã³ãžã³
+âââ dao/ DAO ã¬ã€ã€ãŒ
+ âââ providers.rs ãããã€ã CRUD
+ âââ mcp.rs MCP CRUD
+ âââ prompts.rs ããã³ãã CRUD
+ âââ skills.rs Skills CRUD
+ âââ settings.rs èšå® Key-Value ä¿å
+```
+
+---
+
+### æ°ãããŠãŒã¶ãŒã€ã³ã¿ãŒãã§ãŒã¹
+
+ããã¢ãã³ãªèŠãç®ãšæäœæã«åèšèšã
+
+- ã¬ã€ã¢ãŠãå
šé¢å·æ°ãã³ã³ããŒãã³ãã¹ã¿ã€ã«ãçµ±äž
+- ãã©ã³ãžã·ã§ã³ãæ»ããã«ããèŠèŠçéå±€ãæé©å
+- ã¡ã€ã³ãã¥ãŒã®ãªãŒããŒã¹ã¯ããŒã«ããŠã³ã¹ãç¡å¹å
+- ãã©ãŠã¶äºææ§åäžã®ãã Tailwind CSS ã v4âv3.4 ã«ããŠã³ã°ã¬ãŒã
+
+---
+
+### æ¥èªå
+
+UI ãæ¥æ¬èªã«å¯Ÿå¿ããåœéåã 3 èšèªïŒäž/è±/æ¥ïŒãžæ¡å€§ã
+
+---
+
+## æ°æ©èœ
+
+### Skills éåž°ã¹ãã£ã³
+
+Skills 管çããªããžããªãååž°çã«èµ°æ»ãããã¹ãããã `SKILL.md` ãèªåæ€åºã
+
+- è€æ°éå±€ã®ãã£ã¬ã¯ããªã«å¯Ÿå¿
+- ãã¹ãŠã® `SKILL.md` ãèªåçºèŠ
+- ãã¹ãããŒã«ããéè€æé€ã§ååã¹ãã«ã蚱容
+
+### ãããã€ãã¢ã€ã³ã³èšå®
+
+ããªã»ãããããã©ã«ãã¢ã€ã³ã³ãæã¡ãè€è£œããŠãã¢ã€ã³ã³ãä¿æãã«ã¹ã¿ã è²ãèšå®å¯èœã
+
+### ãã©ãŒã ããªããŒã·ã§ã³åŒ·å
+
+å¿
é é
ç®ã«ãªã¢ã«ã¿ã€ã æ€èšŒãšåããããããšã©ãŒã¡ãã»ãŒãžã远å ããããŒã¹ãéç¥ãçµ±äžã
+
+### èªåèµ·å
+
+Windows/macOS/Linux ã§èªåèµ·åããµããŒãã
+
+- èšå®ç»é¢ããã¯ã³ã¯ãªãã¯ã§ ON/OFF
+- Registry / LaunchAgent / XDG autostart ã䜿çš
+
+### æ°ãããã€ãããªã»ãã
+
+- **MiniMax** - å
¬åŒããŒãããŒ
+
+---
+
+## ãã°ä¿®æ£
+
+### éèŠä¿®æ£
+
+**ã«ã¹ã¿ã ãšã³ããã€ã³ãæ¶å€±**
+
+- åå : SQLite ã® `INSERT OR REPLACE` ãå
éšã§ `DELETE + INSERT` ãå®è¡ããå€éšããŒã®ã«ã¹ã±ãŒãåé€ãçºç
+- 察å¿: æ¢åãããã€ãæŽæ°ã `UPDATE` ã«å€æŽ
+
+**Gemini èšå®**
+
+- ã«ã¹ã¿ã ç°å¢å€æ°ã `.env` ã«æ£ããæžã蟌ãŸããªãåé¡ãä¿®æ£
+- èªèšŒèšå®ãä»ãã¡ã€ã«ã«èª€ã£ãŠæžã蟌ãŸããåé¡ãä¿®æ£
+
+**ãããã€ãæ€èšŒ**
+
+- çŸåšãããã€ã ID ãæ¬ èœããŠããå Žåã®ããªããŒã·ã§ã³ãšã©ãŒãä¿®æ£
+- è€è£œæã«ã¢ã€ã³ã³ãã£ãŒã«ãã倱ãããåé¡ãä¿®æ£
+
+### ãã©ãããã©ãŒã äºææ§
+
+**Linux**
+
+- WebKitGTK ã® DMA-BUF æç»åé¡ãè§£æ¶
+- ãŠãŒã¶ãŒã® `.desktop` ã«ã¹ã¿ãã€ãºãä¿æ
+
+### ãã®ä»ä¿®æ£
+
+- ã¢ããªåãæ¿ãæã®äžèŠãªäœ¿çšéã¯ãšãªãåæž
+- DMXAPI ããªã»ããã®èª€ã£ãããŒã¯ã³ãã£ãŒã«ããä¿®æ£
+- Deeplink ã³ã³ããŒãã³ãã®æ¬ æç¿»èš³ããŒãè£å®
+- 䜿çšéã¹ã¯ãªãããã³ãã¬ãŒãåæåãä¿®æ£
+
+---
+
+## æè¡çæ¹å
+
+### ã¢ãŒããã¯ãã£åç·š
+
+**Provider Service ã®ã¢ãžã¥ãŒã«å**:
+
+```
+services/provider/
+âââ mod.rs 远å /æŽæ°/åé€/åæ¿/æ€èšŒã®äžæ ž
+âââ live.rs ã©ã€ãèšå®ãã¡ã€ã«æäœ
+âââ gemini_auth.rs Gemini èªèšŒã¿ã€ãæ€åº
+âââ endpoints.rs ã«ã¹ã¿ã ãšã³ããã€ã³ã管ç
+âââ usage.rs 䜿çšéã¹ã¯ãªããå®è¡
+```
+
+**Deeplink ã®ã¢ãžã¥ãŒã«å**:
+
+```
+deeplink/
+âââ mod.rs ãšã¯ã¹ããŒã
+âââ parser.rs URL ããŒã¹
+âââ provider.rs ãããã€ãåã蟌ã¿
+âââ mcp.rs MCP åã蟌ã¿
+âââ prompt.rs ããã³ããåã蟌ã¿
+âââ skill.rs Skills åã蟌ã¿
+âââ utils.rs ãŠãŒãã£ãªãã£
+```
+
+### ã³ãŒãå質
+
+- ã¬ã¬ã·ãŒãª JSON æä»£ã®ã€ã³ããŒã/ãšã¯ã¹ããŒãæ»èµã³ãŒããåé€
+- 䜿ãããŠããªã MCP åãåé€ãããšã©ãŒãã³ããªã³ã°ãçµ±äž
+- ãã¹ãã SQLite ããã¯ãšã³ãã«ç§»è¡ããMSW ãã³ãã©ãææ° API ã«åãããŠæŽæ°
+
+---
+
+## æè¡çµ±èš
+
+```
+å
šäœå€æŽ:
+- ã³ããã: 51
+- 倿Žãã¡ã€ã«: 207
+- 远å : +17,297 è¡
+- åé€: -6,870 è¡
+- çŽå¢: +10,427 è¡
+
+ã³ãããçš®å¥:
+- fix: 25
+- refactor: 11
+- feat: 9
+- test: 1
+- other: 5
+
+倿Žç®æ:
+- ããã³ããšã³ã: 112 files
+- Rust ããã¯ãšã³ã: 63 files
+- ãã¹ã: 20 files
+- i18n: 3 files
+```
+
+---
+
+## ãã€ã°ã¬ãŒã·ã§ã³ã¬ã€ã
+
+### v3.7.x ããã®ã¢ããã°ã¬ãŒã
+
+**èªåãã€ã°ã¬ãŒã·ã§ã³**ïŒååèµ·åæïŒ:
+
+1. `config.json` ã®ååšãæ€åº
+2. å
šããŒã¿ããã©ã³ã¶ã¯ã·ã§ã³ã§ SQLite ã«ç§»è¡
+3. ããã€ã¹èšå®ã `settings.json` ãžç§»è¡
+4. ç§»è¡æåã®éç¥ã衚瀺
+
+**ããŒã¿ä¿è·**:
+
+- å
ã® `config.json` ã¯ä¿æïŒåé€ããªãïŒ
+- 倱ææã¯ãšã©ãŒãã€ã¢ãã°ã衚瀺ãã`config.json` ãæž©å
+- Dry-run ã¢ãŒãã§æ€èšŒå¯èœ
+
+---
+
+## ããŠã³ããŒã & ã€ã³ã¹ããŒã«
+
+### ã·ã¹ãã èŠä»¶
+
+- **Windows**: Windows 10+
+- **macOS**: macOS 10.15 (Catalina)+
+- **Linux**: Ubuntu 22.04+ / Debian 11+ / Fedora 34+
+
+### ããŠã³ããŒã
+
+[Releases](https://github.com/farion1231/cc-switch/releases/latest) ããå
¥æ:
+
+- **Windows**: `CC-Switch-v3.8.0-Windows.msi` ãŸã㯠`-Portable.zip`
+- **macOS**: `CC-Switch-v3.8.0-macOS.tar.gz` ãŸã㯠`.zip`
+- **Linux**: `CC-Switch-v3.8.0-Linux.AppImage` ãŸã㯠`.deb`
+
+### Homebrew (macOS)
+
+```bash
+brew tap farion1231/ccswitch
+brew install --cask cc-switch
+```
+
+ã¢ããããŒã:
+
+```bash
+brew upgrade --cask cc-switch
+```
+
+---
+
+## è¬èŸ
+
+### ã³ã³ããªãã¥ãŒã¿ãŒ
+
+- [@YoVinchen](https://github.com/YoVinchen) - UI ãšããŒã¿ããŒã¹ãªãã¡ã¯ã¿
+- [@farion1231](https://github.com/farion1231) - ãã°ä¿®æ£ãšæ©èœæ¡åŒµ
+- ã³ãã¥ããã£ã®çãã - ãã¹ããšãã£ãŒãããã¯
+
+### ã¹ãã³ãµãŒ
+
+**Zhipu AI** - GLM CODING PLAN ã¹ãã³ãµãŒ
+[10% ãªããªã³ã¯](https://z.ai/subscribe?ic=8JVLJQFSKB)
+
+**PackyCode** - API ãªã¬ãŒãµãŒãã¹ããŒãããŒ
+[ç»é²æã«ãcc-switchãã§ 10% ãªã](https://www.packyapi.com/register?aff=cc-switch)
+
+**ShandianShuo** - ããŒã«ã«ãã¡ãŒã¹ãé³å£°å
¥å
+[Mac/Windows ç¡æããŠã³ããŒã](https://shandianshuo.cn)
+
+**MiniMax** - MiniMax M2 CODING PLAN ã¹ãã³ãµãŒ
+[ãã©ãã¯ãã©ã€ããŒã»ãŒã«äžã$2 ãã](https://platform.minimax.io/subscribe/coding-plan)
+
+---
+
+## ãã£ãŒããã㯠& ãµããŒã
+
+- **Issue**: [GitHub Issues](https://github.com/farion1231/cc-switch/issues)
+- **Discussions**: [GitHub Discussions](https://github.com/farion1231/cc-switch/discussions)
+- **ããã¥ã¡ã³ã**: [README](../README.md)
+- **æŽæ°å±¥æŽ**: [CHANGELOG.md](../CHANGELOG.md)
+
+---
+
+## ä»åŸã®ããŒãããã
+
+**v3.9.0 äºåïŒäºå®ïŒ**:
+
+- ããŒã«ã«ãããã·æ©èœ
+
+ç¶å ±ã«ãæåŸ
ãã ããïŒ
+
+---
+
+**Happy Coding!**
diff --git a/docs/release-note-v3.8.0-zh.md b/docs/release-note-v3.8.0-zh.md
new file mode 100644
index 000000000..07a110d87
--- /dev/null
+++ b/docs/release-note-v3.8.0-zh.md
@@ -0,0 +1,369 @@
+# CC Switch v3.8.0
+
+> æä¹
åæ¶æå级ïŒäžºäºåæ¥å¥ å®åºç¡
+
+**[English Version â](release-note-v3.8.0-en.md)**
+
+---
+
+## æŠè§
+
+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 è¡
+
+æäº€ç±»åååžïŒ
+- fixïŒ25 䞪ïŒBug ä¿®å€ïŒ
+- refactorïŒ11 䞪ïŒä»£ç éæïŒ
+- featïŒ9 äžªïŒæ°åèœïŒ
+- testïŒ1 äžªïŒæµè¯ïŒ
+- å
¶ä»ïŒ5 䞪
+
+æ¹åšåºåååžïŒ
+- å端æºç ïŒ112 䞪æä»¶
+- Rust å端ïŒ63 䞪æä»¶
+- æµè¯æä»¶ïŒ20 䞪æä»¶
+- åœé
åæä»¶ïŒ3 䞪æä»¶
+```
+
+---
+
+## è¿ç§»è¯Žæ
+
+### ä» v3.7.x å级
+
+**èªåšè¿ç§»** - éŠæ¬¡å¯åšæ¶èªåšæ§è¡ïŒ
+
+1. æ£æµ `config.json` æ¯åŠååš
+2. åšäºå¡äžè¿ç§»æææ°æ®å° SQLite
+3. 讟å€çº§è®Ÿçœ®è¿ç§»å° `settings.json`
+4. æŸç€ºè¿ç§»æåéç¥
+
+**æ°æ®å®å
š**ïŒ
+
+- å `config.json` æä»¶ä¿çäžå é€
+- è¿ç§»å€±èŽ¥æ¶æŸç€ºéè¯¯å¯¹è¯æ¡ïŒä¿ç`config.json`
+- æ¯æ Dry-run æš¡åŒéªè¯è¿ç§»é»èŸ
+
+---
+
+## äžèœœäžå®è£
+
+### ç³»ç»èŠæ±
+
+- **Windows**ïŒWindows 10+
+- **macOS**ïŒmacOS 10.15ïŒCatalinaïŒ+
+- **Linux**ïŒUbuntu 22.04+ / Debian 11+ / Fedora 34+
+
+### äžèœœéŸæ¥
+
+è®¿é® [Releases](https://github.com/farion1231/cc-switch/releases/latest) äžèœœïŒ
+
+- **Windows**ïŒ`CC-Switch-v3.8.0-Windows.msi` æ `-Portable.zip`
+- **macOS**ïŒ`CC-Switch-v3.8.0-macOS.tar.gz` æ `.zip`
+- **Linux**ïŒ`CC-Switch-v3.8.0-Linux.AppImage` æ `.deb`
+
+### HomebrewïŒmacOSïŒ
+
+```bash
+brew tap farion1231/ccswitch
+brew install --cask cc-switch
+```
+
+æŽæ°ïŒ
+
+```bash
+brew upgrade --cask cc-switch
+```
+
+## èŽè°¢
+
+### 莡ç®è
+
+æè°¢ææè®©è¿äžªçæ¬æäžºå¯èœç莡ç®è
ïŒ
+
+- [@YoVinchen](https://github.com/YoVinchen) - UI åæ°æ®åºéæ
+- [@farion1231](https://github.com/farion1231) - BUG ä¿®å€ååèœå¢åŒº
+- ç€Ÿåºæåçæµè¯ååéŠ
+
+### èµå©å
+
+**æºè°±AI** - GLM CODING PLAN èµå©å
+[äœ¿çšæ€éŸæ¥èŽä¹°å¯äº«ä¹æäŒæ ](https://www.bigmodel.cn/claude-code?ic=RRVJPB5SII)
+
+**PackyCode** - API äžèœ¬æå¡åäœäŒäŒŽ
+[äœ¿çš "cc-switch" äŒæ ç æ³šå享 9 æäŒæ ](https://www.packyapi.com/register?aff=cc-switch)
+
+**éªçµè¯Ž** - æ¬å°äŒå
ç AI è¯é³èŸå
¥æ³
+[å
莹äžèœœ](https://shandianshuo.cn) Mac/Win åå¹³å°
+
+**MiniMax** - MiniMax M2 CODING PLAN èµå©å
+[é»äºäŒæ è¿è¡äžïŒå¥é€9.9å
èµ·](https://platform.minimaxi.com/subscribe/coding-plan)
+
+---
+
+## åéŠäžæ¯æ
+
+- **é®é¢åéŠ**ïŒ[GitHub Issues](https://github.com/farion1231/cc-switch/issues)
+- **讚论**ïŒ[GitHub Discussions](https://github.com/farion1231/cc-switch/discussions)
+- **ææ¡£**ïŒ[README](../README_ZH.md)
+- **æŽæ°æ¥å¿**ïŒ[CHANGELOG.md](../CHANGELOG.md)
+
+---
+
+## æªæ¥å±æ
+
+**v3.9.0 é¢è§**ïŒæå®ïŒïŒ
+
+- æ¬å°ä»£çåèœ
+
+æ¬è¯·æåŸ
æŽå€æŽæ°ïŒ
+
+---
+
+**Happy Coding!**