mirror of
https://github.com/farion1231/cc-switch.git
synced 2026-07-24 21:30:17 +08:00
df01755328
- Simplify "ChatGPT Plus / Pro" → "ChatGPT" across all three languages - Clarify Codex OAuth description to highlight Claude Code usage - Add "requires manual activation" note for Token Plan and third-party balances - Add Copilot API consumption caveat to the interaction optimizer section - Update overview with skills.sh search, usage tracking, and onboarding mentions - Add PR credits for TheRouter (@cmzz), Kaku/OMO Slim/Thinking fallback/auth tab (@yovinchen)
434 lines
25 KiB
Markdown
434 lines
25 KiB
Markdown
# CC Switch v3.13.0
|
||
|
||
> Lightweight Mode, Quota & Balance Visibility, Provider Model Auto-Fetch, Codex OAuth Reverse Proxy, and Tray Per-App Submenus
|
||
|
||
**[中文版 →](v3.13.0-zh.md) | [日本語版 →](v3.13.0-ja.md)**
|
||
|
||
---
|
||
|
||
## Overview
|
||
|
||
CC Switch v3.13.0 is a major feature release centered on observability, provider workflow ergonomics, and proxy compatibility. It adds inline **quota and balance displays** across official Claude / Codex / Gemini providers plus Token Plan, Copilot, and third-party balance APIs; introduces a **Lightweight Mode** that keeps CC Switch running from the system tray without a main window; delivers **automatic model discovery** via OpenAI-compatible `/v1/models` across all five supported applications; ships a **Codex OAuth reverse proxy** for ChatGPT subscribers; reorganizes the tray menu into **per-app submenus**; rebuilds the proxy forwarding stack on a **Hyper-based client**; and overhauls the **Skills workflow** with discovery, batch updates, storage-location toggling, and built-in skills.sh search and install. Additional improvements include full URL endpoint mode, enhanced token usage tracking, the Copilot interaction optimizer, a UTF-8 streaming chunk boundary fix for multi-byte output, a Linux startup UI responsiveness fix, and a friendlier new-user onboarding experience.
|
||
|
||
**Release Date**: 2026-04-10
|
||
|
||
**Update Scale**: 139 commits | 280 files changed | +31,627 / -3,042 lines
|
||
|
||
---
|
||
|
||
## Highlights
|
||
|
||
- **Lightweight Mode**: Tray-only operating mode that destroys the main window on exit to tray and recreates it on demand, reducing CC Switch's desktop footprint to near zero when idle
|
||
- **Quota & Balance Visibility**: Inline quota or balance readout across provider cards — official Claude / Codex / Gemini subscriptions, GitHub Copilot premium interactions, Codex OAuth, Token Plan providers (Kimi / Zhipu GLM / MiniMax), plus official balance queries for DeepSeek, StepFun, SiliconFlow, OpenRouter, and Novita AI
|
||
- **Provider Model Auto-Fetch**: OpenAI-compatible `/v1/models` discovery across Claude, Codex, Gemini, OpenCode, and OpenClaw provider forms, with grouped dropdown selection and failure-specific error messages
|
||
- **Codex OAuth Reverse Proxy**: ChatGPT Codex reverse proxy exposed as a new Claude provider card type, allowing users to use their ChatGPT subscription in Claude Code. Includes managed OAuth login and inline subscription quota display ([⚠️ Risk Notice](#️-risk-notice))
|
||
- **Tray Per-App Submenus**: Reworked the tray menu into per-application submenus so it never overflows the screen and background provider switching scales to dozens of providers per app
|
||
- **Skills Discovery & Batch Updates**: SHA-256-based skill update detection, per-skill and "Update All" batch actions, `skills.sh` search integration, and a storage-location toggle between CC Switch storage and `~/.agents/skills`
|
||
- **Session Workflow Upgrades**: Batch session deletion, a directory picker before launching Claude terminal restore, usage import from Claude / Codex / Gemini session logs without proxy interception, precise Codex JSONL parsing, and per-app usage filtering
|
||
- **OpenCode / OpenClaw Stream Check Coverage**: OpenCode detection via npm package mapping, OpenClaw `openai-completions` support, and the remaining OpenClaw protocol variants — with custom-header passthrough and auth-header detection fixes
|
||
- **Full URL Endpoint Mode**: Provider option that treats `base_url` as a complete upstream endpoint, unblocking vendors that require nonstandard URL layouts
|
||
- **Hyper-based Proxy Forwarding Stack**: Refactored proxy forwarding onto a Hyper-based client with transparent header forwarding, improved endpoint rewriting, and better support for dynamic upstream endpoints
|
||
- **Copilot Interaction Optimizer**: Request classification and routing logic that reduces unnecessary GitHub Copilot premium interaction consumption
|
||
- **UTF-8 Stream Chunk Boundary Fix**: All four SSE streaming paths now preserve incomplete multi-byte UTF-8 sequences across TCP chunks, eliminating intermittent U+FFFD garbled output via the Copilot reverse proxy
|
||
- **Linux Startup UI Fix**: Fixed the long-standing issue where the window UI couldn't receive clicks on Linux until the user manually maximized and restored the window
|
||
- **First-Run Onboarding**: One-time welcome dialog on fresh installs, automatic seeding of Claude / OpenAI / Google official presets, and auto-import of OpenCode / OpenClaw live configurations on startup
|
||
- **Claude Session Titles & Search Highlighting**: Meaningful title extraction for Claude sessions using a priority chain (custom-title metadata → first user message → directory basename), plus keyword highlighting in Session Manager search results
|
||
- **URL-Based Provider Icons**: Dual rendering mode supporting Vite URL imports for large SVGs and raster images (PNG, JPG, WebP), keeping small SVGs inlined
|
||
- **New Provider Presets**: TheRouter, DDSHub, LionCCAPI, Shengsuanyun (胜算云), PIPELLM, and E-FlowCode across supported applications
|
||
|
||
---
|
||
|
||
## New Features
|
||
|
||
### Lightweight Mode
|
||
|
||
A tray-only operating mode that dramatically reduces CC Switch's desktop footprint when idle.
|
||
|
||
- Destroys the main window on exit-to-tray instead of hiding it, freeing UI resources and memory
|
||
- Recreates the window on demand when the user reopens CC Switch from the tray, a deeplink, or single-instance activation
|
||
- Integrated into every window-re-show path: normal startup, deeplink, single_instance, tray `show_main`, and the lightweight-exit round-trip
|
||
|
||
### Quota & Balance Visibility
|
||
|
||
Added inline quota and balance readouts to provider cards so users can see remaining capacity without leaving the card.
|
||
|
||
- **Official subscriptions**: Inline quota display for Claude, Codex, and Gemini official providers
|
||
- **GitHub Copilot**: Premium interactions quota display on the Copilot provider card
|
||
- **Codex OAuth**: ChatGPT subscription quota inline with the Codex OAuth provider card
|
||
- **Token Plan providers**: Kimi, Zhipu GLM, and MiniMax usage progression display (requires manual activation to avoid confusion)
|
||
- **Third-party balances**: Official balance queries for DeepSeek, StepFun, SiliconFlow, OpenRouter, and Novita AI (requires manual activation to avoid confusion)
|
||
- Health-check and usage-config buttons are hidden for official providers to keep the card clean
|
||
|
||
### Provider Model Auto-Fetch
|
||
|
||
Added OpenAI-compatible model discovery to every provider form, removing the manual copy-paste loop for model IDs.
|
||
|
||
- Queries the configured provider endpoint's `/v1/models`
|
||
- Groups models in the dropdown by category for easier selection
|
||
- Failure-specific error messages distinguish network / authentication / endpoint issues
|
||
- Supported across all five applications: Claude, Codex, Gemini, OpenCode, and OpenClaw
|
||
|
||
### Codex OAuth Reverse Proxy
|
||
|
||
Added a reverse proxy path for ChatGPT subscribers who want to use their ChatGPT subscription in Claude Code.
|
||
|
||
- Managed OAuth login flow with ChatGPT authentication
|
||
- Surfaces as a new Claude provider card type alongside API-key providers
|
||
- Inline subscription quota display
|
||
- Integrated into the Auth Center for unified token management
|
||
- See the [⚠️ Risk Notice](#️-risk-notice) below before enabling
|
||
|
||
### Tray Per-App Submenus
|
||
|
||
Reorganized the tray menu so providers are grouped under each application instead of living in a flat list.
|
||
|
||
- Per-application submenus for Claude, Codex, Gemini, OpenCode, and OpenClaw
|
||
- Prevents the tray menu from overflowing the screen when users have many providers
|
||
- Background provider switching scales cleanly to long provider lists
|
||
|
||
### Skills Discovery & Batch Updates
|
||
|
||
Upgraded the Skills management panel into a complete discovery plus maintenance workflow.
|
||
|
||
- **SHA-256 update detection**: Skills are content-hashed so the UI knows exactly which ones have upstream changes
|
||
- **Per-skill and batch updates**: Individual "Update" buttons plus an animated "Update All" batch action
|
||
- **Storage-location toggle**: Switch between CC Switch storage and `~/.agents/skills` without losing skill state
|
||
- **Public registry search**: `skills.sh` search integrated directly into the dialog for discovering community skills
|
||
|
||
### Session Workflow Upgrades
|
||
|
||
Multiple session management improvements that reduce friction when working with Claude / Codex / Gemini sessions.
|
||
|
||
- **Batch session deletion**: Select and delete multiple sessions at once from Session Manager (#1693, thanks @Alexlangl)
|
||
- **Directory picker before restore**: Claude terminal restore now prompts for the working directory up front (#1752, thanks @yovinchen)
|
||
- **Usage from session logs without proxy**: Usage data imported directly from Claude / Codex / Gemini session logs — no proxy interception required
|
||
- **Precise Codex JSONL parsing**: Replaced estimated Codex usage with precise JSONL session-log parsing plus Codex model name normalization for consistent pricing lookup
|
||
- **Gemini CLI session log integration**: Gemini usage now syncs accurately from Gemini CLI session logs
|
||
- **Per-app usage filtering**: Filter the usage dashboard by Claude, Codex, or Gemini independently
|
||
|
||
### OpenCode / OpenClaw Stream Check Coverage
|
||
|
||
Extended the Stream Check panel to cover the full OpenCode and OpenClaw surface area.
|
||
|
||
- OpenCode detection via npm package mapping
|
||
- Support for the OpenClaw `openai-completions` protocol
|
||
- Support for the remaining three OpenClaw protocol variants
|
||
- Edge-case handling for custom-header passthrough, OpenClaw custom auth-header detection, Bedrock error messaging, and OpenCode default `baseURL` fallback
|
||
|
||
### Full URL Endpoint Mode
|
||
|
||
Added a provider option that treats `base_url` as a complete upstream endpoint instead of a base URL with path appending (#1561, thanks @yovinchen).
|
||
|
||
- Proxy forwarding and Stream Check both honor the full-URL mode
|
||
- Unblocks vendors that require nonstandard URL layouts
|
||
- Configurable per-provider on the provider form
|
||
|
||
### OpenCode StepFun Step Plan Preset
|
||
|
||
- Added a StepFun Step Plan provider preset for OpenCode with sensible defaults (#1668, thanks @sky-wang-salvation)
|
||
|
||
### Copilot Interaction Optimizer
|
||
|
||
Added request classification and routing logic that reduces unnecessary GitHub Copilot premium interaction consumption.
|
||
|
||
- Classifies incoming requests by intent and weight
|
||
- Routes low-value requests away from premium interaction consumption paths
|
||
- Designed to extend the usable lifetime of a Copilot subscription
|
||
- Note: Even with optimized consumption, using the Copilot API outside of Copilot still consumes more than using it within Copilot.
|
||
|
||
### First-Run Welcome Dialog
|
||
|
||
Added a one-time welcome dialog on fresh installs to guide new users through the CC Switch workflow.
|
||
|
||
- Explains how existing live configuration is preserved as a default provider
|
||
- Introduces the bundled official preset that enables one-click revert to official endpoints
|
||
- Upgrade users are automatically excluded via empty provider check
|
||
|
||
### Official Provider Seeding
|
||
|
||
- Added automatic seeding of Claude Official, OpenAI Official, and Google Official provider entries on startup, giving every user a one-click path back to the official endpoint
|
||
|
||
### OpenCode / OpenClaw Auto-Import
|
||
|
||
- Added automatic startup import of live OpenCode and OpenClaw provider configurations, matching the auto-import behavior already present for Claude, Codex, and Gemini
|
||
|
||
### Common Config Editor Guidance
|
||
|
||
- Added an informational guide and empty-state prompt to the Common Config snippet editor modal for Claude, Codex, and Gemini
|
||
- Added a one-time informational dialog explaining Common Config Snippets when users first open the provider add/edit form
|
||
|
||
### Claude Session Titles & Search Highlighting
|
||
|
||
- Added meaningful title extraction for Claude sessions using a priority chain: custom-title metadata, first real user message, then directory basename fallback
|
||
- Added keyword highlighting in session titles and messages during Session Manager search
|
||
|
||
### URL-Based Provider Icons
|
||
|
||
- Added a dual rendering mode to the icon system: small SVGs are inlined as React components, while large SVGs and raster images (PNG, JPG, WebP) are loaded via Vite URL imports as `<img>` tags
|
||
|
||
### Kaku Terminal Support
|
||
|
||
- Added Kaku as a selectable terminal for session launch on macOS, reusing the WezTerm-compatible launch path (#1983, thanks @yovinchen)
|
||
|
||
### OMO Slim Council Support
|
||
|
||
- Restored first-class council support as a built-in oh-my-opencode-slim agent with updated metadata and UI copy (#1982, thanks @yovinchen)
|
||
|
||
### New Provider Presets
|
||
|
||
- **TheRouter**: Added across Claude, Codex, Gemini, OpenCode, and OpenClaw (#1891, #1892, thanks @cmzz)
|
||
- **DDSHub**: Added as a third-party partner provider for Claude with icon and partner promotion text
|
||
- **LionCCAPI**: Added across all five apps with anthropic-messages protocol for OpenCode and OpenClaw
|
||
- **Shengsuanyun (胜算云)**: Added as an aggregator partner provider across all five apps with URL-based icon and localized display name
|
||
- **PIPELLM**: Added across Claude, Codex, OpenCode, and OpenClaw with full model definitions and icon
|
||
- **E-FlowCode**: Added across all five apps with per-app protocol configuration
|
||
|
||
---
|
||
|
||
## Changes
|
||
|
||
### Tray Menu Organization
|
||
|
||
- Reworked the tray menu into per-application submenus (Claude / Codex / Gemini / OpenCode / OpenClaw)
|
||
- Prevents overflow and scales to long provider lists
|
||
|
||
### Proxy Forwarding Stack
|
||
|
||
Rebuilt the proxy forwarding layer on a Hyper-based HTTP client (#1714, thanks @yovinchen).
|
||
|
||
- Transparent header forwarding: headers are forwarded without aggressive filtering
|
||
- Improved endpoint rewriting logic
|
||
- Better support for dynamic upstream endpoints
|
||
- Paired with the new Full URL Endpoint Mode to unblock vendors with nonstandard URL layouts
|
||
|
||
### OAuth Auth Center UI Polish
|
||
|
||
- Tightened the Auth Center copy, layout, and icon presentation so the Codex OAuth login flow feels cleaner and less cluttered
|
||
|
||
### Provider Key Lifecycle & Live Sync
|
||
|
||
Reworked the additive provider create / rename / duplicate flows so live config writes, cleanup, and rollback stay consistent across OpenCode / OpenClaw and takeover scenarios (#1724, thanks @yovinchen).
|
||
|
||
- Additive-mode highlight behavior made persistent across refreshes (#1747, thanks @yovinchen)
|
||
- Consistent live config writes across OpenCode / OpenClaw
|
||
- Rollback behavior preserved when operations fail
|
||
|
||
### Codex OAuth Defaults
|
||
|
||
- Updated the Codex OAuth preset to the GPT-5.4 model family
|
||
|
||
---
|
||
|
||
## Bug Fixes
|
||
|
||
### Copilot Authentication & Proxy Compatibility
|
||
|
||
- Fixed GitHub Copilot authentication regressions (#1854, thanks @Mason-mengze)
|
||
- Corrected enterprise and dynamic endpoint handling
|
||
- Repaired clipboard verification-code copying on macOS and Linux
|
||
- Fixed Responses routing when Copilot-backed Claude providers target OpenAI models (#1735, thanks @Mason-mengze)
|
||
|
||
### UTF-8 Stream Chunk Boundaries
|
||
|
||
Fixed intermittent garbled output (U+FFFD replacement characters) in Claude Code when multi-byte UTF-8 sequences such as Chinese characters and emoji were split across TCP stream chunks via the Copilot reverse proxy (#1923, thanks @Cod1ng).
|
||
|
||
- Replaced `String::from_utf8_lossy` with a new `append_utf8_safe` helper across all four SSE streaming paths
|
||
- Preserves incomplete trailing bytes in a remainder buffer and merges them with the next chunk before decoding
|
||
- Not reproducible with direct Copilot connections that pass through raw bytes without format conversion
|
||
|
||
### Fragmented System Prompt Normalization
|
||
|
||
Fixed strict OpenAI-compatible chat backends (Nvidia, Qwen-style) rejecting requests when converted Claude payloads contained multiple system messages (#1942, thanks @yovinchen).
|
||
|
||
- Normalized system content into a single leading system message during the Anthropic → OpenAI chat transformation
|
||
- Leaves the rest of the message stream unchanged
|
||
|
||
### Streaming Parser Compatibility
|
||
|
||
- Fixed SSE parsing to accept fields with optional spaces, improving compatibility with non-strict streaming implementations (#1664, thanks @Alexlangl)
|
||
|
||
### Provider Switch State Corruption
|
||
|
||
- Serialized per-app provider switches to prevent concurrent failover or hot-switch operations from leaving `is_current`, settings state, and live backup state out of sync
|
||
|
||
### Claude Takeover Live Config Drift
|
||
|
||
- Fixed provider edits while Claude takeover is active so live settings remain aligned with the latest provider state without breaking takeover restore behavior (#1828, thanks @geekdada)
|
||
|
||
### WebDAV Password Retention & Validation
|
||
|
||
- Fixed the WebDAV password field so saved credentials remain visible after refresh
|
||
- Treated `MKCOL 405` responses correctly during connection validation (#1685, thanks @Alexlangl)
|
||
|
||
### Provider Card Action States
|
||
|
||
- Fixed additive-mode highlight behavior (#1747, thanks @yovinchen)
|
||
- Aligned usage display layout across provider cards by always rendering action buttons
|
||
- Replaced hard proxy-switch blocking with a warning path
|
||
- Disabled unsupported test and usage actions for Copilot and Codex OAuth cards
|
||
- Hid usage-config and health-check buttons for official providers
|
||
- Removed the hover-push animation from provider cards
|
||
|
||
### Usage Accuracy & Pricing
|
||
|
||
- Fixed MiniMax quota math and 0% → 100% progression
|
||
- Corrected CNY → USD pricing plus missing model definitions
|
||
- Improved Gemini session-log syncing accuracy
|
||
- Resolved session-based usage entries being shown as unknown providers
|
||
|
||
### Usage Editor & Skills UI Regressions
|
||
|
||
- Fixed usage query fields being reset while editing extractor code (#1771, thanks @if-nil)
|
||
- Corrected broken `skills.sh` links and empty descriptions
|
||
- Fixed auto-query default interval (5 min) and number-input clearing in usage configuration
|
||
|
||
### Chinese Skills Terminology
|
||
|
||
- Unified Skills-related labels across settings panels in the `zh` locale so storage and sync options use consistent wording
|
||
|
||
### Environment & Preset Compatibility
|
||
|
||
- Added Bun global bin detection in CLI scan (#1742, thanks @makoMakoGo)
|
||
- Adapted to the oh-my-openagent rename with backward compatibility (#1746, thanks @yovinchen)
|
||
- Corrected the OpenCode `kimi-for-coding` preset (#1738, thanks @makoMakoGo)
|
||
- Gated Gemini keychain parsing to macOS only
|
||
- Fixed an OpenClaw serializer panic on empty collections (#1724, thanks @yovinchen)
|
||
|
||
### Linux UI Unresponsive on Startup
|
||
|
||
Fixed a long-standing Linux bug where the window UI (including native title bar buttons) couldn't receive clicks until the user manually maximized and restored the window.
|
||
|
||
- **Root causes**: (1) Tauri webview did not acquire keyboard focus after `show()` on Linux, so the first click was consumed by X11/Wayland click-to-activate (Tauri #10746, wry #637); (2) GTK surface's input region failed to renegotiate on the `visible:false → show()` path under some WebKitGTK/compositor combinations, leaving the entire window unresponsive
|
||
- **Mitigations**: Set `WEBKIT_DISABLE_COMPOSITING_MODE=1` at startup, and added a new `linux_fix::nudge_main_window` helper that performs `set_focus` + a ±1px no-op resize ~200ms after show, equivalent to a visually invisible "maximize-and-restore"
|
||
- **Coverage**: Wired into all window-re-show paths — normal startup, deeplink, single_instance, tray `show_main`, and lightweight-mode exit
|
||
|
||
### Linux Drag Region on Header
|
||
|
||
- Removed `data-tauri-drag-region` from the top header bar on Linux to avoid triggering `gtk_window_begin_move_drag` paths affected by Tauri #13440 under Wayland
|
||
- macOS drag behavior is preserved
|
||
|
||
### OpenCode / OpenClaw Stream Check Edge Cases
|
||
|
||
- Fixed custom-header passthrough
|
||
- OpenClaw custom auth-header detection
|
||
- Bedrock error messaging
|
||
- OpenCode default `baseURL` fallback handling
|
||
|
||
### Duplicate Toast on Provider Switch
|
||
|
||
- Fixed double toast notifications (proxy-required warning followed by switch-success) when switching to Copilot, ChatGPT, or OpenAI-format providers with the proxy not running
|
||
|
||
### Session Search Accuracy & Chinese Support
|
||
|
||
- Fixed session search result truncation across providers
|
||
- Switched FlexSearch tokenizer to full mode for proper Chinese substring matching
|
||
|
||
### Adaptive Thinking Reasoning Effort
|
||
|
||
- Fixed `resolve_reasoning_effort()` mapping adaptive thinking to `xhigh` instead of incorrectly using `high` in OpenAI format conversions
|
||
|
||
### Thinking Model Fallback Display
|
||
|
||
- Fixed the Claude provider form showing an empty Thinking model field after saving only a main model by applying read-only fallback to ANTHROPIC_MODEL (#1984, thanks @yovinchen)
|
||
|
||
### Auth Tab Localization
|
||
|
||
- Fixed missing i18n translation keys for the settings auth tab label across all locale bundles (#1985, thanks @yovinchen)
|
||
|
||
### Schema Migration Guard
|
||
|
||
- Fixed database migrations failing when skills or model_pricing tables did not exist by adding table-existence checks before ALTER and UPDATE operations
|
||
|
||
---
|
||
|
||
## Documentation
|
||
|
||
### User Manual Refresh
|
||
|
||
- Updated the EN / ZH / JA user manuals to cover tray submenus, lightweight mode, provider model fetching, session management, workspace files, WebDAV v2 behavior, OpenCode / OpenClaw activation, and other provider workflow improvements
|
||
|
||
### Community & Contribution Docs
|
||
|
||
- Added `CONTRIBUTING.md`, `SECURITY.md`, and `CODE_OF_CONDUCT.md`
|
||
- Added bilingual GitHub issue and PR templates
|
||
- Added Dependabot configuration (#1829, thanks @bengbengbalabalabeng) and a stale-bot workflow for inactive issues
|
||
- Added a PR / push quality-checks CI workflow
|
||
|
||
### Release Notes Risk Notice Backport
|
||
|
||
- Added a Copilot reverse proxy risk notice and anchored highlight links in the v3.12.3 release notes across all three languages
|
||
|
||
### Sponsor Partners
|
||
|
||
- Added Shengsuanyun, LionCC, and DDS as sponsor partners in README across all languages
|
||
|
||
---
|
||
|
||
## ⚠️ Risk Notice
|
||
|
||
**Codex OAuth Reverse Proxy Disclaimer**
|
||
|
||
The Codex OAuth reverse proxy introduced in this release accesses ChatGPT Codex services through reverse-engineered OAuth flows. Please be aware of the following risks before enabling this feature:
|
||
|
||
1. **Terms of Service**: Using reverse-engineered OAuth flows to access OpenAI services may violate OpenAI's terms of service, which prohibit unauthorized automated access, service reproduction, and circumventing intended access paths.
|
||
2. **Account Risk**: OpenAI may flag unusual usage patterns as suspicious automated activity, potentially resulting in temporary or permanent restrictions on ChatGPT access.
|
||
3. **No Guarantee**: OpenAI may update its authentication and detection mechanisms at any time, and usage patterns that work today may be flagged in the future.
|
||
|
||
The **GitHub Copilot reverse proxy** introduced in v3.12.3 also remains subject to its existing risk notice — see the [v3.12.3 release notes](v3.12.3-en.md#️-risk-notice) for the full disclosure.
|
||
|
||
Users enable these features **at their own risk**. CC Switch is not responsible for any account restrictions, warnings, or service suspensions resulting from the use of these features.
|
||
|
||
---
|
||
|
||
## Download & Installation
|
||
|
||
Visit [Releases](https://github.com/farion1231/cc-switch/releases/latest) to download the appropriate version.
|
||
|
||
### System Requirements
|
||
|
||
| System | Minimum Version | Architecture |
|
||
| ------- | ------------------------------- | ----------------------------------- |
|
||
| Windows | Windows 10 or later | x64 |
|
||
| macOS | macOS 12 (Monterey) or later | Intel (x64) / Apple Silicon (arm64) |
|
||
| Linux | See table below | x64 |
|
||
|
||
### Windows
|
||
|
||
| File | Description |
|
||
| ------------------------------------------ | ---------------------------------------------------- |
|
||
| `CC-Switch-v3.13.0-Windows.msi` | **Recommended** - MSI installer with auto-update |
|
||
| `CC-Switch-v3.13.0-Windows-Portable.zip` | Portable version, extract and run, no registry write |
|
||
|
||
### macOS
|
||
|
||
| File | Description |
|
||
| ---------------------------------- | -------------------------------------------------------------------- |
|
||
| `CC-Switch-v3.13.0-macOS.dmg` | **Recommended** - DMG installer, drag to Applications, Universal Binary |
|
||
| `CC-Switch-v3.13.0-macOS.zip` | ZIP archive, extract and drag to Applications, Universal Binary |
|
||
| `CC-Switch-v3.13.0-macOS.tar.gz` | For Homebrew installation and auto-update |
|
||
|
||
> macOS builds are code-signed and notarized by Apple for a seamless install experience.
|
||
|
||
### Homebrew (macOS)
|
||
|
||
```bash
|
||
brew tap farion1231/ccswitch
|
||
brew install --cask cc-switch
|
||
```
|
||
|
||
Update:
|
||
|
||
```bash
|
||
brew upgrade --cask cc-switch
|
||
```
|
||
|
||
### Linux
|
||
|
||
| Distribution | Recommended Format | Installation Method |
|
||
| --------------------------------------- | ------------------ | ---------------------------------------------------------------------- |
|
||
| Ubuntu / Debian / Linux Mint / Pop!\_OS | `.deb` | `sudo dpkg -i CC-Switch-*.deb` or `sudo apt install ./CC-Switch-*.deb` |
|
||
| Fedora / RHEL / CentOS / Rocky Linux | `.rpm` | `sudo rpm -i CC-Switch-*.rpm` or `sudo dnf install ./CC-Switch-*.rpm` |
|
||
| openSUSE | `.rpm` | `sudo zypper install ./CC-Switch-*.rpm` |
|
||
| Arch Linux / Manjaro | `.AppImage` | Add execute permission and run directly, or use AUR |
|
||
| Other distributions / Unsure | `.AppImage` | `chmod +x CC-Switch-*.AppImage && ./CC-Switch-*.AppImage` |
|