mirror of
https://github.com/farion1231/cc-switch.git
synced 2026-07-25 13:45:03 +08:00
6495da03b7
Cover Hermes Agent onboarding (6th managed app), Claude Opus 4.7 rollout, Gemini Native API proxy, "Local Routing" rename, application-level window controls, Copilot premium consumption deep optimization, session list virtualization, Usage date range picker, Stream Check error classification, pricing v8->v9 reseed, and related breaking changes. 18 external PR contributions credited in all three locales.
470 lines
25 KiB
Markdown
470 lines
25 KiB
Markdown
# CC Switch v3.14.0
|
||
|
||
> Hermes Agent becomes the 6th managed app, Claude Opus 4.7 rolls out across the preset matrix, Gemini Native API proxy, "Local Routing" rename, and application-level window controls
|
||
|
||
**[中文版 →](v3.14.0-zh.md) | [日本語版 →](v3.14.0-ja.md)**
|
||
|
||
---
|
||
|
||
## Overview
|
||
|
||
CC Switch v3.14.0 is a major release centered on onboarding **Hermes Agent as the 6th first-class managed app** and rolling out **Claude Opus 4.7** across the full aggregator and Bedrock preset matrix. Hermes support covers a database v9 → v10 migration, a complete Rust command surface, YAML-backed `~/.hermes/config.yaml` read/write with atomic backups, MCP sync, Skills sync, SQLite + JSONL session management, and dedicated frontend panels including a Memory editor. All four API protocols aligned with Hermes Agent 0.10.0 (`chat_completions`, `anthropic_messages`, `codex_responses`, `bedrock_converse`) are selectable. Providers owned by the user-authored `providers:` dict are rendered as read-only cards, and deep YAML configuration is delegated directly to the Hermes Web UI.
|
||
|
||
Beyond Hermes, this release adds a **Gemini Native API proxy** (`api_format = "gemini_native"`) so the proxy can forward directly to Google's `generateContent` endpoint with full streaming, schema conversion, and shadow request support; renames the legacy "Local Proxy Takeover" to **Local Routing** across UI copy, README, and docs in all three locales; introduces **application-level window controls**, an opt-in setting that materially improves the experience on Linux Wayland where compositor-drawn buttons can become inert; and bundles late additions for launching `hermes dashboard` from the toolbar, a LemonData preset across all six apps, a DDSHub Codex endpoint, plus several Hermes health-check and Usage modal fixes.
|
||
|
||
On the session side, the message list is **virtualized** via `@tanstack/react-virtual` so conversations with thousands of records scroll smoothly and long messages collapse by default; the Usage dashboard adds a **date range picker** (Today / 1d / 7d / 14d / 30d + custom date-time calendar) and a page-jump input; **Stream Check error classification** now surfaces color-coded toasts with refreshed default probe models and an explicit "model not found" branch; and switching to official providers is **blocked while Local Routing is active** to avoid account-suspension risk. The pricing database is reseeded from v8 → v9 with ~50 new model entries (Claude 4.7, Opus 4.7 Adaptive Thinking, Grok 4, Qwen 3.5/3.6, MiniMax M2.5/M2.7, Doubao Seed 2.0 series, GLM-5/5.1 and others) and corrected stale prices.
|
||
|
||
**Release Date**: 2026-04-21
|
||
|
||
**Update Scale**: 100 commits | 219 files changed | +20,548 / -3,569 lines
|
||
|
||
---
|
||
|
||
## Highlights
|
||
|
||
- **Hermes Agent Support (6th Managed App)**: Database v9 → v10 migration, full Rust command surface, YAML read/write with atomic backups, MCP sync, Skills sync, SQLite + JSONL session management, dedicated frontend panels, and four API protocols (`chat_completions` / `anthropic_messages` / `codex_responses` / `bedrock_converse`)
|
||
- **Claude Opus 4.7 Rollout**: Adaptive thinking whitelisting, per-million pricing seed, Bedrock SKU (`anthropic.claude-opus-4-7` / `global.anthropic.claude-opus-4-7`, dropping the legacy `-v1` suffix); all aggregator and Bedrock presets migrated to Opus 4.7 as the default Opus model
|
||
- **Claude `max` Effort Tier**: Effort dropdown upgraded from `high` to `max`
|
||
- **Gemini Native API Proxy**: New `api_format = "gemini_native"` forwards directly to Google's `generateContent` with full streaming / schema conversion / shadow request support
|
||
- **GitHub Copilot Enterprise Server**: GHES authentication and endpoint configuration for Copilot-backed Claude providers
|
||
- **Copilot Premium Consumption Deep Optimization**: Proactive thinking-block stripping before forwarding, `tool_result` classification fix, subagent detection, `x-interaction-id` billing merge, orphan `tool_result` sanitization, and default warmup downgrade — a systematic reduction in premium interaction consumption
|
||
- **Session List Virtualization**: Long conversations scroll smoothly and long messages collapse by default to reduce text layout cost
|
||
- **Codex / OpenClaw Session Title Extraction**: Meaningful title extraction with 2-line display; strips OpenClaw `message_id` suffix noise
|
||
- **Usage Date Range Picker**: Today / 1d / 7d / 14d / 30d preset tabs + custom date-time calendar; page-jump input on paginated lists
|
||
- **Stream Check Error Classification**: Color-coded error toasts; refreshed default probe models; explicit "model not found" detection
|
||
- **Block Official Provider Switching During Local Routing**: Routing official API traffic through the local proxy carries account-suspension risk — switches are blocked with a warning toast
|
||
- **Pricing Database Refresh (v8 → v9)**: ~50 new model entries and corrected stale prices
|
||
- **Application-Level Window Controls**: Opt-in setting to render CC Switch's own min/max/close buttons, materially improving Linux Wayland experience
|
||
- **Hermes in Unified Skills Management**: Skill install, enable, and filter now cover Hermes
|
||
- **Hermes / OpenClaw Config Directory Override**: Point CC Switch at a custom `~/.hermes/config.yaml` or `openclaw.json` location
|
||
- **Launch Hermes Dashboard from Toolbar**: When the Hermes Web UI probe fails, the toolbar entry offers to run `hermes dashboard` in the user's preferred terminal
|
||
- **New Partner Presets**: LemonData across all six apps; DDSHub Codex endpoint; StepFun Step Plan
|
||
|
||
---
|
||
|
||
## Added
|
||
|
||
### Hermes Agent Support (6th Managed App)
|
||
|
||
CC Switch now treats Hermes Agent as a first-class managed app alongside Claude / Codex / Gemini / OpenCode / OpenClaw.
|
||
|
||
- **Database Migration v9 → v10**: Adds `enabled_hermes` columns to `mcp_servers` and `skills` tables (`DEFAULT 0`, auto-migrated, no data loss)
|
||
- **YAML Configuration Read/Write**: `~/.hermes/config.yaml` read/write with atomic backups; `tests/hermes_roundtrip.rs` guards against dropped OAuth MCP `auth` blocks or pollution of unrelated YAML keys
|
||
- **Four API Protocols**: Aligned with Hermes Agent 0.10.0 — `chat_completions` / `anthropic_messages` / `codex_responses` / `bedrock_converse`; new deeplinks default to `chat_completions`
|
||
- **User `providers:` Dict Read-Only Rendering**: User-authored providers in the YAML appear as read-only cards in CC Switch; deep configuration delegates to the Hermes Web UI
|
||
- **Additive Switching**: Unlike Claude / Codex's "override" style, all Hermes providers coexist in the same YAML
|
||
|
||
### Hermes Memory Panel
|
||
|
||
- New Memory panel for editing `MEMORY.md` / `USER.md` directly, with an enable switch, character-count limits, and a live save flow
|
||
- Replaces the Prompts entry for Hermes
|
||
|
||
### Hermes Provider Presets (~50)
|
||
|
||
- Covers Nous Research, Shengsuanyun, OpenRouter, DeepSeek, Together AI, StepFun, Zhipu GLM, Bailian, Kimi, MiniMax, DouBao, BaiLing, ModelScope, KAT-Coder, PackyCode, Cubence, AIGoCode, RightCode, AICodeMirror, AICoding, CrazyRouter, SSSAiCode, Micu, CTok.ai, DDSHub, E-FlowCode, LionCCAPI, PIPELLM, Compshare, SiliconFlow, AiHubMix, DMXAPI, TheRouter, Novita, Nvidia, and Xiaomi MiMo
|
||
|
||
### Launch Hermes Dashboard from Toolbar
|
||
|
||
- When the Hermes Web UI probe fails, the toolbar entry opens a confirm dialog offering to run `hermes dashboard` in the user's preferred terminal
|
||
- Spawned via a temp bash / batch script; `hermes dashboard` opens the browser itself once ready, so no polling is required
|
||
- The Memory panel and Health banner keep the existing toast behavior
|
||
- Also corrects the stale `hermes web` hint in the offline toast (the real command is `hermes dashboard`)
|
||
- Linux terminal detection reordered to try `which` before stat'ing `/usr/bin`, `/bin`, `/usr/local/bin`
|
||
|
||
### Claude Opus 4.7 Support
|
||
|
||
- New Claude Opus 4.7 with adaptive thinking whitelisting, per-million pricing seed, and Bedrock SKU (`anthropic.claude-opus-4-7` / `global.anthropic.claude-opus-4-7`, dropping the legacy `-v1` suffix)
|
||
- All aggregator and Bedrock presets migrated to Opus 4.7 as the default Opus model
|
||
|
||
### Claude `max` Effort Tier
|
||
|
||
- Claude effort dropdown upgraded from `high` to `max` for extended reasoning capacity
|
||
|
||
### Gemini Native API Proxy
|
||
|
||
- New `api_format = "gemini_native"` so the proxy can forward directly to Google's `generateContent` API (#1918, thanks @yovinchen)
|
||
- Full streaming, schema conversion, and shadow request support
|
||
- Adds `gemini_url.rs`, `gemini_schema.rs`, `gemini_shadow.rs`, `streaming_gemini.rs`, and `transform_gemini.rs` under the proxy providers module
|
||
|
||
### GitHub Copilot Enterprise Server (GHES)
|
||
|
||
- GHES authentication and endpoint configuration for Copilot-backed Claude providers (#2175, thanks @hotelbe)
|
||
|
||
### Session List Virtualization
|
||
|
||
- Virtualized the session list via `@tanstack/react-virtual` so long conversations (thousands of records) scroll smoothly
|
||
- Long session messages are collapsed by default to reduce text layout cost
|
||
|
||
### Codex / OpenClaw Session Title Extraction
|
||
|
||
- Meaningful title auto-extraction for Codex and OpenClaw sessions with 2-line display
|
||
- Strips OpenClaw `message_id` suffix noise
|
||
|
||
### Usage Date Range Picker
|
||
|
||
- New date range selector on the usage dashboard with preset tabs (Today / 1d / 7d / 14d / 30d) + custom date + time calendar (#2002, thanks @yovinchen)
|
||
- Page-jump input added on paginated lists
|
||
|
||
### Model Mapping Quick-Set
|
||
|
||
- New quick-set button next to model mapping fields in provider forms for faster edits (#2179, thanks @lispking)
|
||
|
||
### Stream Check Error Classification
|
||
|
||
- Stream Check errors are classified and surfaced as color-coded toasts
|
||
- Refreshed default probe models to match each vendor's current lineup
|
||
- Explicit detection for "model not found" responses
|
||
|
||
### Block Official Provider Switching During Local Routing
|
||
|
||
- Switching to official providers is blocked while Local Routing is active, with a warning toast
|
||
- Reason: routing official API traffic through the local proxy carries account-suspension risk
|
||
|
||
### Pricing Database Refresh (v8 → v9)
|
||
|
||
- Reseed-on-migration pricing table
|
||
- ~50 new model pricing entries including Claude 4.7, Opus 4.7 Adaptive Thinking, Grok 4, Qwen 3.5/3.6, MiniMax M2.5/M2.7, Doubao Seed 2.0 series, GLM-5/5.1
|
||
- Corrected stale prices for DeepSeek, Kimi K2.5, and others
|
||
|
||
### Application-Level Window Controls
|
||
|
||
- Opt-in setting to render CC Switch's own minimize / toggle-maximize / close buttons instead of system decorations (#1119, thanks @git1677967754)
|
||
- Materially improves the experience on Linux Wayland where compositor-drawn buttons can become inert
|
||
|
||
### Hermes in Unified Skills Management
|
||
|
||
- Hermes is added to the unified Skills surface
|
||
- Skill install, enable, and filter now cover the Hermes app alongside Claude / Codex / Gemini / OpenCode / OpenClaw
|
||
|
||
### OpenClaw Config Directory Override
|
||
|
||
- New settings option to point CC Switch at a custom `openclaw.json` location (#1518, thanks @mrFranklin)
|
||
|
||
### Hermes Config Directory Override
|
||
|
||
- New settings option to point CC Switch at a custom `~/.hermes/config.yaml` location, backed by data-driven dispatch
|
||
|
||
### StepFun Step Plan Preset
|
||
|
||
- StepFun Step Plan (EN / ZH) provider presets (#2155, thanks @hengm3467)
|
||
|
||
### New API Usage Script Template
|
||
|
||
- Added a User-Agent header to the New API usage script template for better upstream compatibility
|
||
|
||
### LemonData Provider Preset (All Six Apps)
|
||
|
||
- LemonData registered as a third-party partner preset across Claude, Codex, Gemini, OpenCode, OpenClaw, and Hermes
|
||
- Icon assets and zh / en / ja partner-promotion copy
|
||
- Claude preset uses `ANTHROPIC_API_KEY` auth; OpenAI-compatible apps target `gpt-5.4`
|
||
|
||
### DDSHub Codex Preset
|
||
|
||
- Added a Codex-compatible endpoint for DDSHub at the same host as its Claude service
|
||
- Base URL omits the `/v1` suffix because the gateway auto-routes OpenAI SDK paths
|
||
|
||
---
|
||
|
||
## Changed
|
||
|
||
### "Local Proxy Takeover" → "Local Routing"
|
||
|
||
- Unified the terminology across UI copy, README, and docs in all three locales
|
||
- Functional behavior is unchanged
|
||
|
||
### Hermes `Auto` api_mode Removed
|
||
|
||
- Users must pick an explicit protocol; new deeplinks default to `chat_completions`
|
||
- Eliminates URL-based heuristic surprises
|
||
|
||
### Hermes Provider Form
|
||
|
||
- Added an API mode dropdown and per-provider model editor
|
||
- Binds per-provider models to the top-level `model:` when switching active providers
|
||
|
||
### Hermes Deep Config Delegation
|
||
|
||
- Deep YAML knobs are no longer duplicated in the CC Switch form — they are delegated to the Hermes Web UI via a direct launch action
|
||
|
||
### Hermes Toolbar Layout
|
||
|
||
- Swapped the Hermes Web UI button from `ExternalLink` to `LayoutDashboard` (clicking may spawn `hermes dashboard` rather than just opening a URL)
|
||
- Moved MCP to the final toolbar slot so Hermes matches the Claude / Codex / Gemini / OpenCode layout
|
||
|
||
### `ANTHROPIC_REASONING_MODEL` Removed from Claude Quick-Set
|
||
|
||
- Decoupled the reasoning capability from model selection; the legacy field is no longer surfaced in the quick-set form
|
||
|
||
### Per-Provider Proxy Config Removed
|
||
|
||
- Consolidated into global Local Routing
|
||
- Provider-level proxy toggle and associated storage are gone
|
||
|
||
### Unified Toolbar Icon Button Width
|
||
|
||
- Normalized icon-button widths across Claude / Codex / Gemini / OpenCode / OpenClaw / Hermes panels for a consistent header look
|
||
|
||
### Rust Toolchain Pinned to 1.95
|
||
|
||
- Adopted clippy 1.95 suggestions across the workspace and pinned the toolchain to prevent nightly drift
|
||
|
||
### Tray Menu ID Constant
|
||
|
||
- The tray identifier moved from the hardcoded string `"main"` to a `TRAY_ID` constant (`"cc-switch"`) across all call sites (#1978, thanks @lidaxian121)
|
||
|
||
### Copilot Premium Consumption Deep Optimization
|
||
|
||
A systematic overhaul to reduce Copilot reverse-proxy premium interaction consumption across multiple dimensions:
|
||
|
||
- **Proactive Thinking Block Stripping Before Forwarding**: Anthropic's `thinking` / `redacted_thinking` blocks are rejected by OpenAI-compatible endpoints. Previously, the request failed upstream, burning one premium interaction before the `thinking_rectifier` could retry. A new proactive strip step (Copilot optimization pipeline step 3.5, after `tool_result` merging) eliminates that wasted interaction
|
||
- **Request Classification Fix**: Messages containing `tool_result` are now classified as agent continuation instead of user-initiated, preventing every tool call from being falsely counted as a premium interaction
|
||
- **Subagent Detection**: Identifies subagents via `__SUBAGENT_MARKER__` with `metadata._agent_` fallback, setting `x-interaction-type=conversation-subagent`
|
||
- **Deterministic `x-interaction-id` Billing Merge**: Derives `x-interaction-id` from the session ID so multiple requests within the same session collapse into a single billing interaction
|
||
- **Orphan `tool_result` Sanitization**: Cleans up orphan `tool_result` entries to prevent upstream errors that would trigger retries and duplicate billing
|
||
- **Warmup Downgrade Enabled by Default**: Uses `gpt-5-mini` as the default downgrade model
|
||
- **Optimization Pipeline Reorder**: classify → sanitize → merge → warmup, so classification sees raw `tool_result` semantics
|
||
- Fixed a `CopilotOptimizerConfig` default-value inconsistency (unified to `gpt-5-mini`)
|
||
|
||
### Usage Script Intranet Support
|
||
|
||
- Removed private-IP / suspicious-hostname blocking from usage scripts, unblocking enterprise intranet, Docker, and self-hosted API endpoints
|
||
- Built-in templates still enforce HTTPS (except localhost) and same-origin checks; custom templates remain user-controlled with those request-URL checks skipped
|
||
|
||
### Failover Queue Notes
|
||
|
||
- Provider notes now appear in failover queue selectors and queue rows for easier identification across multi-provider queues (#2138, thanks @Coconut-Fish)
|
||
|
||
---
|
||
|
||
## Fixed
|
||
|
||
### Header Auto-Compact Latching After Maximize
|
||
|
||
- The toolbar no longer stays compacted after maximize/restore; compaction now reevaluates on size changes
|
||
|
||
### Hermes YAML Pollution & OAuth MCP `auth` Drop
|
||
|
||
- Round-tripping through CC Switch no longer drops OAuth MCP `auth` blocks or pollutes unrelated YAML keys
|
||
- Guard tests added via `tests/hermes_roundtrip.rs`
|
||
|
||
### Hermes Active Provider Display
|
||
|
||
- Hermes UI now correctly surfaces the active provider and wires add / enable / remove actions
|
||
|
||
### Hermes Provider Persistence
|
||
|
||
- Providers persist under `custom_providers:` so `api_mode` and `model` survive restarts and config reloads
|
||
|
||
### Hermes Health Check Borrowing OpenClaw Schema
|
||
|
||
- Hermes providers were routed through `check_additive_app_stream` (the OpenClaw dispatcher), which reads camelCase `baseUrl` / `apiKey` / `api` and surfaced "OpenClaw provider is missing baseUrl" even when every Hermes field was filled
|
||
- Introduced `check_hermes_stream` with Hermes-specific extractors that map `api_mode` (`chat_completions` / `anthropic_messages` / `codex_responses`) to the matching `check_claude_stream` `api_format`; `bedrock_converse` returns as unsupported
|
||
- `api_mode` is now resolved before URL / API key extraction, so `bedrock_converse` users see the real cause rather than a misleading "missing base_url"
|
||
|
||
### Usage Query Modal for Hermes & OpenClaw
|
||
|
||
- `getProviderCredentials` now reads flat `settingsConfig` fields for Hermes (snake_case `base_url` / `api_key`) and OpenClaw (camelCase `baseUrl` / `apiKey`), so the "official balance" template auto-selects for matching providers like SiliconFlow
|
||
- Refactored the BALANCE and TOKEN_PLAN test paths to reuse the precomputed `providerCredentials` instead of re-reading `env.ANTHROPIC_*` directly, fixing the "empty key" error for non-Claude apps even when the key was configured
|
||
|
||
### Codex `cache_control` Preservation
|
||
|
||
- Preserve `cache_control` when merging system prompts during Codex format conversion (#1946, thanks @yovinchen)
|
||
|
||
### Claude Prompt Cache Key Leak
|
||
|
||
- Stopped sending prompt cache keys during Claude chat conversions (#2003, thanks @yovinchen)
|
||
|
||
### Proxy Hop-by-Hop Header Stripping
|
||
|
||
- Strip hop-by-hop response headers (Connection, Keep-Alive, Transfer-Encoding, etc.) per RFC 7230 (#2060, thanks @yovinchen)
|
||
|
||
### Permissive Proxy CORS Removed
|
||
|
||
- Removed the permissive CORS layer from the proxy (#1915, thanks @zerone0x)
|
||
|
||
### Backend Error Details in Proxy Toast
|
||
|
||
- Surface backend error payload details in proxy-related toast messages instead of a generic failure string
|
||
|
||
### Usage Log Deduplication
|
||
|
||
- Deduplicated proxy and session-log usage records so the same request is no longer double-counted
|
||
- Synced the request log time range with the dashboard's 1d / 7d / 30d selector
|
||
|
||
### Common Config Checkbox Persistence
|
||
|
||
- Checkbox state for Claude / Codex / Gemini common-config toggles now persists correctly across reopens (#2191, thanks @zxZeng)
|
||
|
||
### Claude Plugin `settings.json` Sync
|
||
|
||
- Editing the current provider now syncs back to `settings.json` for the Claude plugin path (#1905, thanks @chengww5217)
|
||
|
||
### Google Official Gemini Env Preservation
|
||
|
||
- Saving the Google Official Gemini provider no longer clobbers the `env` block
|
||
|
||
### OpenCode JSON5 Parser for Trailing Commas
|
||
|
||
- OpenCode config reads now tolerate trailing commas via a JSON5 parser (#2023, thanks @wwminger)
|
||
|
||
### Preset Refreshes
|
||
|
||
- Refreshed stale context windows for DeepSeek and Claude 1M
|
||
- Refreshed stale model IDs; backfilled Hermes model lists
|
||
- Fixed the Nous endpoint and replaced the Hermes placeholder icon with Nous brand artwork
|
||
- Pruned unused official Hermes presets
|
||
|
||
### Auto-Expand Collapsed Messages on Search Hit
|
||
|
||
- Collapsed messages now auto-expand when a search match lands inside hidden content
|
||
|
||
### Unknown Subscription Quota Tiers Hidden
|
||
|
||
- Provider cards no longer render unknown subscription quota tiers
|
||
|
||
### Weekly Limit Label Unified
|
||
|
||
- Aligned the `weekly_limit` tier label with the official 7-day naming across locales
|
||
|
||
### Root-Level Skill Repo Install
|
||
|
||
- Fixed skill installation when the repository root itself is a skill
|
||
|
||
### Session ID Parsing Clippy
|
||
|
||
- Removed a redundant closure in session ID parsing (clippy warning)
|
||
|
||
### Stream Check Default Models Refresh
|
||
|
||
- Updated stream-check default probe models to match each vendor's current lineup
|
||
|
||
### Skills Import Sync
|
||
|
||
- Imported Skills are now immediately synced into enabled app directories instead of only being recorded in the database (#2101, thanks @yaoguohh)
|
||
- The UI no longer shows "installed" while the target app directory is missing the skill
|
||
|
||
### Ghostty Session Restore
|
||
|
||
- Fixed Ghostty session restore launch by using shell execution with `--working-directory` (#1976, thanks @Suda202)
|
||
- Avoids `cwd` escaping issues when the path contains spaces or special characters
|
||
|
||
---
|
||
|
||
## Docs
|
||
|
||
### README Sponsor Updates
|
||
|
||
- Updated SiliconFlow signup bonus to ¥16
|
||
- Trimmed the SSSAiCode sponsor blurb
|
||
- Updated partner logos
|
||
- Added LemonData as a new sponsor
|
||
|
||
### Global Proxy Hint Clarified
|
||
|
||
- Clarified the global proxy hint about local routing across all three locales
|
||
|
||
### Takeover → Routing Rename
|
||
|
||
- Renamed takeover docs to routing and updated anchors across all languages
|
||
|
||
### PIPELLM Website URL
|
||
|
||
- Updated the PIPELLM sponsor website URL to `code.pipellm.ai`
|
||
|
||
---
|
||
|
||
## ⚠️ Breaking Changes
|
||
|
||
### Hermes requires explicit `api_mode`
|
||
|
||
- The `Auto` mode is gone; imported or deeplinked providers default to `chat_completions`
|
||
- Users with prior `Auto` configs will be prompted to pick a protocol
|
||
|
||
### `ANTHROPIC_REASONING_MODEL` removed from Claude quick-set
|
||
|
||
- The legacy field is no longer exposed; existing settings are cleaned up automatically
|
||
|
||
### Per-provider proxy configuration removed
|
||
|
||
- Migrate to the global Local Routing setting
|
||
- Existing per-provider proxy values are ignored
|
||
|
||
### Database schema v9 → v10
|
||
|
||
- Adds `enabled_hermes` columns to `mcp_servers` and `skills`
|
||
- Auto-migrated with `DEFAULT 0`; no data loss
|
||
|
||
### Pricing table reseeded (v8 → v9)
|
||
|
||
- The `model_pricing` table is cleared and reseeded on first launch to pick up new models and corrected prices
|
||
|
||
### XCodeAPI preset removed
|
||
|
||
- Users of the XCodeAPI preset should switch to another provider
|
||
|
||
---
|
||
|
||
## ⚠️ Risk Notice
|
||
|
||
This release inherits the risk notices originally introduced in v3.12.3 / v3.13.0 for reverse-proxy-style features.
|
||
|
||
**GitHub Copilot Reverse Proxy**: Using Copilot's reverse-proxy path may violate GitHub / Microsoft's terms of service. See [v3.12.3 release notes](v3.12.3-en.md#️-risk-notice).
|
||
|
||
**Codex OAuth Reverse Proxy**: Using the Codex OAuth reverse proxy with a ChatGPT subscription may violate OpenAI's terms of service. See [v3.13.0 release notes](v3.13.0-en.md#️-risk-notice).
|
||
|
||
By enabling these features, users **accept all associated risks**. CC Switch is not responsible for any account restrictions, warnings, or service suspensions that result from using these features.
|
||
|
||
---
|
||
|
||
## Download & Installation
|
||
|
||
Visit [Releases](https://github.com/farion1231/cc-switch/releases/latest) to download the appropriate version.
|
||
|
||
### System Requirements
|
||
|
||
| OS | 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.14.0-Windows.msi` | **Recommended** - MSI installer, supports auto-update |
|
||
| `CC-Switch-v3.14.0-Windows-Portable.zip` | Portable, extract and run, no registry writes |
|
||
|
||
### macOS
|
||
|
||
| File | Description |
|
||
| -------------------------------- | -------------------------------------------------------- |
|
||
| `CC-Switch-v3.14.0-macOS.dmg` | **Recommended** - DMG installer, drag into Applications |
|
||
| `CC-Switch-v3.14.0-macOS.zip` | Extract and drag into Applications, Universal Binary |
|
||
| `CC-Switch-v3.14.0-macOS.tar.gz` | For Homebrew installation and auto-update |
|
||
|
||
> macOS builds are Apple code-signed and notarized — install directly.
|
||
|
||
### Homebrew (macOS)
|
||
|
||
```bash
|
||
brew tap farion1231/ccswitch
|
||
brew install --cask cc-switch
|
||
```
|
||
|
||
Update:
|
||
|
||
```bash
|
||
brew upgrade --cask cc-switch
|
||
```
|
||
|
||
### Linux
|
||
|
||
| Distribution | Recommended | Installation |
|
||
| --------------------------------------- | ----------- | ---------------------------------------------------------------------- |
|
||
| 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, or use AUR |
|
||
| Other distros / not sure | `.AppImage` | `chmod +x CC-Switch-*.AppImage && ./CC-Switch-*.AppImage` |
|