diff --git a/README.md b/README.md
index 35c989555..8fd1683e4 100644
--- a/README.md
+++ b/README.md
@@ -218,20 +218,32 @@ TeamoRouter also offers enterprise features including centralized billing, team
AI coding tools like Claude Code, Codex, and Gemini CLI each have their own configuration format. Switching API providers means hand-editing JSON, TOML, YAML, or `.env` files, and MCP, Skills, and prompts have to be maintained separately in every tool.
-**CC Switch** brings all of this into a single desktop app: pick a preset, enter your key, and switch in one click, without losing your existing configuration.
+**CC Switch** brings all of this into a single desktop app: pick a preset, enter your key, and switch in one click. Switching replaces only the connection details — endpoint, key, and model — so plugins, hooks, MCP, and comments you added yourself stay as they are.
- **One App, Ten Tools** — Claude Code, Claude Desktop, Codex, Gemini CLI, Grok Build, OpenCode, OpenClaw, Hermes, Pi, and MiniMax Code
- **No More Manual Editing** — 90+ provider presets including AWS Bedrock, NVIDIA NIM, and community relays
-- **Use GPT in Claude Code, Claude in Codex** — Built-in local routing automatically converts between Anthropic, OpenAI, and Gemini API formats, with automatic failover
+- **Direct, Routing, or Aggregation — Your Choice** — Direct connects the tool straight to the provider; Routing forwards requests through your machine, converting API formats and failing over automatically, so you can use GPT in Claude Code and Claude in Codex; Aggregation puts models from several providers into one model list in Claude Code or Codex, and each request goes to the provider of the model you pick
- **Centralized MCP, Skills & Prompts** — Add MCP servers and Skills once, then choose which tools to sync them to; prompts are maintained separately for each tool
-- **Usage & Quotas at a Glance** — Track token usage and spending even without local routing; subscription quotas and balances show right on provider cards and in the tray
+- **Sessions You Can Read** — Turns each tool's session logs into a reading view: what each turn did, which files changed, and which step failed, all at a glance
+- **Usage & Quotas at a Glance** — Track token usage and spending even without local routing; remaining subscription quota and account balances show right on provider cards and in the tray
- **Cross-Platform** — Native desktop app for Windows, macOS, and Linux, built with Tauri 2
## Screenshots
-| Main Interface | Add Provider |
-| :-----------------------------------------------: | :--------------------------------------------: |
-|  |  |
+
+
+ Main Interface |
+ Apps Page |
+
+
+ Aggregation Mode |
+ Aggregated Model List in Codex |
+
+
+ Session Reading View |
+ Usage |
+
+
## Download & Installation
@@ -287,21 +299,23 @@ Download the latest Linux build from the [Releases](../../releases) page:
### Basic Usage
-1. **Add Provider**: Click "Add New Provider" (the + button) in the toolbar → Choose a preset or create a custom configuration
+1. **Add Provider**: Select the tool you want to manage in the sidebar, then click "+" (Add Provider) in the top-right corner of the page → Choose a preset or create a custom configuration
2. **Switch Provider**:
- - Main UI: Select provider → Click "Enable" (for OpenCode, OpenClaw, Hermes, and MiniMax Code the button is "Add"; these four tools and Pi are coexist-mode tools, so you can add several providers at once)
- - System Tray: Click provider name directly (Claude Code, Codex, Gemini CLI, and Grok Build only)
+ - Main UI: Select provider → Click "Enable" (for OpenCode, OpenClaw, Hermes, and MiniMax Code the button is "Add", and for Pi it's "Enable" / "Remove"; these five are coexist-mode tools, so you can add several providers at once)
+ - System Tray: One row per tool showing "name · mode · provider · quota"; click a provider name in its submenu to switch (Claude Code, Claude Desktop, Codex, Gemini CLI, and Grok Build)
3. **Takes Effect**: Claude Code needs no restart; for Codex, Gemini CLI, and Grok Build, restart your terminal or the CLI tool; for Claude Desktop, restart the app itself (see FAQ)
4. **Back to Official Login**: Switch to the built-in official provider in the list (e.g. "Claude Official"), restart the tool, then follow its login/OAuth flow
-5. **Local Routing (optional)**: To use OpenAI- or Gemini-format providers in Claude Code, or to use Claude in Codex, you need to turn on local routing. In "Settings → Routing → Local Routing", turn on "Routing Master Switch", then turn on the tool you need under "Routing Enabled". To toggle it right from the top of the main page, turn on "Show Routing Toggle on Main Page"
+5. **Routing & Aggregation (optional)**: The Claude Code, Codex, Gemini CLI, and Grok Build pages have "Direct" / "Routing" tabs at the top, and Claude Code and Codex also have "Aggregation". Clicking a tab only changes what you're looking at and doesn't touch your configuration; to actually switch, click "Start routing" or "Switch to Aggregation" on the page, and click "Back to direct" to return. Use Routing to use OpenAI- or Gemini-format providers in Claude Code, or Claude in Codex; use Aggregation to mix models from several providers in one model list
+6. **Manage Tools**: The "Apps" page in the sidebar shows each AI coding tool's version, install location, and source in one place; you can install, upgrade, or upgrade all, and choose which tools appear in the sidebar
### MCP, Prompts, Skills, Projects & Sessions
-- **MCP**: Click "MCP Management" → Add servers via templates or custom config (or "Import Existing") → Toggle sync for each tool
-- **Prompts**: Click "Prompts" → Create prompts with the Markdown editor → Enable one to write it to that tool's prompt file
-- **Skills**: Click "Skills" → "Discover Skills" → Search skills.sh or browse GitHub repos → One-click install to supported tools
-- **Projects**: On the Claude Code, Claude Desktop, or Codex page, open the project switcher at the top of the main page → "New project" to save the current configuration; later, pick it from the switcher to switch the whole setup at once
-- **Sessions**: Click "Session Manager" → Browse, search, and restore each tool's conversation history
+- **MCP**: Click "MCP" in the sidebar → Add servers via templates or custom config (or "Import Existing") → Toggle sync for each tool
+- **Prompts**: Click "Prompts" in the sidebar → Create prompts with the Markdown editor → Enable one to write it to that tool's prompt file
+- **Skills**: Click "Skills" in the sidebar → "Discover Skills" → Search skills.sh or browse GitHub repos → One-click install to supported tools
+- **Projects**: First turn on "Show project switcher" in "Settings → General", then on the Claude Code, Claude Desktop, or Codex page, open the project switcher at the top → "New project" to save the current configuration; later, pick it from the switcher to switch the whole setup at once
+- **Sessions**: Click "Sessions" in the sidebar → Browse and search conversation history, open the reading view, or restore each tool's sessions
+- **Accounts**: Click "Accounts" in the sidebar to sign in to GitHub Copilot, ChatGPT, and xAI (Grok) accounts and use your subscriptions as providers
> **Note**: On first launch, CC Switch automatically imports your existing Claude Code, Codex, Gemini CLI, and Grok Build configuration as a provider named `default` and adds an official provider for each of these tools and Claude Desktop, so nothing you had configured is lost.
@@ -309,74 +323,84 @@ For detailed guides on every feature, check out the **[User Manual](docs/user-ma
## Features
-[Full Changelog](CHANGELOG.md) | [Release Notes](docs/release-notes/v3.20.4-en.md)
+[Full Changelog](CHANGELOG.md) | [v4.0 Release Notes](docs/release-notes/v4.0.4-en.md)
### Supported Features by Tool
-| Tool | Providers | Local Routing | Tray Switching | MCP | Skills | Prompts | Sessions | Usage Stats |
-| --- | --- | :---: | :---: | :---: | :---: | --- | :---: | :---: |
-| Claude Code | Switch | ✓ | ✓ | ✓ | ✓ | CLAUDE.md | ✓ | ✓ |
-| Claude Desktop | Switch | Model Mapping only | – | – | – | – | – | Model Mapping only |
-| Codex | Switch | ✓ | ✓ | ✓ | ✓ | AGENTS.md | ✓ | ✓ |
-| Gemini CLI | Switch | ✓ | ✓ | ✓ | ✓ | GEMINI.md | ✓ | ✓ |
-| Grok Build | Switch | ✓ | ✓ | ✓ | ✓ | AGENTS.md | ✓ | ✓ |
-| OpenCode | Coexist | – | – | ✓ | ✓ | AGENTS.md | ✓ | ✓ |
-| OpenClaw | Coexist | – | – | – | – | Workspace editor | ✓ | – |
-| Hermes | Coexist | – | – | ✓ | ✓ | Memory | ✓ | – |
-| Pi | Coexist | – | – | – | ✓ | AGENTS.md, SYSTEM.md, prompt templates | ✓ | ✓ |
-| MiniMax Code | Coexist | – | – | ✓ | ✓ | AGENTS.md | ✓ | ✓ |
+| Tool | Providers | Local Routing | Aggregation | Tray Switching | MCP | Skills | Prompts | Sessions | Usage Stats |
+| --- | --- | :---: | :---: | :---: | :---: | :---: | --- | :---: | :---: |
+| Claude Code | Switch | ✓ | ✓ | ✓ | ✓ | ✓ | CLAUDE.md | ✓ | ✓ |
+| Claude Desktop | Switch | Model Mapping only | – | ✓ | – | – | – | – | Model Mapping only |
+| Codex | Switch | ✓ | ✓ | ✓ | ✓ | ✓ | AGENTS.md | ✓ | ✓ |
+| Gemini CLI | Switch | ✓ | – | ✓ | ✓ | ✓ | GEMINI.md | ✓ | ✓ |
+| Grok Build | Switch | ✓ | – | ✓ | ✓ | ✓ | AGENTS.md | ✓ | ✓ |
+| OpenCode | Coexist | – | – | – | ✓ | ✓ | AGENTS.md | ✓ | ✓ |
+| OpenClaw | Coexist | – | – | – | – | – | Workspace editor | ✓ | – |
+| Hermes | Coexist | – | – | – | ✓ | ✓ | Memory | ✓ | – |
+| Pi | Coexist | – | – | – | ✓ | ✓ | AGENTS.md, SYSTEM.md, prompt templates | ✓ | ✓ |
+| MiniMax Code | Coexist | – | – | – | ✓ | ✓ | AGENTS.md | ✓ | ✓ |
- **Switch**: only one provider is active at a time; **Coexist**: multiple providers are written into the tool's own config at the same time, and you pick one inside the tool.
- **Local Routing**: CC Switch forwards requests on your machine and converts API formats; see [Local Routing & Failover](#local-routing--failover) below. Claude Desktop providers can use "Direct" or "Model Mapping"; with "Model Mapping", requests go through local routing.
-- **Sessions**: Browse and search conversation history, and copy a resume command to continue a conversation (resuming OpenClaw and Hermes sessions isn't supported yet). To view Hermes sessions, select "All" in the Session Manager.
+- **Aggregation**: Puts models from several providers into one model list and sends each request to the provider of the model you pick; see [Aggregation Mode](#aggregation-mode) below.
+- **Sessions**: Browse and search conversation history, open the reading view, and copy a resume command to continue a conversation (resuming OpenClaw and Hermes sessions isn't supported yet). Hermes shows only the 500 most recent sessions.
- **Usage Stats**: Without local routing, usage is collected from each tool's local session logs; requests that go through local routing are counted as well.
- The MCP, Skills, Prompts, and Sessions panels opened from the Claude Desktop page apply to Claude Code.
### Provider Management
-- **90+ provider presets** — Pick a preset and enter your key to add a provider, or create a custom configuration
-- **Key fields only** — Switching replaces only the connection details such as the endpoint, key, and model; plugins, hooks, MCP, settings you added yourself, and comments stay as they are
-- **Projects** — Save Claude Code's or Codex's current provider, MCP, Skills, and prompt files as a project (for Claude Desktop, only the provider is saved), then switch the whole setup in one click from the project switcher at the top of the main page or from the tray; when you switch to another project, the current state is automatically saved back to the previous project
-- **OAuth Authentication Center (Beta)** — Sign in to multiple GitHub Copilot, ChatGPT, and xAI (Grok) accounts in "Settings → Auth" and use those subscriptions as providers in Claude Code, Claude Desktop, and Codex (everything except Codex's OpenAI Official requires local routing). Using a subscription outside the official client may violate the vendor's terms of service; assess the risk yourself
+- **90+ provider presets** — Pick a preset and enter your key to add a provider, or create a custom configuration. The add panel lets you search by name (including Chinese names) and domain, and a vendor's different plans and regions are merged into one row
+- **Key fields only** — Switching replaces only the connection details such as the endpoint, key, and model; plugins, hooks, MCP, settings you added yourself, and comments stay as they are. The editor shows what the config file will look like after switching, and CC Switch automatically backs up each config file before rewriting it for the first time
+- **Projects** — Save Claude Code's or Codex's current provider, MCP, Skills, and prompt files as a project (for Claude Desktop, only the provider is saved), then switch the whole setup in one click from the project switcher at the top of the page or from the tray; when you switch to another project, the current state is automatically saved back to the previous project. The project switcher is hidden by default; turn on "Show project switcher" in "Settings → General"
+- **Accounts (Beta)** — Sign in to multiple GitHub Copilot, ChatGPT, and xAI (Grok) accounts under "Accounts" in the sidebar and use those subscriptions as providers in Claude Code, Claude Desktop, and Codex (everything except Codex's OpenAI Official has to be used in Routing mode). Using a subscription outside the official client may violate the vendor's terms of service; assess the risk yourself
- **Third-party providers for Claude Desktop** — Connect directly to Anthropic-compatible endpoints; for non-Claude models, choose "Model Mapping" to map tiers like Sonnet, Opus, and Haiku to the provider's actual models through local routing
- **Universal providers** — One config syncs to Claude Code, Codex, and Gemini CLI
-- One-click switching, system tray quick switching (Claude Code, Codex, Gemini CLI, Grok Build), drag-and-drop sorting, import/export
+- One-click switching, system tray quick switching (Claude Code, Claude Desktop, Codex, Gemini CLI, Grok Build), drag-and-drop sorting, import/export
### Local Routing & Failover
- **API format conversion** — Local routing converts requests between Anthropic Messages, OpenAI Chat Completions, OpenAI Responses, and Gemini Native: Claude Code and Claude Desktop can use OpenAI- or Gemini-format providers, and Codex and Grok Build can use Chat Completions or Anthropic Messages providers
-- **Per-tool toggle** — Local routing can be turned on separately for Claude Code, Codex, Gemini CLI, and Grok Build; once it's on, switching providers takes effect immediately for subsequent requests (Codex, Gemini CLI, and Grok Build may still need a restart if the switch changes the model)
+- **Per-tool toggle** — Claude Code, Codex, Gemini CLI, and Grok Build can each enter Routing mode separately: click "Start routing" on the "Routing" tab at the top of the page. In Routing mode, switching providers takes effect immediately for subsequent requests (Codex, Gemini CLI, and Grok Build may still need a restart if the switch changes the model). When you quit CC Switch, it writes the direct configuration back first and reconnects the next time it starts
- **Auto-failover** — Configure a failover queue for each tool; when a request fails, CC Switch automatically moves on to the next provider in the queue, backed by a circuit breaker and provider health monitoring
- **Rectifier** — Automatically fixes certain requests that some upstreams can't handle (e.g. Thinking signatures, or falling back when images aren't supported)
- Official providers (e.g. Claude Official) can't go through local routing (except Codex's OpenAI Official)
+- The routing service's status, listen address, and failover settings are all in "Settings → Local routing"
- Guides: [Using GPT in Claude Code](docs/guides/claude-codex-routing-guide-en.md) · [Using Claude in Codex](docs/guides/codex-claude-routing-guide-en.md)
+### Aggregation Mode
+
+- **One model list, many providers** — On the Claude Code or Codex page, switch to "Aggregation" and add a few providers; their models all appear in the client's model picker. Each request goes to the provider of the model you pick, with no need to switch in CC Switch
+- **Add and remove anytime** — Click "Add" or "Remove" on a provider card, then pick one provider as the default; requests that don't name an aggregated model go to it. Official accounts can only be the default provider and can't be added to the aggregation
+- **Notes** — Aggregation doesn't provide failover; Claude Code requires version 2.1.243 or later; Codex needs a restart after the aggregated list changes, while Claude Code doesn't. When you switch models within a session, the new model has to rebuild its prompt cache, so the first turn costs a bit more
+- Much of Aggregation mode's design draws on [opencodex](https://github.com/lidge-jun/opencodex) — thanks to its author and contributors
+
### MCP, Prompts & Skills
-- **Unified MCP panel** — Manage all MCP servers in one place, choose which tools to sync each one to, import existing configs from each tool, and import via Deep Link
+- **Unified MCP panel** — Manage all MCP servers in one place, choose which tools to sync each one to (Claude Code, Codex, Gemini CLI, Grok Build, OpenCode, Hermes, Pi, MiniMax Code), import existing configs from each tool, and import via Deep Link
- **Prompts** — A per-tool prompt library with a Markdown editor; enabling a prompt writes it to that tool's prompt file (CLAUDE.md / AGENTS.md / GEMINI.md), and the file's existing content is saved back to the library first, so nothing is lost. Pi can also edit SYSTEM.md, APPEND_SYSTEM.md, and prompt templates
-- **Skills** — Search skills.sh, or install in one click from GitHub repos or ZIP files; check for updates and update all in one click; sync to each tool via symlinks or file copies; you can optionally store them in `~/.agents/skills`
-- All three panels support search, and MCP and Skills can also be enabled or disabled all at once per tool
+- **Skills** — Search skills.sh, or install in one click from GitHub repos or ZIP files; check for updates and update all in one click; sync to each tool automatically, via symlinks only, or via copies only; you can optionally store them in `~/.agents/skills`
+- All three panels support search, and MCP and Skills can also be enabled or disabled all at once per tool; providers, MCP servers, and prompts are edited full-page in the content area, and you're warned before leaving with unsaved changes
### Usage & Cost Tracking
-- **Usage dashboard** — Works without local routing: by default it automatically scans each tool's local session logs and tracks requests, tokens, cache hit rate, and spending by provider and model, with trend charts and per-request logs
-- **Quotas & balances** — Provider cards and the tray show official subscription quotas (Claude, ChatGPT, Gemini, SuperGrok), Coding Plan 5-hour / weekly / monthly quotas (Kimi, Zhipu GLM, MiniMax, Volcengine Ark, etc.), and account balances (DeepSeek, OpenRouter, SiliconFlow, etc.); some need to be turned on first via "Configure usage query" on the provider card, and for other providers you can write a custom usage script
+- **Usage dashboard** — Works without local routing: by default it automatically scans each tool's local session logs and tracks requests, tokens, cache hit rate, output speed, and spending by provider and model, with trend charts, a full-year heatmap, and per-request logs
+- **Quotas & balances** — Provider cards and the tray show what's left and the reset countdown, e.g. "5h 94% left": official subscription quotas (Claude, ChatGPT, Gemini, SuperGrok), Coding Plan 5-hour / weekly / monthly quotas (Kimi, Zhipu GLM, MiniMax, Volcengine Ark, etc.), and account balances (DeepSeek, OpenRouter, SiliconFlow, etc.); some need to be turned on first via "Configure usage query" on the provider card, and for other providers you can write a custom usage script. ChatGPT subscriptions also show remaining limit resets and the Codex Credits balance
- **Custom pricing** — Set per-model prices, or import them from models.dev
### Session Manager & Workspace
-- **Session Manager** — Browse and search each tool's conversation history, and copy a resume command to continue a conversation; on macOS you can resume in a terminal with one click
+- **Session reading view** — Parses each tool's session logs into structured content: text, thinking, tool calls, tool results, and images are shown separately; each turn of work collapses into a one-line summary (how many steps, how many files changed, how many failures), with failed steps marked in red; a conversation outline sits on the right, with in-session search, Markdown export, and copying a single turn or the whole conversation
+- **List & resume** — Group by project or time, search titles, directories, messages, or session IDs, and delete in bulk; copy a resume command to continue a conversation, and on macOS resume in a terminal with one click
- **Workspace editor** (OpenClaw) — Edit agent files (AGENTS.md, SOUL.md, etc.) and daily memory
- **Memory** (Hermes) — Edit Hermes's MEMORY.md and USER.md
### System & Platform
- **Cloud sync** — Sync across devices via WebDAV (Jianguoyun, Nextcloud, Synology NAS, etc.) or S3-compatible storage (AWS S3, Cloudflare R2, Alibaba Cloud OSS, Tencent Cloud COS, etc.); you can also put the CC Switch configuration directory in a cloud drive folder such as Dropbox, OneDrive, or iCloud
-- **CLI tool management** — On the "About" page, see the current and latest versions of command-line tools like Claude Code and Codex, install, upgrade, or upgrade all in one click, and diagnose duplicate installations; on Windows it can also manage tools inside WSL (see FAQ)
+- **CLI tool management** — On the "Apps" page in the sidebar, see the current and latest versions of command-line tools like Claude Code and Codex, install, upgrade, or upgrade all in one click, and diagnose duplicate installations; on Windows it can also manage tools inside WSL (see FAQ)
- **Deep Link** (`ccswitch://`) — Import providers, MCP servers, and prompts, or add skill repositories, in one click via a link
- **Built-in utilities** — Skip Claude Code's first-run confirmation, hide AI attribution, have the VS Code Claude Code extension follow CC Switch's provider switches, and more
-- Dark / Light / System theme, auto-launch, auto-updater, atomic writes, auto-backups, i18n (zh/zh-TW/en/ja)
+- Dark / Light / System theme, auto-launch, auto-updater, atomic writes, auto-backups (see where every backup lives and how much space it takes in "Settings → Data"), i18n (zh/zh-TW/en/ja)
## FAQ
@@ -393,12 +417,26 @@ CC Switch supports ten tools: **Claude Code**, **Claude Desktop**, **Codex**, **
It depends on the tool:
- **Claude Code**: supports hot-switching of provider data — no restart needed.
-- **Codex, Gemini CLI, Grok Build**: restart your terminal or the CLI tool for changes to take effect (CC Switch reminds you after switching). With local routing on, requests go to the new provider immediately, but all three tools may still need a restart if the switch changes the model.
+- **Codex, Gemini CLI, Grok Build**: restart your terminal or the CLI tool for changes to take effect (CC Switch reminds you after switching). In Routing mode, requests go to the new provider immediately, but all three tools may still need a restart if the switch changes the model.
+- **Aggregation mode**: changes to Claude Code's aggregated models take effect immediately; for Codex, entering or leaving Aggregation and changing the aggregated model list all require a full restart — see the next entry.
- **Claude Desktop**: fully quit and reopen Claude Desktop; when using "Model Mapping", also keep CC Switch running.
- **OpenCode, OpenClaw, Hermes, Pi, MiniMax Code**: these are coexist-mode tools — clicking "Add" ("Enable" for Pi) writes the provider into the tool's own config alongside the others; you then pick the model you want inside the tool.
+
+In Aggregation mode, why don't the aggregated models show up in Codex's /model?
+
+Codex reads its model list only at startup. After entering or leaving Aggregation mode, adding or removing an aggregated provider, or changing a provider's aggregated models, fully restart Codex to see the new list:
+
+- **Codex CLI**: Closing the terminal and running `codex` again isn't enough. Every `codex` in every terminal shares one background daemon, and it has to be restarted to pick up the new list. When CC Switch detects that Codex is still using the old list, it shows a notice at the top of the Codex page; click "Restart Codex daemon" in the notice. Restarting interrupts any tasks running in the daemon.
+- **Codex desktop app**: Quit it completely and reopen it (press ⌘Q on macOS; closing the window isn't enough).
+- **Editor extensions**: Reopen the editor window.
+
+Claude Code isn't affected: changes to aggregated models take effect immediately.
+
+
+
Will switching providers change my plugins, hooks, or other settings?
@@ -420,11 +458,11 @@ Older versions saved the whole config file back to the provider when you switche
-Why can't I delete the currently active provider?
+Why can't I delete the provider currently in use?
CC Switch follows a "minimal intrusion" design principle — even if you uninstall the app, your tools will continue to work normally.
-So for tools that use one active provider at a time (Claude Code, Claude Desktop, Codex, Gemini CLI, Grok Build), the system always keeps one active configuration, because deleting all configurations would make the corresponding tool unusable. Coexist-mode tools (OpenCode, OpenClaw, Hermes, Pi, and MiniMax Code) aren't subject to this restriction — you can delete any provider directly. If you rarely use a tool, you can hide it in Settings. To switch back to official login, see the next question.
+So for tools that use one active provider at a time (Claude Code, Claude Desktop, Codex, Gemini CLI, Grok Build), the system always keeps one configuration in use, because deleting all configurations would make the corresponding tool unusable; to delete it, switch to another provider first. Likewise, the default provider in Aggregation mode can't be removed; make another provider the default first. Coexist-mode tools (OpenCode, OpenClaw, Hermes, Pi, and MiniMax Code) aren't subject to this restriction — you can delete any provider directly. If you rarely use a tool, you can hide it from the sidebar on the "Apps" page. To switch back to official login, see the next question.
@@ -435,34 +473,34 @@ In CC Switch, the provider lists for Claude Code, Claude Desktop, Codex, Gemini
For Codex, you can also sign in to multiple ChatGPT accounts inside CC Switch via "Sign in with ChatGPT" and choose an "Account to use" for each **OpenAI Official** card, so switching between multiple Plus, Pro, or Team accounts takes one click; cards set to "Follow Codex login" keep using the Codex CLI's own login.
-Note: official providers can't be selected while local routing is on — Codex's OpenAI Official cards are the exception.
+Note: official subscriptions use the tool's own login and don't go through local routing. Official providers can't be selected in Routing mode (Codex's OpenAI Official cards are the exception); switch back to Direct first.
-With local routing on, why does my config file point to 127.0.0.1?
+After I start routing, why does my config file point to 127.0.0.1?
-With local routing on, the tool's requests first go to CC Switch's local routing (`http://127.0.0.1:15721` by default), and CC Switch then forwards them to the provider you selected. That's why the tool's config file only contains the local address and the placeholder key `PROXY_MANAGED`; for Claude Code, the model name is also written as a fixed alias such as `claude-sonnet-5` (the `/model` menu still shows the real model name). The real provider address, key, and model are all stored in CC Switch.
+In Routing mode, the tool's requests first go to CC Switch's local routing (`http://127.0.0.1:15721` by default), and CC Switch then forwards them to the provider you selected. That's why the tool's config file only contains the local address and the placeholder key `PROXY_MANAGED`; for Claude Code, the model name is also written as a fixed alias such as `claude-sonnet-5` (the `/model` menu still shows the real model name). The real provider address, key, and model are all stored in CC Switch. Aggregation mode works the same way.
-In "Settings → Usage Statistics → Request Logs" you can see "requested model → actual model" for each request.
+In the request logs under "Usage" in the sidebar, you can see "requested model → actual model" for each request.
-While local routing is on, switching changes the provider that local routing uses; the provider you were using before you turned it on stays the same and is labeled "Direct" on its card. When you turn local routing off, the config file is written back to this direct provider's configuration. Quitting CC Switch also writes back the direct provider first, and local routing is reconnected the next time CC Switch starts.
+In Routing mode, switching changes the provider that routing uses; the provider you were using before you entered Routing stays the same and is labeled "Direct" on its card. When you click "Back to direct", the config file is written back to this direct provider's configuration. Quitting CC Switch also writes back the direct provider first, and it reconnects the next time CC Switch starts.
Can I use OpenAI-compatible APIs, Gemini, or local models in Claude Code?
-Yes, but you need to turn on local routing. When editing the provider, set "Upstream Format" under "Advanced Options" to match the provider's API: choose "OpenAI Chat Completions" for services that only offer a Chat Completions endpoint (as many local model servers do), "OpenAI Responses API" for services that offer a Responses endpoint, and "Gemini Native generateContent" for Gemini. Then turn on local routing for Claude Code as described in step 5 of [Quick Start](#quick-start). Choosing the wrong format or not turning on local routing usually results in a 404 or 405 error.
+Yes, but you need to use Routing. When editing the provider, set "Upstream Format" under "Advanced Options" to match the provider's API: choose "OpenAI Chat Completions" for services that only offer a Chat Completions endpoint (as many local model servers do), "OpenAI Responses API" for services that offer a Responses endpoint, and "Gemini Native generateContent" for Gemini. Then click "Start routing" on the "Routing" tab of the Claude Code page. Choosing the wrong format or not starting routing usually results in a 404 or 405 error.
-Conversely, choosing "Anthropic Messages" as the "Upstream Format" in Codex or Grok Build lets you use Claude-format providers; this also requires local routing. See [Using GPT in Claude Code](docs/guides/claude-codex-routing-guide-en.md) and [Using Claude in Codex](docs/guides/codex-claude-routing-guide-en.md) for details.
+Conversely, choosing "Anthropic Messages" as the "Upstream Format" in Codex or Grok Build lets you use Claude-format providers; this also requires Routing. See [Using GPT in Claude Code](docs/guides/claude-codex-routing-guide-en.md) and [Using Claude in Codex](docs/guides/codex-claude-routing-guide-en.md) for details.
"Connectivity check" passed, so why do requests still fail?
-The "Connectivity check" on a provider card only checks whether the provider address is reachable; it doesn't send a real model request, so it can't verify whether the API key and model name are correct. When requests fail, check the key, model name, and upstream format; with local routing on, you can also see the exact error in "Settings → Usage Statistics → Request Logs".
+The "Connectivity check" on a provider card only checks whether the provider address is reachable; it doesn't send a real model request, so it can't verify whether the API key and model name are correct. When requests fail, check the key, model name, and upstream format; for requests that go through Routing, you can also see the exact error in the request logs under "Usage" in the sidebar.
@@ -473,24 +511,24 @@ By default, everything is stored in the `.cc-switch` folder in your home directo
- **Database**: `cc-switch.db` (SQLite — providers, MCP, prompts, Skills, projects, usage records, etc.)
- **Local settings**: `settings.json` (device-level settings such as each tool's config directory, backup policy, and cloud sync connection details)
-- **Backups**: `backups/` (backed up automatically every 24 hours by default, keeping the 10 most recent; adjustable in "Settings → Advanced → Backup & Restore")
+- **Backups**: `backups/` (backed up automatically every 24 hours by default, keeping the 10 most recent; adjustable in "Settings → Data → Backup & Restore"; "Other Backups" below it lists the location and size of every other backup, which you can clean up by category)
- **Skills**: `skills/` (can be changed to `~/.agents/skills` in Settings), synced to each tool via symlinks by default, falling back to copying if that fails
- **Skill Backups**: `skill-backups/` (created automatically before uninstalling or updating a skill, keeping the 20 most recent)
- **OAuth login credentials**: `copilot_auth.json`, `codex_oauth_auth.json`, `xai_oauth_auth.json`
- **Logs**: `logs/cc-switch.log` and `crash.log` — please attach them when reporting an issue
-- **Device state**: `live-state.json` (whether each tool is connected directly or through local routing, and what was last written), `codex-login-stash.json` (the official Codex login moved aside when you switch to a third-party provider, restored when you switch back to an official one)
+- **Device state**: `live-state.json` (whether each tool is currently in Direct, Routing, or Aggregation mode, and what was last written), `codex-login-stash.json` (the official Codex login moved aside when you switch to a third-party provider, restored when you switch back to an official one)
- **Original config files**: `backups/live-first-write/` (each tool's config file as it was before CC Switch first rewrote it)
-After you change "CC Switch Configuration Directory" in "Settings → Advanced → Configuration Directory", all of the files above except `settings.json`, the device state, and the original config files are stored in the new directory. CC Switch doesn't move existing files automatically, so copy them over manually first. `settings.json`, the device state, and the original config files belong to this computer only: they always stay in the default directory and are not included in cloud sync.
+After you change "CC Switch Configuration Directory" in "Settings → Data → Location", all of the files above except `settings.json`, the device state, and the original config files are stored in the new directory. CC Switch doesn't move existing files automatically, so copy them over manually first. `settings.json`, the device state, and the original config files belong to this computer only: they always stay in the default directory and are not included in cloud sync.
How do I manage tools inside WSL on Windows?
-CC Switch doesn't detect WSL automatically. In "Settings → Advanced → Configuration Directory → Configuration Directory Override (Advanced)", change the directory for the corresponding tool to a path inside WSL, e.g. `\\wsl.localhost\Ubuntu\home\\.claude`; after you save, CC Switch reads and writes the config inside WSL (supported for Claude Code, Codex, Gemini CLI, Grok Build, OpenCode, OpenClaw, Hermes, and Pi). Once this is set, the "About" page also detects and upgrades that tool in the corresponding WSL distribution.
+CC Switch doesn't detect WSL automatically. In "Settings → App config", change the config directory for the corresponding tool to a path inside WSL, e.g. `\\wsl.localhost\Ubuntu\home\\.claude`; after you save, CC Switch reads and writes the config inside WSL (supported for Claude Code, Codex, Gemini CLI, Grok Build, OpenCode, OpenClaw, Hermes, and Pi). Once this is set, the "Apps" page in the sidebar also detects and upgrades that tool in the corresponding WSL distribution.
-Note: local routing writes `127.0.0.1` as the address into the config. In WSL2's default NAT networking mode, `127.0.0.1` inside WSL can't reach local routing on Windows; switch WSL to mirrored networking mode instead.
+Note: Routing and Aggregation write `127.0.0.1` as the address into the config. In WSL2's default NAT networking mode, `127.0.0.1` inside WSL can't reach local routing on Windows; switch WSL to mirrored networking mode instead.
diff --git a/README_DE.md b/README_DE.md
index 1cf750b45..37ab87ca0 100644
--- a/README_DE.md
+++ b/README_DE.md
@@ -218,20 +218,32 @@ TeamoRouter bietet außerdem Enterprise-Funktionen wie zentrale Abrechnung, Team
Claude Code, Codex, Gemini CLI und andere KI-Programmierwerkzeuge haben jeweils ihr eigenes Konfigurationsformat. Wer den API-Anbieter wechselt, muss JSON-, TOML-, YAML- oder `.env`-Dateien von Hand bearbeiten; auch MCP, Skills und Prompts müssen in jedem Werkzeug einzeln gepflegt werden.
-**CC Switch** bündelt all das in einer einzigen Desktop-App: Preset auswählen, Schlüssel eintragen und mit einem Klick wechseln — Ihre bestehende Konfiguration geht dabei nicht verloren.
+**CC Switch** bündelt all das in einer einzigen Desktop-App: Preset auswählen, Schlüssel eintragen und mit einem Klick wechseln. Beim Wechsel werden nur die Verbindungsdaten — Endpunkt, Schlüssel und Modell — ersetzt; selbst hinzugefügte Plugins, Hooks, MCP und Kommentare bleiben unverändert.
- **Eine App, zehn Werkzeuge** — Claude Code, Claude Desktop, Codex, Gemini CLI, Grok Build, OpenCode, OpenClaw, Hermes, Pi, MiniMax Code
- **Kein manuelles Bearbeiten mehr** — 90+ Anbieter-Presets einschließlich AWS Bedrock, NVIDIA NIM und Community-Relays
-- **GPT in Claude Code, Claude in Codex** — Integriertes lokales Routing, das die Schnittstellenformate von Anthropic, OpenAI und Gemini automatisch konvertiert, mit automatischem Failover
+- **Direct, Routing oder Aggregation — ganz nach Bedarf** — Bei Direct verbindet sich das Werkzeug direkt mit dem Anbieter; Routing leitet die Anfragen über Ihren Rechner, konvertiert dabei Schnittstellenformate und bietet automatisches Failover, sodass Claude Code GPT und Codex Claude nutzen kann; Aggregation bringt die Modelle mehrerer Anbieter in eine gemeinsame Modellliste von Claude Code oder Codex — welches Modell Sie wählen, entscheidet, an welchen Anbieter die Anfrage geht
- **MCP, Skills & Prompts zentral verwalten** — MCP und Skills einmal hinzufügen und pro Werkzeug per Häkchen synchronisieren; Prompts werden je Werkzeug separat gepflegt
-- **Nutzung und Kontingente auf einen Blick** — Token-Verbrauch und Kosten werden auch ohne lokales Routing erfasst; Abo-Kontingente und Guthaben erscheinen direkt auf den Anbieterkarten und im System-Tray
+- **Sessions, die man lesen kann** — Die Sitzungsprotokolle der Werkzeuge werden zu einer Leseansicht aufbereitet: Was in jeder Runde passiert ist, welche Dateien geändert wurden und welcher Schritt fehlgeschlagen ist, sehen Sie auf einen Blick
+- **Nutzung und Kontingente auf einen Blick** — Token-Verbrauch und Kosten werden auch ohne lokales Routing erfasst; das verbleibende Abo-Kontingent und das Kontoguthaben erscheinen direkt auf den Anbieterkarten und im System-Tray
- **Plattformübergreifend** — Native Desktop-App für Windows, macOS und Linux, gebaut mit Tauri 2
## Screenshots
-| Hauptoberfläche | Anbieter hinzufügen |
-| :-----------------------------------------------: | :--------------------------------------------: |
-|  |  |
+
+
+ Hauptoberfläche |
+ Apps-Seite |
+
+
+ Aggregationsmodus |
+ Aggregierte Modellliste in Codex |
+
+
+ Session-Leseansicht |
+ Nutzungsstatistik |
+
+
## Download & Installation
@@ -287,21 +299,23 @@ Laden Sie den neuesten Linux-Build von der Seite [Releases](../../releases) heru
### Grundlegende Verwendung
-1. **Anbieter hinzufügen**: Klicken Sie in der Symbolleiste auf „Add New Provider“ (die +-Schaltfläche) → Wählen Sie ein Preset oder erstellen Sie eine eigene Konfiguration
+1. **Anbieter hinzufügen**: Wählen Sie in der Seitenleiste das Werkzeug aus, das Sie verwalten möchten, und klicken Sie oben rechts auf der Seite auf „+“ („Add Provider“) → Wählen Sie ein Preset oder erstellen Sie eine eigene Konfiguration
2. **Anbieter wechseln**:
- - Hauptoberfläche: Anbieter auswählen → auf „Enable“ klicken (bei OpenCode, OpenClaw, Hermes und MiniMax Code heißt die Schaltfläche „Add“; diese vier Werkzeuge und Pi arbeiten im Parallelmodus, sodass Sie mehrere Anbieter gleichzeitig hinzufügen können)
- - System-Tray: Anbietername direkt anklicken (Claude Code, Codex, Gemini CLI, Grok Build)
+ - Hauptoberfläche: Anbieter auswählen → auf „Enable“ klicken (bei OpenCode, OpenClaw, Hermes und MiniMax Code heißt die Schaltfläche „Add“, bei Pi „Enable“ / „Remove“; diese fünf Werkzeuge arbeiten im Parallelmodus, sodass Sie mehrere Anbieter gleichzeitig hinzufügen können)
+ - System-Tray: Jedes Werkzeug hat eine eigene Zeile mit Name, Modus, Anbieter und Kontingent; klicken Sie im Untermenü direkt auf den Anbieternamen (Claude Code, Claude Desktop, Codex, Gemini CLI, Grok Build)
3. **Wirksam werden**: Claude Code erfordert keinen Neustart; bei Codex, Gemini CLI und Grok Build starten Sie das Terminal oder das CLI-Werkzeug neu, bei Claude Desktop die App selbst (siehe FAQ)
4. **Zurück zum offiziellen Login**: Wechseln Sie zum mitgelieferten offiziellen Anbieter in der Liste (z. B. „Claude Official“), starten Sie das Werkzeug neu und folgen Sie dann seinem Login-/OAuth-Vorgang
-5. **Lokales Routing (optional)**: Wenn Sie in Claude Code Anbieter im OpenAI- oder Gemini-Format nutzen oder Claude in Codex verwenden möchten, müssen Sie das lokale Routing aktivieren. Schalten Sie dazu unter „Settings → Routing → Local Routing“ den „Routing Master Switch“ ein und aktivieren Sie anschließend unter „Routing Enabled“ das jeweilige Werkzeug. Wenn Sie das Routing direkt oben auf der Hauptseite umschalten möchten, aktivieren Sie „Show Routing Toggle on Main Page“
+5. **Routing und Aggregation (optional)**: Die Seiten von Claude Code, Codex, Gemini CLI und Grok Build haben oben die Tabs „Direct“ / „Routing“, Claude Code und Codex zusätzlich „Aggregation“. Ein Klick auf einen Tab wechselt nur die Ansicht und ändert keine Konfiguration; um tatsächlich umzuschalten, klicken Sie auf der Seite auf „Start routing“ oder „Switch to Aggregation“, zurück geht es mit „Back to direct“. Wenn Sie in Claude Code Anbieter im OpenAI- oder Gemini-Format nutzen oder Claude in Codex verwenden möchten, nehmen Sie Routing; wenn Sie Modelle mehrerer Anbieter in derselben Modellliste mischen möchten, nehmen Sie Aggregation
+6. **Werkzeuge verwalten**: Die Seite „Apps“ in der Seitenleiste zeigt für jedes KI-Programmierwerkzeug Version, Installationsort und Quelle; dort können Sie installieren, aktualisieren oder alle auf einmal aktualisieren und auswählen, welche Werkzeuge in der Seitenleiste erscheinen
### MCP, Prompts, Skills, Projekte & Sessions
-- **MCP**: Klicken Sie auf „MCP Management“ → Server über Vorlagen oder eigene Konfiguration hinzufügen (oder „Import Existing“) → Synchronisierung pro Werkzeug umschalten
-- **Prompts**: Klicken Sie auf „Prompts“ → Prompts mit dem Markdown-Editor erstellen → nach dem Aktivieren wird der Prompt in die Prompt-Datei des Werkzeugs geschrieben
-- **Skills**: Klicken Sie auf „Skills“ → „Discover Skills“ → skills.sh durchsuchen oder GitHub-Repositorys durchstöbern → mit einem Klick in unterstützte Werkzeuge installieren
-- **Projekte**: Öffnen Sie auf der Seite von Claude Code, Claude Desktop oder Codex den Projektumschalter oben auf der Hauptseite → „New project“, um die aktuelle Konfiguration zu speichern; später wählen Sie das Projekt einfach im Umschalter aus, um die gesamte Konfiguration auf einmal zu wechseln
-- **Sessions**: Klicken Sie auf „Session Manager“ → Gesprächsverlauf der einzelnen Werkzeuge durchsehen, durchsuchen und fortsetzen
+- **MCP**: Klicken Sie in der Seitenleiste auf „MCP“ → Server über Vorlagen oder eigene Konfiguration hinzufügen (oder „Import Existing“) → Synchronisierung pro Werkzeug umschalten
+- **Prompts**: Klicken Sie in der Seitenleiste auf „Prompts“ → Prompts mit dem Markdown-Editor erstellen → nach dem Aktivieren wird der Prompt in die Prompt-Datei des Werkzeugs geschrieben
+- **Skills**: Klicken Sie in der Seitenleiste auf „Skills“ → „Discover Skills“ → skills.sh durchsuchen oder GitHub-Repositorys durchstöbern → mit einem Klick in unterstützte Werkzeuge installieren
+- **Projekte**: Aktivieren Sie zuerst unter „Settings → General“ die Option „Show project switcher“; öffnen Sie dann auf der Seite von Claude Code, Claude Desktop oder Codex den Projektumschalter oben → „New project“, um die aktuelle Konfiguration zu speichern; später wählen Sie das Projekt einfach im Umschalter aus, um die gesamte Konfiguration auf einmal zu wechseln
+- **Sessions**: Klicken Sie in der Seitenleiste auf „Sessions“ → Sitzungsverlauf durchsehen und durchsuchen, die Leseansicht öffnen oder Sessions der einzelnen Werkzeuge fortsetzen
+- **Accounts**: Klicken Sie in der Seitenleiste auf „Accounts“ und melden Sie sich bei GitHub-Copilot-, ChatGPT- und xAI-(Grok-)Konten an, um die Abonnements als Anbieter zu nutzen
> **Hinweis**: Beim Erststart importiert CC Switch Ihre bestehende Konfiguration von Claude Code, Codex, Gemini CLI und Grok Build automatisch als Anbieter namens `default` und fügt für diese Werkzeuge sowie für Claude Desktop jeweils den offiziellen Anbieter hinzu, sodass nichts von Ihrer bisherigen Konfiguration verloren geht.
@@ -309,74 +323,84 @@ Ausführliche Anleitungen zu allen Funktionen finden Sie im **[Benutzerhandbuch]
## Funktionen
-[Vollständiges Changelog](CHANGELOG.md) | [Release Notes](docs/release-notes/v3.20.4-en.md)
+[Vollständiges Changelog](CHANGELOG.md) | [Release Notes zu v4.0](docs/release-notes/v4.0.4-en.md)
### Funktionen je Werkzeug
-| Werkzeug | Anbieter | Lokales Routing | Tray-Umschaltung | MCP | Skills | Prompts | Sessions | Nutzungsstatistik |
-| --- | --- | :---: | :---: | :---: | :---: | --- | :---: | :---: |
-| Claude Code | Wechsel | ✓ | ✓ | ✓ | ✓ | CLAUDE.md | ✓ | ✓ |
-| Claude Desktop | Wechsel | nur Model Mapping | – | – | – | – | – | nur Model Mapping |
-| Codex | Wechsel | ✓ | ✓ | ✓ | ✓ | AGENTS.md | ✓ | ✓ |
-| Gemini CLI | Wechsel | ✓ | ✓ | ✓ | ✓ | GEMINI.md | ✓ | ✓ |
-| Grok Build | Wechsel | ✓ | ✓ | ✓ | ✓ | AGENTS.md | ✓ | ✓ |
-| OpenCode | Parallel | – | – | ✓ | ✓ | AGENTS.md | ✓ | ✓ |
-| OpenClaw | Parallel | – | – | – | – | Workspace-Editor | ✓ | – |
-| Hermes | Parallel | – | – | ✓ | ✓ | Memory-Verwaltung | ✓ | – |
-| Pi | Parallel | – | – | – | ✓ | AGENTS.md, SYSTEM.md, Prompt-Vorlagen | ✓ | ✓ |
-| MiniMax Code | Parallel | – | – | ✓ | ✓ | AGENTS.md | ✓ | ✓ |
+| Werkzeug | Anbieter | Lokales Routing | Aggregation | Tray-Umschaltung | MCP | Skills | Prompts | Sessions | Nutzungsstatistik |
+| --- | --- | :---: | :---: | :---: | :---: | :---: | --- | :---: | :---: |
+| Claude Code | Wechsel | ✓ | ✓ | ✓ | ✓ | ✓ | CLAUDE.md | ✓ | ✓ |
+| Claude Desktop | Wechsel | nur Model Mapping | – | ✓ | – | – | – | – | nur Model Mapping |
+| Codex | Wechsel | ✓ | ✓ | ✓ | ✓ | ✓ | AGENTS.md | ✓ | ✓ |
+| Gemini CLI | Wechsel | ✓ | – | ✓ | ✓ | ✓ | GEMINI.md | ✓ | ✓ |
+| Grok Build | Wechsel | ✓ | – | ✓ | ✓ | ✓ | AGENTS.md | ✓ | ✓ |
+| OpenCode | Parallel | – | – | – | ✓ | ✓ | AGENTS.md | ✓ | ✓ |
+| OpenClaw | Parallel | – | – | – | – | – | Workspace-Editor | ✓ | – |
+| Hermes | Parallel | – | – | – | ✓ | ✓ | Memory-Verwaltung | ✓ | – |
+| Pi | Parallel | – | – | – | ✓ | ✓ | AGENTS.md, SYSTEM.md, Prompt-Vorlagen | ✓ | ✓ |
+| MiniMax Code | Parallel | – | – | – | ✓ | ✓ | AGENTS.md | ✓ | ✓ |
- **Wechsel**: Es ist jeweils nur ein Anbieter aktiv; **Parallel**: Mehrere Anbieter werden gleichzeitig in die eigene Konfiguration des Werkzeugs geschrieben; welcher verwendet wird, wählen Sie im Werkzeug aus.
- **Lokales Routing**: CC Switch leitet Anfragen auf Ihrem Rechner weiter und konvertiert dabei die Schnittstellenformate, siehe [Lokales Routing & Failover](#lokales-routing--failover) weiter unten. Für Anbieter von Claude Desktop können Sie „Direct“ oder „Model Mapping“ wählen; bei „Model Mapping“ laufen die Anfragen über das lokale Routing.
-- **Sessions**: Sitzungsverlauf durchsehen und durchsuchen, Befehl zum Fortsetzen kopieren und das Gespräch weiterführen (Sessions von OpenClaw und Hermes lassen sich derzeit nicht fortsetzen). Um Hermes-Sessions zu sehen, wählen Sie im Session Manager „All“.
+- **Aggregation**: Bringt die Modelle mehrerer Anbieter in eine gemeinsame Modellliste und verteilt die Anfragen je nach gewähltem Modell, siehe [Aggregationsmodus](#aggregationsmodus) weiter unten.
+- **Sessions**: Sitzungsverlauf durchsehen und durchsuchen, die Leseansicht öffnen, Befehl zum Fortsetzen kopieren und das Gespräch weiterführen (Sessions von OpenClaw und Hermes lassen sich derzeit nicht fortsetzen). Bei Hermes werden nur die neuesten 500 Sessions angezeigt.
- **Nutzungsstatistik**: Ohne lokales Routing wird sie aus den lokalen Sitzungsprotokollen der einzelnen Werkzeuge erstellt; Anfragen über das lokale Routing werden ebenfalls erfasst.
- Die auf der Claude-Desktop-Seite geöffneten Panels für MCP, Skills, Prompts und Sessions wirken auf Claude Code.
### Anbieterverwaltung
-- **90+ Anbieter-Presets** — Preset auswählen und Schlüssel eintragen, um einen Anbieter hinzuzufügen; alternativ können Sie eine eigene Konfiguration erstellen
-- **Nur Kernfelder** — Beim Wechsel werden nur die Verbindungsdaten wie Endpunkt, Schlüssel und Modell ersetzt; Plugins, Hooks, MCP, selbst hinzugefügte Einstellungen und Kommentare bleiben unverändert
-- **Projekte** — Speichern Sie den aktuellen Anbieter sowie MCP, Skills und Prompt-Dateien von Claude Code oder Codex als Projekt (bei Claude Desktop nur den Anbieter) und wechseln Sie später über den Projektumschalter oben auf der Hauptseite oder über das System-Tray mit einem Klick die gesamte Konfiguration; beim Wechsel zu einem anderen Projekt wird der aktuelle Zustand automatisch im bisherigen Projekt gespeichert
-- **OAuth Authentication Center (Beta)** — Melden Sie sich unter „Settings → Auth“ bei mehreren GitHub-Copilot-, ChatGPT- und xAI-(Grok-)Konten an und nutzen Sie die Abonnements als Anbieter in Claude Code, Claude Desktop und Codex (außer bei OpenAI Official in Codex ist dafür jeweils das lokale Routing erforderlich). Die Nutzung von Abonnements außerhalb der offiziellen Clients kann gegen die Nutzungsbedingungen des Herstellers verstoßen — bitte schätzen Sie das Risiko selbst ein
+- **90+ Anbieter-Presets** — Preset auswählen und Schlüssel eintragen, um einen Anbieter hinzuzufügen; alternativ können Sie eine eigene Konfiguration erstellen. Im Hinzufügen-Panel lässt sich nach chinesischen Namen und Domains suchen; verschiedene Tarife und Regionen desselben Anbieters sind in einer Zeile zusammengefasst
+- **Nur Kernfelder** — Beim Wechsel werden nur die Verbindungsdaten wie Endpunkt, Schlüssel und Modell ersetzt; Plugins, Hooks, MCP, selbst hinzugefügte Einstellungen und Kommentare bleiben unverändert. Unten im Editor sehen Sie, wie die Konfigurationsdatei nach dem Wechsel aussieht, und bevor CC Switch eine Konfigurationsdatei zum ersten Mal umschreibt, sichert es automatisch das Original
+- **Projekte** — Speichern Sie den aktuellen Anbieter sowie MCP, Skills und Prompt-Dateien von Claude Code oder Codex als Projekt (bei Claude Desktop nur den Anbieter) und wechseln Sie später über den Projektumschalter oben auf der Seite oder über das System-Tray mit einem Klick die gesamte Konfiguration; beim Wechsel zu einem anderen Projekt wird der aktuelle Zustand automatisch im bisherigen Projekt gespeichert. Der Projektumschalter ist standardmäßig ausgeblendet; aktivieren Sie ihn unter „Settings → General“ mit „Show project switcher“
+- **Accounts (Beta)** — Melden Sie sich auf der Seite „Accounts“ in der Seitenleiste bei mehreren GitHub-Copilot-, ChatGPT- und xAI-(Grok-)Konten an und nutzen Sie die Abonnements als Anbieter in Claude Code, Claude Desktop und Codex (außer bei OpenAI Official in Codex jeweils im Routing-Modus). Die Nutzung von Abonnements außerhalb der offiziellen Clients kann gegen die Nutzungsbedingungen des Herstellers verstoßen — bitte schätzen Sie das Risiko selbst ein
- **Claude Desktop mit Drittanbietern** — Direkte Verbindung zu Anthropic-kompatiblen Endpunkten möglich; für Nicht-Claude-Modelle wählen Sie „Model Mapping“, dann bildet das lokale Routing Stufen wie Sonnet, Opus und Haiku auf die tatsächlichen Modelle des Anbieters ab
- **Universelle Anbieter** — Eine Konfiguration synchronisiert sich mit Claude Code, Codex und Gemini CLI
-- Umschaltung mit einem Klick, Schnellumschaltung über System-Tray (Claude Code, Codex, Gemini CLI, Grok Build), Sortierung per Drag-and-drop, Import/Export
+- Umschaltung mit einem Klick, Schnellumschaltung über System-Tray (Claude Code, Claude Desktop, Codex, Gemini CLI, Grok Build), Sortierung per Drag-and-drop, Import/Export
### Lokales Routing & Failover
- **Formatkonvertierung** — Das lokale Routing konvertiert Anfragen zwischen Anthropic Messages, OpenAI Chat Completions, OpenAI Responses und Gemini Native: Claude Code und Claude Desktop können Anbieter im OpenAI- oder Gemini-Format nutzen, Codex und Grok Build Anbieter im Chat-Completions- oder Anthropic-Messages-Format
-- **Pro Werkzeug aktivierbar** — Für Claude Code, Codex, Gemini CLI und Grok Build lässt sich das lokale Routing jeweils einzeln aktivieren; danach wirkt ein Anbieterwechsel sofort auf die folgenden Anfragen (ändert der Wechsel das Modell, kann bei Codex, Gemini CLI und Grok Build trotzdem ein Neustart nötig sein)
+- **Pro Werkzeug aktivierbar** — Claude Code, Codex, Gemini CLI und Grok Build lassen sich jeweils einzeln in den Routing-Modus schalten: Klicken Sie oben auf der Seite im Tab „Routing“ auf „Start routing“. Im Routing-Modus wirkt ein Anbieterwechsel sofort auf die folgenden Anfragen (ändert der Wechsel das Modell, kann bei Codex, Gemini CLI und Grok Build trotzdem ein Neustart nötig sein). Beim Beenden von CC Switch wird zuerst die Direct-Konfiguration zurückgeschrieben; beim nächsten Start verbindet sich das Routing wieder
- **Automatisches Failover** — Konfigurieren Sie für jedes Werkzeug eine Failover-Warteschlange; schlägt eine Anfrage fehl, wird automatisch der nächste Anbieter in der Warteschlange verwendet — ergänzt durch Circuit Breaker und Anbieter-Health-Monitoring
- **Request-Rectifier** — Korrigiert automatisch bestimmte Anfragen, die mit dem Upstream nicht kompatibel sind (z. B. Thinking-Signaturen, Herabstufung, wenn keine Bilder unterstützt werden)
- Offizielle Anbieter (z. B. Claude Official) können nicht über das lokale Routing laufen (ausgenommen OpenAI Official von Codex)
+- Status, Listen-Adresse und Failover-Parameter des Routing-Dienstes finden Sie gesammelt unter „Settings → Local routing“
- Anleitungen (auf Englisch): [GPT in Claude Code nutzen](docs/guides/claude-codex-routing-guide-en.md) · [Claude in Codex nutzen](docs/guides/codex-claude-routing-guide-en.md)
+### Aggregationsmodus
+
+- **Eine Modellliste, mehrere Anbieter** — Wechseln Sie auf der Seite von Claude Code oder Codex zu „Aggregation“ und fügen Sie einige Anbieter hinzu; ihre Modelle erscheinen dann gemeinsam in der Modellauswahl des Clients. Welches Modell Sie wählen, entscheidet, an welchen Anbieter die Anfrage geht — ohne Umweg über CC Switch
+- **Jederzeit hinzufügen und entfernen** — Klicken Sie auf der Anbieterkarte auf „Add“ oder „Remove“ und bestimmen Sie einen Anbieter als Standard; er übernimmt alle Anfragen, die kein aggregiertes Modell angeben. Offizielle Konten können nur Standardanbieter sein und nicht in die Aggregation aufgenommen werden
+- **Hinweise** — Aggregation bietet kein Failover; Claude Code wird ab Version 2.1.243 benötigt; Codex muss nach Änderungen an der aggregierten Liste neu gestartet werden, Claude Code nicht. Wechseln Sie innerhalb einer Session das Modell, muss das neue Modell den Prompt-Cache neu aufbauen, sodass die erste Runde etwas mehr kostet
+- Viele Designideen des Aggregationsmodus stammen von [opencodex](https://github.com/lidge-jun/opencodex) — danke an den Autor und alle Mitwirkenden
+
### MCP, Prompts & Skills
-- **Einheitliches MCP-Panel** — Alle MCP-Server an einer Stelle verwalten, pro Werkzeug per Häkchen synchronisieren, bestehende Konfigurationen aus den einzelnen Werkzeugen importieren, Import per Deep Link
+- **Einheitliches MCP-Panel** — Alle MCP-Server an einer Stelle verwalten, pro Werkzeug per Häkchen synchronisieren (Claude Code, Codex, Gemini CLI, Grok Build, OpenCode, Hermes, Pi, MiniMax Code), bestehende Konfigurationen aus den einzelnen Werkzeugen importieren, Import per Deep Link
- **Prompts** — Je Werkzeug separat verwaltete Prompt-Bibliothek mit Markdown-Editor; nach dem Aktivieren wird der Prompt in die Prompt-Datei des Werkzeugs geschrieben (CLAUDE.md / AGENTS.md / GEMINI.md), wobei der bisherige Inhalt der Datei vorher in die Prompt-Bibliothek zurückgesichert wird und nicht verloren geht. Bei Pi lassen sich außerdem SYSTEM.md, APPEND_SYSTEM.md und Prompt-Vorlagen bearbeiten
-- **Skills** — skills.sh durchsuchen oder mit einem Klick aus GitHub-Repositorys bzw. ZIP-Dateien installieren; nach Updates suchen und alle mit einem Klick aktualisieren; Synchronisierung in die einzelnen Werkzeuge per Symlink oder Dateikopie, als Speicherort ist optional `~/.agents/skills` wählbar
-- Alle drei Panels unterstützen die Suche; bei MCP und Skills können Sie zudem pro Werkzeug alle Einträge mit einem Klick aktivieren oder deaktivieren
+- **Skills** — skills.sh durchsuchen oder mit einem Klick aus GitHub-Repositorys bzw. ZIP-Dateien installieren; nach Updates suchen und alle mit einem Klick aktualisieren; die Synchronisierung in die einzelnen Werkzeuge erfolgt wahlweise automatisch, nur per Symlink oder nur per Kopie, als Speicherort ist optional `~/.agents/skills` wählbar
+- Alle drei Panels unterstützen die Suche; bei MCP und Skills können Sie zudem pro Werkzeug alle Einträge mit einem Klick aktivieren oder deaktivieren. Anbieter, MCP und Prompts werden ganzseitig im Inhaltsbereich bearbeitet; wenn Sie die Seite mit ungespeicherten Änderungen verlassen, werden Sie vorher gewarnt
### Nutzungs- & Kostenverfolgung
-- **Nutzungs-Dashboard** — Funktioniert auch ohne lokales Routing: Standardmäßig werden die lokalen Sitzungsprotokolle der einzelnen Werkzeuge automatisch gescannt und Anfragen, Token, Cache-Trefferquote und Kosten nach Anbieter und Modell ausgewertet — mit Trenddiagrammen und einem Protokoll jeder einzelnen Anfrage
-- **Kontingente & Guthaben** — Anbieterkarten und System-Tray zeigen direkt offizielle Abo-Kontingente (Claude, ChatGPT, Gemini, SuperGrok), 5-Stunden-, Wochen- und Monatskontingente von Coding Plans (Kimi, Zhipu GLM, MiniMax, Volcengine Ark u. a.) sowie Kontoguthaben (DeepSeek, OpenRouter, SiliconFlow u. a.) an; manche davon müssen zuerst über „Configure usage query“ auf der Anbieterkarte aktiviert werden. Für andere Anbieter können Sie ein eigenes Nutzungsskript schreiben
+- **Nutzungs-Dashboard** — Funktioniert auch ohne lokales Routing: Standardmäßig werden die lokalen Sitzungsprotokolle der einzelnen Werkzeuge automatisch gescannt und Anfragen, Token, Cache-Trefferquote, Ausgabegeschwindigkeit und Kosten nach Anbieter und Modell ausgewertet — mit Trenddiagrammen, einer Jahres-Heatmap und einem Protokoll jeder einzelnen Anfrage
+- **Kontingente & Guthaben** — Anbieterkarten und System-Tray zeigen direkt das verbleibende Kontingent und den Countdown bis zum Zurücksetzen, etwa „5h 94% left“: offizielle Abo-Kontingente (Claude, ChatGPT, Gemini, SuperGrok), 5-Stunden-, Wochen- und Monatskontingente von Coding Plans (Kimi, Zhipu GLM, MiniMax, Volcengine Ark u. a.) sowie Kontoguthaben (DeepSeek, OpenRouter, SiliconFlow u. a.) an; manche davon müssen zuerst über „Configure usage query“ auf der Anbieterkarte aktiviert werden. Für andere Anbieter können Sie ein eigenes Nutzungsskript schreiben. Bei ChatGPT-Abonnements werden außerdem die verbleibenden Resets und das Codex-Credits-Guthaben angezeigt
- **Eigene Preise** — Preise pro Modell festlegen, Import von models.dev möglich
### Session Manager & Workspace
-- **Session Manager** — Gesprächsverlauf der einzelnen Werkzeuge durchsehen und durchsuchen, Befehl zum Fortsetzen kopieren und das Gespräch weiterführen; unter macOS lässt sich eine Session mit einem Klick im Terminal fortsetzen
+- **Session-Leseansicht** — Die Sitzungsprotokolle der Werkzeuge werden in strukturierte Inhalte zerlegt: Text, Thinking, Tool-Aufrufe, Tool-Ergebnisse und Bilder werden getrennt dargestellt; jede Arbeitsrunde ist zu einer einzeiligen Zusammenfassung eingeklappt (wie viele Schritte, wie viele geänderte Dateien, wie viele Fehler), fehlgeschlagene Schritte sind rot markiert; rechts befindet sich ein Gesprächsverzeichnis, dazu Suche innerhalb der Session, Markdown-Export sowie Kopieren einzelner Runden oder des ganzen Gesprächs
+- **Liste & Fortsetzen** — Gruppierung nach Projekt oder Zeit, Suche nach Titel, Verzeichnis, Nachricht oder Session-ID, Löschen mehrerer Sessions auf einmal; Befehl zum Fortsetzen kopieren und das Gespräch weiterführen, unter macOS lässt sich eine Session mit einem Klick im Terminal fortsetzen
- **Workspace-Editor** (OpenClaw) — Agent-Dateien (AGENTS.md, SOUL.md usw.) und „Daily Memory“ bearbeiten
- **Memory-Verwaltung** (Hermes) — MEMORY.md und USER.md von Hermes bearbeiten
### System & Plattform
- **Cloud-Synchronisierung** — Geräteübergreifende Synchronisierung über WebDAV (Jianguoyun, Nextcloud, Synology NAS usw.) oder S3-kompatiblen Speicher (AWS S3, Cloudflare R2, Alibaba Cloud OSS, Tencent Cloud COS usw.); alternativ können Sie das CC-Switch-Konfigurationsverzeichnis in einen Cloud-Speicher-Ordner wie Dropbox, OneDrive oder iCloud legen
-- **CLI-Werkzeugverwaltung** — Auf der Seite „About“ sehen Sie die installierte und die neueste Version von Kommandozeilenwerkzeugen wie Claude Code und Codex, können sie mit einem Klick installieren, aktualisieren oder alle auf einmal aktualisieren und doppelte Installationen diagnostizieren; unter Windows lassen sich auch Werkzeuge in WSL verwalten (siehe FAQ)
+- **CLI-Werkzeugverwaltung** — Auf der Seite „Apps“ in der Seitenleiste sehen Sie die installierte und die neueste Version von Kommandozeilenwerkzeugen wie Claude Code und Codex, können sie mit einem Klick installieren, aktualisieren oder alle auf einmal aktualisieren und doppelte Installationen diagnostizieren; unter Windows lassen sich auch Werkzeuge in WSL verwalten (siehe FAQ)
- **Deep Link** (`ccswitch://`) — Anbieter, MCP-Server und Prompts per Link mit einem Klick importieren oder Skill-Repositorys hinzufügen
- **Hilfsprogramme** — Überspringen der Erststart-Bestätigung von Claude Code, Ausblenden der KI-Attribution, Übernahme des in CC Switch gewählten Anbieters durch die Claude-Code-Erweiterung für VS Code und mehr
-- Dunkles / Helles / System-Theme, automatischer Start, automatischer Updater, atomare Schreibvorgänge, automatische Backups, i18n (zh/zh-TW/en/ja)
+- Dunkles / Helles / System-Theme, automatischer Start, automatischer Updater, atomare Schreibvorgänge, automatische Backups (unter „Settings → Data“ sehen Sie Speicherort und Platzbedarf aller Backups), i18n (zh/zh-TW/en/ja)
## FAQ
@@ -393,12 +417,26 @@ CC Switch unterstützt zehn Werkzeuge: **Claude Code**, **Claude Desktop**, **Co
Das hängt vom Werkzeug ab:
- **Claude Code**: unterstützt Hot-Switching von Anbieterdaten — kein Neustart nötig.
-- **Codex, Gemini CLI, Grok Build**: Starten Sie Ihr Terminal oder das CLI-Werkzeug neu, damit die Änderungen wirksam werden (CC Switch erinnert Sie nach dem Wechsel daran). Mit aktiviertem lokalem Routing gehen Anfragen sofort an den neuen Anbieter; ändert der Wechsel jedoch das Modell, kann bei allen drei Werkzeugen trotzdem ein Neustart nötig sein.
+- **Codex, Gemini CLI, Grok Build**: Starten Sie Ihr Terminal oder das CLI-Werkzeug neu, damit die Änderungen wirksam werden (CC Switch erinnert Sie nach dem Wechsel daran). Im Routing-Modus gehen Anfragen sofort an den neuen Anbieter; ändert der Wechsel jedoch das Modell, kann bei allen drei Werkzeugen trotzdem ein Neustart nötig sein.
+- **Aggregationsmodus**: In Claude Code werden Änderungen an den aggregierten Modellen sofort wirksam; Codex muss nach dem Wechsel in die Aggregation oder aus ihr heraus und nach jeder Änderung der aggregierten Modellliste vollständig neu gestartet werden, siehe nächste Frage.
- **Claude Desktop**: Beenden Sie Claude Desktop vollständig und öffnen Sie es erneut; bei Verwendung von „Model Mapping“ muss CC Switch außerdem weiterlaufen.
- **OpenCode, OpenClaw, Hermes, Pi, MiniMax Code**: Dies sind Werkzeuge im Parallelmodus — ein Klick auf „Add“ (bei Pi „Enable“) trägt den Anbieter zusätzlich zu den bereits vorhandenen in die eigene Konfiguration des Werkzeugs ein; das gewünschte Modell wählen Sie anschließend im Werkzeug aus.
+
+Codex im Aggregationsmodus: Warum erscheinen die aggregierten Modelle nicht in /model?
+
+Codex liest die Modellliste nur beim Start ein. Nach dem Wechsel in die Aggregation oder aus ihr heraus, nach dem Hinzufügen oder Entfernen eines aggregierten Anbieters und nach Änderungen an den aggregierten Modellen eines Anbieters müssen Sie Codex vollständig neu starten, damit die neue Liste erscheint:
+
+- **Codex CLI**: Es reicht nicht, das Terminal zu schließen und `codex` erneut zu öffnen. Alle `codex`-Instanzen in allen Terminals teilen sich einen Hintergrund-Daemon, der neu gestartet werden muss, damit er die neue Liste liest. Erkennt CC Switch, dass Codex noch die alte Liste verwendet, erscheint oben auf der Codex-Seite ein Hinweis; klicken Sie darin auf „Restart Codex daemon“. Der Neustart unterbricht laufende Aufgaben im Daemon.
+- **Codex Desktop-App**: Beenden Sie die App vollständig und öffnen Sie sie erneut (unter macOS mit ⌘Q — nur das Fenster zu schließen reicht nicht).
+- **Editor-Erweiterungen**: Öffnen Sie das Editorfenster neu.
+
+Claude Code ist davon nicht betroffen; Änderungen an den aggregierten Modellen werden dort sofort wirksam.
+
+
+
Ändert ein Anbieterwechsel meine Plugins, Hooks oder andere Einstellungen?
@@ -420,11 +458,11 @@ Das Modell ist ein Kernfeld und gehört zum Anbieter. Ein im Werkzeug gewähltes
-Warum kann ich den aktuell aktiven Anbieter nicht löschen?
+Warum kann ich den aktuell verwendeten Anbieter nicht löschen?
CC Switch folgt dem Designprinzip der „minimalen Eingriffstiefe“ — selbst wenn Sie die App deinstallieren, funktionieren Ihre Werkzeuge weiterhin normal.
-Bei Werkzeugen mit jeweils einem aktiven Anbieter (Claude Code, Claude Desktop, Codex, Gemini CLI, Grok Build) behält das System daher immer eine aktive Konfiguration bei, da das Löschen aller Konfigurationen das entsprechende Werkzeug unbrauchbar machen würde. Werkzeuge im Parallelmodus wie OpenCode, OpenClaw, Hermes, Pi und MiniMax Code sind davon nicht betroffen — dort können Sie jeden Anbieter direkt löschen. Wenn Sie ein Werkzeug selten verwenden, können Sie es in den Einstellungen ausblenden. Wie Sie zurück zum offiziellen Login wechseln, erfahren Sie in der nächsten Frage.
+Bei Werkzeugen mit jeweils einem aktiven Anbieter (Claude Code, Claude Desktop, Codex, Gemini CLI, Grok Build) behält das System daher immer eine verwendete Konfiguration bei, da das Löschen aller Konfigurationen das entsprechende Werkzeug unbrauchbar machen würde; um diesen Anbieter zu löschen, wechseln Sie zuerst zu einem anderen. Auch der Standardanbieter im Aggregationsmodus lässt sich nicht entfernen; legen Sie zuerst einen anderen Anbieter als Standard fest. Werkzeuge im Parallelmodus wie OpenCode, OpenClaw, Hermes, Pi und MiniMax Code sind davon nicht betroffen — dort können Sie jeden Anbieter direkt löschen. Wenn Sie ein Werkzeug selten verwenden, können Sie es auf der Seite „Apps“ in der Seitenleiste aus der Seitenleiste ausblenden. Wie Sie zurück zum offiziellen Login wechseln, erfahren Sie in der nächsten Frage.
@@ -435,34 +473,34 @@ In CC Switch enthält die Anbieterliste von Claude Code, Claude Desktop, Codex,
Codex kann sich in CC Switch außerdem über „Sign in with ChatGPT“ bei mehreren ChatGPT-Konten anmelden; für jede **OpenAI Official**-Karte wählen Sie dann unter „Account to use“ ein Konto aus, sodass der Wechsel zwischen mehreren Plus-, Pro- oder Team-Konten mit einem Klick gelingt. Karten mit „Follow Codex login“ verwenden weiterhin den eigenen Login der Codex CLI.
-Hinweis: Solange das lokale Routing aktiviert ist, kann nicht zu offiziellen Anbietern gewechselt werden — ausgenommen die OpenAI-Official-Karten von Codex.
+Hinweis: Offizielle Abonnements nutzen den eigenen Login des Werkzeugs und laufen nicht über das lokale Routing. Im Routing-Modus kann nicht zu offiziellen Anbietern gewechselt werden (ausgenommen die OpenAI-Official-Karten von Codex); kehren Sie dafür einfach zuerst zu Direct zurück.
-Warum steht nach dem Aktivieren des lokalen Routings 127.0.0.1 als Adresse in der Konfigurationsdatei?
+Warum steht nach „Start routing“ 127.0.0.1 als Adresse in der Konfigurationsdatei?
-Bei aktiviertem lokalem Routing sendet das Werkzeug seine Anfragen zunächst an das lokale Routing von CC Switch (standardmäßig `http://127.0.0.1:15721`), und CC Switch leitet sie an den ausgewählten Anbieter weiter. Deshalb enthält die Konfigurationsdatei des Werkzeugs nur die lokale Adresse und den Platzhalterschlüssel `PROXY_MANAGED`; bei Claude Code wird der Modellname außerdem als fester Alias wie `claude-sonnet-5` eingetragen (im `/model`-Menü wird weiterhin der tatsächliche Modellname angezeigt). Die tatsächliche Anbieteradresse, der Schlüssel und das Modell sind in CC Switch gespeichert.
+Im Routing-Modus sendet das Werkzeug seine Anfragen zunächst an das lokale Routing von CC Switch (standardmäßig `http://127.0.0.1:15721`), und CC Switch leitet sie an den ausgewählten Anbieter weiter. Deshalb enthält die Konfigurationsdatei des Werkzeugs nur die lokale Adresse und den Platzhalterschlüssel `PROXY_MANAGED`; bei Claude Code wird der Modellname außerdem als fester Alias wie `claude-sonnet-5` eingetragen (im `/model`-Menü wird weiterhin der tatsächliche Modellname angezeigt). Die tatsächliche Anbieteradresse, der Schlüssel und das Modell sind in CC Switch gespeichert. Für den Aggregationsmodus gilt dasselbe.
-Unter „Settings → Usage Statistics → Request Logs“ sehen Sie für jede Anfrage „angefragtes Modell → tatsächliches Modell“.
+In den „Request Logs“ auf der Seite „Usage“ in der Seitenleiste sehen Sie für jede Anfrage „angefragtes Modell → tatsächliches Modell“.
-Solange das lokale Routing aktiv ist, wechseln Sie den Anbieter, den das lokale Routing verwendet; der Anbieter, den Sie vor dem Aktivieren genutzt haben, bleibt unverändert und ist auf seiner Karte mit „Direct“ gekennzeichnet. Nach dem Deaktivieren des lokalen Routings wird die Konfigurationsdatei auf die Konfiguration dieses direkten Anbieters zurückgeschrieben. Auch beim Beenden von CC Switch wird zuerst der direkte Anbieter zurückgeschrieben; beim nächsten Start verbindet sich das lokale Routing wieder.
+Im Routing-Modus wechseln Sie den Anbieter, den das Routing verwendet; der Anbieter, den Sie vor dem Wechsel ins Routing genutzt haben, bleibt unverändert und ist auf seiner Karte mit „Direct“ gekennzeichnet. Nach einem Klick auf „Back to direct“ wird die Konfigurationsdatei auf die Konfiguration dieses direkten Anbieters zurückgeschrieben. Auch beim Beenden von CC Switch wird zuerst der direkte Anbieter zurückgeschrieben; beim nächsten Start verbindet sich das Routing wieder.
Kann ich in Claude Code OpenAI-kompatible Schnittstellen, Gemini oder lokale Modelle verwenden?
-Ja, dafür muss jedoch das lokale Routing aktiviert sein. Wählen Sie beim Bearbeiten des Anbieters unter „Advanced Options“ im Feld „Upstream Format“ das Schnittstellenformat, das der Anbieter verwendet: Für Dienste, die nur eine Chat-Completions-Schnittstelle anbieten (was bei vielen lokalen Modelldiensten der Fall ist), wählen Sie „OpenAI Chat Completions“, für Dienste mit Responses-Schnittstelle „OpenAI Responses API“ und für Gemini „Gemini Native generateContent“. Aktivieren Sie anschließend wie in Schritt 5 des [Schnellstarts](#schnellstart) beschrieben das lokale Routing für Claude Code. Ist das falsche Format gewählt oder das lokale Routing nicht aktiviert, erscheint in der Regel ein 404- oder 405-Fehler.
+Ja, dafür brauchen Sie jedoch das Routing. Wählen Sie beim Bearbeiten des Anbieters unter „Advanced Options“ im Feld „Upstream Format“ das Schnittstellenformat, das der Anbieter verwendet: Für Dienste, die nur eine Chat-Completions-Schnittstelle anbieten (was bei vielen lokalen Modelldiensten der Fall ist), wählen Sie „OpenAI Chat Completions“, für Dienste mit Responses-Schnittstelle „OpenAI Responses API“ und für Gemini „Gemini Native generateContent“. Klicken Sie anschließend auf der Claude-Code-Seite im Tab „Routing“ auf „Start routing“. Ist das falsche Format gewählt oder das Routing nicht gestartet, erscheint in der Regel ein 404- oder 405-Fehler.
-Umgekehrt können Sie in Codex oder Grok Build unter „Upstream Format“ die Option „Anthropic Messages“ wählen, um Anbieter im Claude-Format zu nutzen — auch dafür muss das lokale Routing aktiviert sein. Details finden Sie in den Anleitungen [GPT in Claude Code nutzen](docs/guides/claude-codex-routing-guide-en.md) und [Claude in Codex nutzen](docs/guides/codex-claude-routing-guide-en.md) (auf Englisch).
+Umgekehrt können Sie in Codex oder Grok Build unter „Upstream Format“ die Option „Anthropic Messages“ wählen, um Anbieter im Claude-Format zu nutzen — auch dafür brauchen Sie das Routing. Details finden Sie in den Anleitungen [GPT in Claude Code nutzen](docs/guides/claude-codex-routing-guide-en.md) und [Claude in Codex nutzen](docs/guides/codex-claude-routing-guide-en.md) (auf Englisch).
Der „Connectivity check“ war erfolgreich — warum schlagen Anfragen trotzdem fehl?
-Der „Connectivity check“ auf der Anbieterkarte prüft nur, ob die Anbieteradresse erreichbar ist, und sendet keine echte Modellanfrage; ob API-Schlüssel und Modellname korrekt sind, lässt sich damit also nicht überprüfen. Wenn Anfragen fehlschlagen, prüfen Sie Schlüssel, Modellname und Upstream-Format; bei aktiviertem lokalem Routing finden Sie die konkrete Fehlermeldung außerdem unter „Settings → Usage Statistics → Request Logs“.
+Der „Connectivity check“ auf der Anbieterkarte prüft nur, ob die Anbieteradresse erreichbar ist, und sendet keine echte Modellanfrage; ob API-Schlüssel und Modellname korrekt sind, lässt sich damit also nicht überprüfen. Wenn Anfragen fehlschlagen, prüfen Sie Schlüssel, Modellname und Upstream-Format; bei Anfragen über das Routing finden Sie die konkrete Fehlermeldung außerdem in den „Request Logs“ auf der Seite „Usage“ in der Seitenleiste.
@@ -473,24 +511,24 @@ Standardmäßig liegen alle Daten im Ordner `.cc-switch` in Ihrem Benutzerverzei
- **Datenbank**: `cc-switch.db` (SQLite — Anbieter, MCP, Prompts, Skills, Projekte, Nutzungsdaten usw.)
- **Lokale Einstellungen**: `settings.json` (gerätebezogene Einstellungen, z. B. die Konfigurationsverzeichnisse der einzelnen Werkzeuge, Backup-Richtlinie, Verbindungsdaten für die Cloud-Synchronisierung)
-- **Backups**: `backups/` (standardmäßig automatisch alle 24 Stunden, die 10 neuesten werden behalten; anpassbar unter „Settings → Advanced → Backup & Restore“)
+- **Backups**: `backups/` (standardmäßig automatisch alle 24 Stunden, die 10 neuesten werden behalten; anpassbar unter „Settings → Data → Backup & Restore“; darunter listet „Other Backups“ Speicherort und Größe aller übrigen Backups auf, die sich nach Kategorie bereinigen lassen)
- **Skills**: `skills/` (in den Einstellungen auf `~/.agents/skills` umstellbar); standardmäßig per Symlink mit den einzelnen Werkzeugen synchronisiert; schlägt das fehl, wird stattdessen kopiert
- **Skill-Backups**: `skill-backups/` (vor dem Deinstallieren oder Aktualisieren eines Skills automatisch erstellt, die 20 neuesten werden behalten)
- **OAuth-Anmeldedaten**: `copilot_auth.json`, `codex_oauth_auth.json`, `xai_oauth_auth.json`
- **Logs**: `logs/cc-switch.log` und `crash.log` — bitte fügen Sie sie bei Problemmeldungen bei
-- **Gerätezustand**: `live-state.json` (ob jedes Werkzeug direkt oder über das lokale Routing verbunden ist und was zuletzt geschrieben wurde), `codex-login-stash.json` (der offizielle Codex-Login, der beim Wechsel zu einem Drittanbieter beiseitegelegt und beim Zurückwechseln zu einem offiziellen Anbieter wiederhergestellt wird)
+- **Gerätezustand**: `live-state.json` (ob jedes Werkzeug gerade im Modus Direct, Routing oder Aggregation läuft und was zuletzt geschrieben wurde), `codex-login-stash.json` (der offizielle Codex-Login, der beim Wechsel zu einem Drittanbieter beiseitegelegt und beim Zurückwechseln zu einem offiziellen Anbieter wiederhergestellt wird)
- **Original-Konfigurationsdateien**: `backups/live-first-write/` (die Konfigurationsdateien der Werkzeuge, bevor CC Switch sie zum ersten Mal umgeschrieben hat)
-Wenn Sie unter „Settings → Advanced → Configuration Directory“ das „CC Switch Configuration Directory“ ändern, werden alle oben genannten Dateien außer `settings.json`, dem Gerätezustand und den Original-Konfigurationsdateien im neuen Verzeichnis abgelegt. CC Switch verschiebt vorhandene Dateien nicht automatisch; kopieren Sie sie vorher manuell dorthin. `settings.json`, der Gerätezustand und die Original-Konfigurationsdateien gehören nur zu diesem Rechner: Sie bleiben immer im Standardverzeichnis und werden nicht per Cloud synchronisiert.
+Wenn Sie unter „Settings → Data → Location“ das „CC Switch Configuration Directory“ ändern, werden alle oben genannten Dateien außer `settings.json`, dem Gerätezustand und den Original-Konfigurationsdateien im neuen Verzeichnis abgelegt. CC Switch verschiebt vorhandene Dateien nicht automatisch; kopieren Sie sie vorher manuell dorthin. `settings.json`, der Gerätezustand und die Original-Konfigurationsdateien gehören nur zu diesem Rechner: Sie bleiben immer im Standardverzeichnis und werden nicht per Cloud synchronisiert.
Wie verwalte ich unter Windows Werkzeuge in WSL?
-CC Switch erkennt WSL nicht automatisch. Ändern Sie unter „Settings → Advanced → Configuration Directory → Configuration Directory Override (Advanced)“ das Verzeichnis des jeweiligen Werkzeugs auf einen Pfad in WSL, z. B. `\\wsl.localhost\Ubuntu\home\\.claude`; nach dem Speichern liest und schreibt CC Switch die Konfiguration in WSL (einstellbar für Claude Code, Codex, Gemini CLI, Grok Build, OpenCode, OpenClaw, Hermes und Pi). Anschließend erkennt und aktualisiert auch die Seite „About“ das Werkzeug in der entsprechenden WSL-Distribution.
+CC Switch erkennt WSL nicht automatisch. Ändern Sie unter „Settings → App config“ das Konfigurationsverzeichnis des jeweiligen Werkzeugs auf einen Pfad in WSL, z. B. `\\wsl.localhost\Ubuntu\home\\.claude`; nach dem Speichern liest und schreibt CC Switch die Konfiguration in WSL (einstellbar für Claude Code, Codex, Gemini CLI, Grok Build, OpenCode, OpenClaw, Hermes und Pi). Anschließend erkennt und aktualisiert auch die Seite „Apps“ in der Seitenleiste das Werkzeug in der entsprechenden WSL-Distribution.
-Hinweis: Das lokale Routing trägt als Adresse `127.0.0.1` in die Konfiguration ein. Im standardmäßigen NAT-Netzwerkmodus von WSL2 erreicht `127.0.0.1` in WSL das lokale Routing unter Windows nicht; wechseln Sie daher in den Mirrored-Netzwerkmodus von WSL.
+Hinweis: Routing und Aggregation tragen als Adresse `127.0.0.1` in die Konfiguration ein. Im standardmäßigen NAT-Netzwerkmodus von WSL2 erreicht `127.0.0.1` in WSL das lokale Routing unter Windows nicht; wechseln Sie daher in den Mirrored-Netzwerkmodus von WSL.
diff --git a/README_JA.md b/README_JA.md
index 81af82756..8518813bc 100644
--- a/README_JA.md
+++ b/README_JA.md
@@ -218,20 +218,32 @@ TeamoRouter は、集中請求、チーム管理、BYOK、スマートルーテ
Claude Code、Codex、Gemini CLI などの AI コーディングツールは、それぞれ設定形式が異なります。API プロバイダを変えるたびに JSON、TOML、YAML、`.env` ファイルを手作業で編集しなければならず、MCP、Skills、プロンプトもツールごとに個別に管理する必要があります。
-**CC Switch** は、こうした作業を 1 つのデスクトップアプリに集約します。プリセットを選んでキーを入力すれば、ワンクリックで切り替えられます。既存の設定が失われることもありません。
+**CC Switch** は、こうした作業を 1 つのデスクトップアプリに集約します。プリセットを選んでキーを入力すれば、ワンクリックで切り替えられます。切り替え時に置き換えるのはアドレス、キー、モデルといった接続情報だけで、自分で追加したプラグイン、フック、MCP、コメントはそのまま残ります。
- **1 つのアプリで 10 のツール** — Claude Code、Claude Desktop、Codex、Gemini CLI、Grok Build、OpenCode、OpenClaw、Hermes、Pi、MiniMax Code
- **手動編集は不要** — AWS Bedrock、NVIDIA NIM、コミュニティリレーなど 90 以上のプロバイダプリセットを内蔵
-- **Claude Code で GPT を、Codex で Claude を使う** — ローカルルーティングを内蔵し、Anthropic、OpenAI、Gemini の API 形式を自動で変換。自動フェイルオーバーにも対応
+- **直接接続・ルーティング・集約を用途に応じて選択** — 直接接続はツールがプロバイダへ直接つなぎます。ルーティングはローカルで転送し、API 形式の変換と自動フェイルオーバーにより、Claude Code で GPT を、Codex で Claude を使えるようにします。集約は複数のプロバイダのモデルを Claude Code や Codex の 1 つのモデル一覧にまとめ、選んだモデルに応じてそのプロバイダへリクエストを送ります
- **MCP・Skills・プロンプトを一元管理** — MCP と Skills は一度追加すれば、ツールごとにチェックを入れて同期。プロンプトはツールごとに個別に管理
-- **使用量とクォータをひと目で確認** — ローカルルーティングを使わなくてもトークン使用量と費用を集計。サブスクリプションのクォータと残高をプロバイダカードとトレイに直接表示
+- **読みやすいセッション** — 各ツールのセッション記録を読みやすいページに整理。各ターンで何をしたか、どのファイルを変更したか、どのステップで失敗したかがひと目でわかります
+- **使用量とクォータをひと目で確認** — ローカルルーティングを使わなくてもトークン使用量と費用を集計。サブスクリプションのクォータ残量とアカウント残高をプロバイダカードとトレイに直接表示
- **クロスプラットフォーム** — Tauri 2 で構築された Windows、macOS、Linux 対応のネイティブデスクトップアプリ
## スクリーンショット
-| メイン画面 | プロバイダ追加 |
-| :-------------------------------------------: | :----------------------------------------------: |
-|  |  |
+
+
+ メイン画面 |
+ アプリページ |
+
+
+ 集約モード |
+ Codex の集約モデル一覧 |
+
+
+ セッション閲覧ページ |
+ 使用量 |
+
+
## ダウンロード & インストール
@@ -287,21 +299,23 @@ paru -S cc-switch-bin
### 基本的な使い方
-1. **プロバイダ追加**: ツールバーの「新しいプロバイダーを追加」(+ ボタン)をクリック → プリセットを選ぶかカスタム設定を作成
+1. **プロバイダ追加**: サイドバーで管理するツールを選び、ページ右上の「+」(プロバイダーを追加)をクリック → プリセットを選ぶかカスタム設定を作成
2. **プロバイダ切り替え**:
- - メイン UI: プロバイダを選択 → 「有効化」をクリック(OpenCode、OpenClaw、Hermes、MiniMax Code ではボタンが「追加」になります。この 4 つのツールと Pi は共存型のツールで、複数のプロバイダを同時に追加できます)
- - システムトレイ: プロバイダ名をクリック(Claude Code、Codex、Gemini CLI、Grok Build に対応)
+ - メイン UI: プロバイダを選択 → 「有効化」をクリック(OpenCode、OpenClaw、Hermes、MiniMax Code ではボタンが「追加」、Pi では「有効にする / 削除」になります。この 5 つは共存型のツールで、複数のプロバイダを同時に追加できます)
+ - システムトレイ: ツールごとに 1 行で「名前 · モード · プロバイダ · クォータ」を表示。サブメニューでプロバイダ名をクリック(Claude Code、Claude Desktop、Codex、Gemini CLI、Grok Build に対応)
3. **反映**: Claude Code は再起動不要。Codex、Gemini CLI、Grok Build はターミナルまたは CLI ツールを再起動、Claude Desktop はアプリ自体を再起動(詳しくはよくある質問を参照)
4. **公式ログインに戻す**: リストに含まれている公式プロバイダ(例:「Claude Official」)に切り替え、ツールを再起動してログイン/OAuth フローを実行
-5. **ローカルルーティング(任意)**: Claude Code で OpenAI 形式や Gemini 形式のプロバイダを使う場合や、Codex で Claude を使う場合は、ローカルルーティングを有効にする必要があります。「設定 → ルーティング → ローカルルーティング」で「ルーティング総スイッチ」をオンにし、「ルーティング有効」で対象のツールをオンにしてください。メインページ上部から直接オン/オフしたい場合は、「メインページにルーティング切り替えを表示」をオンにします
+5. **ルーティングと集約(任意)**: Claude Code、Codex、Gemini CLI、Grok Build のページ上部には「直接接続 / ルーティング」タブがあり、Claude Code と Codex には「集約」タブもあります。タブを押しても表示内容が切り替わるだけで、設定は変わりません。実際に切り替えるにはページ上の「ルーティングを開始」または「集約に切り替え」を、直接接続に戻すには「直接接続に戻す」をクリックします。Claude Code で OpenAI 形式や Gemini 形式のプロバイダを使う場合や、Codex で Claude を使う場合はルーティングを、複数のプロバイダのモデルを 1 つのモデル一覧で使い分けたい場合は集約を使います
+6. **ツール管理**: サイドバーの「アプリ」ページに、各 AI コーディングツールのバージョン、インストール場所、インストール元がまとめて表示されます。インストール、アップグレード、一括アップグレードができ、サイドバーに表示するツールも選べます
### MCP、プロンプト、Skills、プロジェクト & セッション
-- **MCP**: 「MCP 管理」ボタンをクリック → テンプレートまたはカスタム設定でサーバーを追加(または「既存をインポート」)→ ツールごとの同期をトグルで切り替え
-- **プロンプト**: 「プロンプト」をクリック → Markdown エディタでプロンプトを作成 → 有効化すると、そのツールのプロンプトファイルに書き込み
-- **Skills**: 「Skills」をクリック → 「スキルを発見」 → skills.sh を検索、または GitHub リポジトリを閲覧 → 対応ツールへワンクリックでインストール
-- **プロジェクト**: Claude Code、Claude Desktop、Codex のページで、メインページ上部のプロジェクトスイッチャーを開く → 「新規プロジェクト」で現在の設定を保存。以降はスイッチャーから選ぶだけで設定一式を切り替え
-- **セッション**: 「セッション管理」をクリック → 各ツールの会話履歴を閲覧・検索・復元
+- **MCP**: サイドバーの「MCP」をクリック → テンプレートまたはカスタム設定でサーバーを追加(または「既存をインポート」)→ ツールごとの同期をトグルで切り替え
+- **プロンプト**: サイドバーの「プロンプト」をクリック → Markdown エディタでプロンプトを作成 → 有効化すると、そのツールのプロンプトファイルに書き込み
+- **Skills**: サイドバーの「Skills」をクリック → 「スキルを発見」 → skills.sh を検索、または GitHub リポジトリを閲覧 → 対応ツールへワンクリックでインストール
+- **プロジェクト**: まず「設定 → 一般」で「プロジェクト切り替えを表示」をオンにします。そのうえで Claude Code、Claude Desktop、Codex のページで、上部のプロジェクトスイッチャーを開く → 「新規プロジェクト」で現在の設定を保存。以降はスイッチャーから選ぶだけで設定一式を切り替え
+- **セッション**: サイドバーの「セッション」をクリック → 会話履歴を閲覧・検索し、閲覧ページを開いたり、各ツールのセッションを再開したり
+- **アカウント**: サイドバーの「アカウント」をクリックし、GitHub Copilot、ChatGPT、xAI(Grok)のアカウントにログインすると、サブスクリプションをプロバイダとして使えます
> **補足**: 初回起動時、CC Switch は Claude Code、Codex、Gemini CLI、Grok Build の既存設定を `default` という名前のプロバイダとして自動でインポートし、これらのツールと Claude Desktop に公式プロバイダを追加します。既存の設定が失われることはありません。
@@ -309,74 +323,84 @@ paru -S cc-switch-bin
## 特長
-[完全な更新履歴](CHANGELOG.md) | [リリースノート](docs/release-notes/v3.20.4-ja.md)
+[完全な更新履歴](CHANGELOG.md) | [v4.0 リリースノート](docs/release-notes/v4.0.4-ja.md)
### ツール別の対応機能
-| ツール | プロバイダ | ローカルルーティング | トレイ切り替え | MCP | Skills | プロンプト | セッション | 使用量統計 |
-| --- | --- | :---: | :---: | :---: | :---: | --- | :---: | :---: |
-| Claude Code | 切り替え | ✓ | ✓ | ✓ | ✓ | CLAUDE.md | ✓ | ✓ |
-| Claude Desktop | 切り替え | モデルマッピング時 | – | – | – | – | – | モデルマッピング時 |
-| Codex | 切り替え | ✓ | ✓ | ✓ | ✓ | AGENTS.md | ✓ | ✓ |
-| Gemini CLI | 切り替え | ✓ | ✓ | ✓ | ✓ | GEMINI.md | ✓ | ✓ |
-| Grok Build | 切り替え | ✓ | ✓ | ✓ | ✓ | AGENTS.md | ✓ | ✓ |
-| OpenCode | 共存 | – | – | ✓ | ✓ | AGENTS.md | ✓ | ✓ |
-| OpenClaw | 共存 | – | – | – | – | ワークスペースエディタ | ✓ | – |
-| Hermes | 共存 | – | – | ✓ | ✓ | メモリ | ✓ | – |
-| Pi | 共存 | – | – | – | ✓ | AGENTS.md、SYSTEM.md、プロンプトテンプレート | ✓ | ✓ |
-| MiniMax Code | 共存 | – | – | ✓ | ✓ | AGENTS.md | ✓ | ✓ |
+| ツール | プロバイダ | ローカルルーティング | 集約 | トレイ切り替え | MCP | Skills | プロンプト | セッション | 使用量統計 |
+| --- | --- | :---: | :---: | :---: | :---: | :---: | --- | :---: | :---: |
+| Claude Code | 切り替え | ✓ | ✓ | ✓ | ✓ | ✓ | CLAUDE.md | ✓ | ✓ |
+| Claude Desktop | 切り替え | モデルマッピング時 | – | ✓ | – | – | – | – | モデルマッピング時 |
+| Codex | 切り替え | ✓ | ✓ | ✓ | ✓ | ✓ | AGENTS.md | ✓ | ✓ |
+| Gemini CLI | 切り替え | ✓ | – | ✓ | ✓ | ✓ | GEMINI.md | ✓ | ✓ |
+| Grok Build | 切り替え | ✓ | – | ✓ | ✓ | ✓ | AGENTS.md | ✓ | ✓ |
+| OpenCode | 共存 | – | – | – | ✓ | ✓ | AGENTS.md | ✓ | ✓ |
+| OpenClaw | 共存 | – | – | – | – | – | ワークスペースエディタ | ✓ | – |
+| Hermes | 共存 | – | – | – | ✓ | ✓ | メモリ | ✓ | – |
+| Pi | 共存 | – | – | – | ✓ | ✓ | AGENTS.md、SYSTEM.md、プロンプトテンプレート | ✓ | ✓ |
+| MiniMax Code | 共存 | – | – | – | ✓ | ✓ | AGENTS.md | ✓ | ✓ |
- **切り替え**:同時に有効にできるプロバイダは 1 つだけです。**共存**:複数のプロバイダを同時にツール自身の設定に書き込み、ツール内で選んで使用します。
- **ローカルルーティング**:CC Switch がローカルでリクエストを転送し、API 形式を変換します。詳しくは下記の[ローカルルーティング & フェイルオーバー](#ローカルルーティング--フェイルオーバー)をご覧ください。Claude Desktop のプロバイダでは「直接接続」か「モデルマッピング」を選択でき、「モデルマッピング」を選ぶとローカルルーティング経由で転送されます。
-- **セッション**:会話履歴を閲覧・検索し、再開コマンドをコピーして会話を続けられます(OpenClaw と Hermes のセッションは現在、再開に対応していません)。Hermes のセッションは、セッション管理で「すべて」を選ぶと表示されます。
+- **集約**:複数のプロバイダのモデルを 1 つのモデル一覧にまとめ、選んだモデルに応じてリクエストを振り分けます。詳しくは下記の[集約モード](#集約モード)をご覧ください。
+- **セッション**:会話履歴を閲覧・検索し、閲覧ページを開いたり、再開コマンドをコピーして会話を続けたりできます(OpenClaw と Hermes のセッションは現在、再開に対応していません)。Hermes は直近 500 件のセッションのみ表示します。
- **使用量統計**:ローカルルーティングを使わない場合は、各ツールのローカルセッション記録から集計します。ローカルルーティングを経由したリクエストも集計に含まれます。
- Claude Desktop のページで開いた MCP、Skills、プロンプト、セッションの各パネルは、Claude Code に適用されます。
### プロバイダ管理
-- **90 以上のプロバイダプリセット** — プリセットを選んでキーを入力するだけで追加。カスタム設定の作成も可能
-- **主要フィールドだけを変更** — 切り替え時に置き換えるのはリクエスト先アドレス、キー、モデルなどの接続情報だけ。プラグイン、フック、MCP、自分で追加した設定やコメントはそのまま残ります
-- **プロジェクト** — Claude Code または Codex の現在のプロバイダ、MCP、Skills、プロンプトファイルを 1 つのプロジェクトとして保存(Claude Desktop はプロバイダのみ保存)。以降はメインページ上部のプロジェクトスイッチャーやトレイから設定一式をワンクリックで切り替え。別のプロジェクトに切り替えると、現在の状態は自動的に元のプロジェクトへ保存
-- **OAuth 認証センター(Beta)** — 「設定 → 認証」で GitHub Copilot、ChatGPT、xAI(Grok)の複数アカウントにログインし、サブスクリプションをプロバイダとして Claude Code、Claude Desktop、Codex で利用(Codex の OpenAI Official 以外はすべてローカルルーティングの有効化が必要)。公式クライアント以外でサブスクリプションを使用すると、ベンダーの利用規約に違反する可能性があります。リスクはご自身で判断してください
+- **90 以上のプロバイダプリセット** — プリセットを選んでキーを入力するだけで追加。カスタム設定の作成も可能。追加パネルでは中国語名やドメインでも検索でき、同じプロバイダのプランや地域の違いは 1 行にまとめて表示
+- **主要フィールドだけを変更** — 切り替え時に置き換えるのはリクエスト先アドレス、キー、モデルなどの接続情報だけ。プラグイン、フック、MCP、自分で追加した設定やコメントはそのまま残ります。エディタの下部には切り替え後の設定ファイルの内容が表示され、CC Switch が設定ファイルを初めて書き換える前には元のファイルを自動でバックアップします
+- **プロジェクト** — Claude Code または Codex の現在のプロバイダ、MCP、Skills、プロンプトファイルを 1 つのプロジェクトとして保存(Claude Desktop はプロバイダのみ保存)。以降はページ上部のプロジェクトスイッチャーやトレイから設定一式をワンクリックで切り替え。別のプロジェクトに切り替えると、現在の状態は自動的に元のプロジェクトへ保存。プロジェクトスイッチャーはデフォルトで非表示のため、「設定 → 一般」で「プロジェクト切り替えを表示」をオンにしてください
+- **アカウント(Beta)** — サイドバーの「アカウント」で GitHub Copilot、ChatGPT、xAI(Grok)の複数アカウントにログインし、サブスクリプションをプロバイダとして Claude Code、Claude Desktop、Codex で利用(Codex の OpenAI Official 以外はすべてルーティングモードでの利用が必要)。公式クライアント以外でサブスクリプションを使用すると、ベンダーの利用規約に違反する可能性があります。リスクはご自身で判断してください
- **Claude Desktop でサードパーティを利用** — Anthropic 互換エンドポイントに直接接続可能。Claude 以外のモデルは「モデルマッピング」を選び、ローカルルーティング経由で Sonnet、Opus、Haiku などのティアをプロバイダの実際のモデルにマッピング
- **ユニバーサルプロバイダ** — 1 つの設定を Claude Code、Codex、Gemini CLI に同期
-- ワンクリック切り替え、システムトレイからのクイック切り替え(Claude Code、Codex、Gemini CLI、Grok Build)、ドラッグ&ドロップ並び替え、インポート/エクスポート
+- ワンクリック切り替え、システムトレイからのクイック切り替え(Claude Code、Claude Desktop、Codex、Gemini CLI、Grok Build)、ドラッグ&ドロップ並び替え、インポート/エクスポート
### ローカルルーティング & フェイルオーバー
- **API 形式の変換** — ローカルルーティングが Anthropic Messages、OpenAI Chat Completions、OpenAI Responses、Gemini Native の間でリクエスト形式を変換。Claude Code と Claude Desktop は OpenAI 形式や Gemini 形式のプロバイダを、Codex と Grok Build は Chat Completions 形式や Anthropic Messages 形式のプロバイダを利用可能
-- **ツールごとに有効化** — Claude Code、Codex、Gemini CLI、Grok Build でそれぞれ個別にローカルルーティングを有効化可能。有効化すると、プロバイダの切り替えが以降のリクエストに即座に反映(切り替えでモデルが変わる場合、Codex、Gemini CLI、Grok Build は再起動が必要になることがあります)
+- **ツールごとに有効化** — Claude Code、Codex、Gemini CLI、Grok Build はそれぞれ個別にルーティングモードに入れます。ページ上部の「ルーティング」タブで「ルーティングを開始」をクリックします。ルーティングモードでは、プロバイダの切り替えが以降のリクエストに即座に反映(切り替えでモデルが変わる場合、Codex、Gemini CLI、Grok Build は再起動が必要になることがあります)。CC Switch を終了するときは先に直接接続の設定を書き戻し、次回起動時に再接続します
- **自動フェイルオーバー** — ツールごとにフェイルオーバーキューを設定し、リクエストが失敗するとキューの順に次のプロバイダへ自動で切り替え。サーキットブレーカーとプロバイダのヘルスモニタリングと連携
- **整流器** — 一部の上流と互換性のないリクエストを自動で修正(Thinking 署名、画像非対応時のフォールバックなど)
- 公式プロバイダ(Claude Official など)はローカルルーティングを経由できません(Codex の OpenAI Official を除く)
+- ルーティングサービスの状態、待ち受けアドレス、フェイルオーバーのパラメータは「設定 → ローカルルーティング」にまとまっています
- 使い方ガイド:[Claude Code で GPT を使う](docs/guides/claude-codex-routing-guide-ja.md) · [Codex で Claude を使う](docs/guides/codex-claude-routing-guide-ja.md)
+### 集約モード
+
+- **1 つのモデル一覧に複数のプロバイダ** — Claude Code または Codex のページで「集約」に切り替えてプロバイダをいくつか追加すると、それぞれのモデルがクライアントのモデル選択画面にまとめて表示されます。選んだモデルに応じてそのプロバイダへリクエストが送られるので、CC Switch に戻って切り替える必要はありません
+- **いつでも追加・削除** — プロバイダカードの「追加」または「削除」をクリックし、さらに 1 社を既定のプロバイダに選びます。集約モデルを指定していないリクエストはすべて既定のプロバイダに送られます。公式アカウントは既定のプロバイダにだけでき、集約には追加できません
+- **注意** — 集約ではフェイルオーバーを行いません。Claude Code は 2.1.243 以降が必要です。Codex は集約の一覧が変わると再起動が必要ですが、Claude Code は不要です。同じセッションの途中でモデルを変えると、新しいモデルでプロンプトキャッシュを作り直すため、最初のターンは費用がやや高くなります
+- 集約モードの設計の多くは [opencodex](https://github.com/lidge-jun/opencodex) を参考にしています。作者とコントリビューターに感謝します
+
### MCP、プロンプト & Skills
-- **統一 MCP パネル** — すべての MCP サーバーを 1 か所で管理し、ツールごとにチェックを入れて同期。各ツールの既存設定からのインポート、Deep Link インポートに対応
+- **統一 MCP パネル** — すべての MCP サーバーを 1 か所で管理し、ツールごとにチェックを入れて同期(Claude Code、Codex、Gemini CLI、Grok Build、OpenCode、Hermes、Pi、MiniMax Code)。各ツールの既存設定からのインポート、Deep Link インポートに対応
- **プロンプト** — ツールごとに管理するプロンプトライブラリ(Markdown エディタ付き)。有効化すると、そのツールのプロンプトファイル(CLAUDE.md / AGENTS.md / GEMINI.md)に書き込み。有効化の前にファイル内の既存の内容をプロンプトライブラリへ保存するため、内容が失われることはありません。Pi では SYSTEM.md、APPEND_SYSTEM.md、プロンプトテンプレートも編集可能
-- **Skills** — skills.sh を検索、または GitHub リポジトリや ZIP ファイルからワンクリックでインストール。更新の確認とワンクリックでの一括更新に対応。シンボリックリンクまたはファイルコピーで各ツールに同期し、保存場所として `~/.agents/skills` も選択可能
-- 3 つのパネルはいずれも検索に対応。MCP と Skills はツールごとにワンクリックで一括有効化・一括無効化も可能
+- **Skills** — skills.sh を検索、または GitHub リポジトリや ZIP ファイルからワンクリックでインストール。更新の確認とワンクリックでの一括更新に対応。各ツールへの同期方式は「自動」「シンボリックリンクのみ」「コピーのみ」から選べ、保存場所として `~/.agents/skills` も選択可能
+- 3 つのパネルはいずれも検索に対応。MCP と Skills はツールごとにワンクリックで一括有効化・一括無効化も可能。プロバイダ、MCP、プロンプトはコンテンツ領域の全画面で編集し、未保存の変更があるままページを離れようとすると確認が表示されます
### 使用量 & コストトラッキング
-- **使用量ダッシュボード** — ローカルルーティングを使わなくても集計可能。デフォルトで各ツールのローカルセッション記録を自動スキャンし、プロバイダとモデルごとにリクエスト数、トークン、キャッシュヒット率、費用を集計。トレンドチャートとリクエスト単位のログを提供
-- **クォータと残高** — プロバイダカードとトレイに、公式サブスクリプションのクォータ(Claude、ChatGPT、Gemini、SuperGrok)、Coding Plan の 5 時間 / 週 / 月のクォータ(Kimi、Zhipu GLM、MiniMax、Volcengine Ark など)、アカウント残高(DeepSeek、OpenRouter、SiliconFlow など)を直接表示。一部はプロバイダカードの「利用状況を設定」で事前に有効化が必要。その他のプロバイダではカスタム使用量スクリプトを作成可能
+- **使用量ダッシュボード** — ローカルルーティングを使わなくても集計可能。デフォルトで各ツールのローカルセッション記録を自動スキャンし、プロバイダとモデルごとにリクエスト数、トークン、キャッシュヒット率、出力速度、費用を集計。トレンドチャート、年間ヒートマップ、リクエスト単位のログを提供
+- **クォータと残高** — プロバイダカードとトレイに、残量とリセットまでのカウントダウンを直接表示(例:「5時間 残り 94%」)。対象は公式サブスクリプションのクォータ(Claude、ChatGPT、Gemini、SuperGrok)、Coding Plan の 5 時間 / 週 / 月のクォータ(Kimi、Zhipu GLM、MiniMax、Volcengine Ark など)、アカウント残高(DeepSeek、OpenRouter、SiliconFlow など)。一部はプロバイダカードの「利用状況を設定」で事前に有効化が必要。その他のプロバイダではカスタム使用量スクリプトを作成可能。ChatGPT サブスクリプションでは、残りのリセット回数と Codex Credits の残高も表示
- **カスタム価格設定** — モデルごとに単価を設定。models.dev からのインポートも可能
### セッション管理 & ワークスペース
-- **セッション管理** — 各ツールの会話履歴を閲覧・検索し、再開コマンドをコピーして会話を継続。macOS ではワンクリックでターミナルから再開可能
+- **セッション閲覧ページ** — 各ツールのセッション記録を構造化して表示。本文、思考、ツール呼び出し、ツール結果、画像を分けて表示し、各ターンの作業を 1 行の要約(ステップ数、変更したファイル数、失敗数)に折りたたみます。失敗したステップは赤で表示。右側には会話の目次があり、セッション内検索、Markdown へのエクスポート、1 ターンまたは会話全体のコピーに対応
+- **一覧と再開** — プロジェクトまたは時間でグループ化し、タイトル、ディレクトリ、メッセージ、セッション ID で検索。一括削除にも対応。再開コマンドをコピーして会話を継続でき、macOS ではワンクリックでターミナルから再開可能
- **ワークスペースエディタ**(OpenClaw)— エージェントファイル(AGENTS.md、SOUL.md など)とデイリーメモリーを編集
- **メモリ**(Hermes)— Hermes の MEMORY.md と USER.md を編集
### システム & プラットフォーム
- **クラウド同期** — WebDAV(坚果云、Nextcloud、Synology NAS など)または S3 互換ストレージ(AWS S3、Cloudflare R2、Alibaba Cloud OSS、Tencent Cloud COS など)で複数のデバイス間を同期。CC Switch の設定ディレクトリを Dropbox、OneDrive、iCloud などのクラウドストレージのフォルダに置くことも可能
-- **CLI ツール管理** — 「バージョン情報」ページで Claude Code、Codex などのコマンドラインツールの現在のバージョンと最新バージョンを確認し、ワンクリックでインストール、アップグレード、一括アップグレード。重複インストールの診断にも対応。Windows では WSL 内のツールも管理可能(よくある質問を参照)
+- **CLI ツール管理** — サイドバーの「アプリ」ページで Claude Code、Codex などのコマンドラインツールの現在のバージョンと最新バージョンを確認し、ワンクリックでインストール、アップグレード、一括アップグレード。重複インストールの診断にも対応。Windows では WSL 内のツールも管理可能(よくある質問を参照)
- **Deep Link**(`ccswitch://`)— リンクからプロバイダ、MCP サーバー、プロンプトをワンクリックでインポート、またはスキルリポジトリを追加
- **便利ツール** — Claude Code の初回確認のスキップ、AI 署名の非表示、VS Code の Claude Code 拡張を CC Switch のプロバイダ切り替えに追従させる機能など
-- ダーク / ライト / システムテーマ、自動起動、自動アップデーター、アトミック書き込み、自動バックアップ、多言語対応(簡体中文/繁體中文/英/日)
+- ダーク / ライト / システムテーマ、自動起動、自動アップデーター、アトミック書き込み、自動バックアップ(「設定 → データ」ですべてのバックアップの場所と使用容量を確認可能)、多言語対応(簡体中文/繁體中文/英/日)
## よくある質問
@@ -393,12 +417,26 @@ CC Switch は **Claude Code**、**Claude Desktop**、**Codex**、**Gemini CLI**
ツールによって異なります:
- **Claude Code**:プロバイダデータのホットスイッチに対応しており、再起動は不要です。
-- **Codex、Gemini CLI、Grok Build**:変更を反映するにはターミナルまたは CLI ツールを再起動してください(切り替え後に通知が表示されます)。ローカルルーティングを有効にしている場合、リクエストは即座に新しいプロバイダへ転送されますが、切り替えでモデルが変わる場合は、この 3 つのツールは再起動が必要になることがあります。
+- **Codex、Gemini CLI、Grok Build**:変更を反映するにはターミナルまたは CLI ツールを再起動してください(切り替え後に通知が表示されます)。ルーティングモードでは、リクエストは即座に新しいプロバイダへ転送されますが、切り替えでモデルが変わる場合は、この 3 つのツールは再起動が必要になることがあります。
+- **集約モード**:Claude Code の集約モデルの変更はすぐに反映されます。Codex は集約モードに入る・抜ける、または集約モデルの一覧を変更した後、完全に再起動する必要があります。次の質問をご覧ください。
- **Claude Desktop**:Claude Desktop を完全に終了してから再度開いてください。「モデルマッピング」を使用する場合は、CC Switch を起動したままにしておく必要もあります。
- **OpenCode、OpenClaw、Hermes、Pi、MiniMax Code**:これらは共存型のツールです。「追加」(Pi では「有効化」)をクリックするとプロバイダがツール自身の設定に書き込まれ、他のプロバイダと共存します。その後、ツール内で使用するモデルを選んでください。
+
+Codex の集約モードで、/model に集約したモデルが表示されないのはなぜですか?
+
+Codex はモデル一覧を起動時にしか読み込みません。集約モードに入る・抜ける、集約するプロバイダを追加・削除する、あるいはいずれかのプロバイダの集約モデルを変更した後は、Codex を完全に再起動しないと新しい一覧は表示されません:
+
+- **Codex CLI**:ターミナルを閉じて `codex` を開き直すだけでは不十分です。すべてのターミナルの `codex` は 1 つのバックグラウンドデーモンを共有しており、それを再起動しないと新しい一覧が読み込まれません。Codex がまだ古い一覧を使っていることを CC Switch が検出すると、Codex のページ上部にお知らせが表示されるので、その中の「Codex デーモンを再起動」をクリックしてください。再起動すると、デーモンで実行中のタスクは中断されます。
+- **Codex デスクトップ版**:完全に終了してから開き直してください(macOS では ⌘Q。ウィンドウを閉じるだけでは不十分です)。
+- **エディタ拡張**:エディタのウィンドウを開き直してください。
+
+Claude Code は影響を受けず、集約モデルの変更はすぐに反映されます。
+
+
+
プロバイダを切り替えると、プラグインやフックなどの設定も変わってしまいますか?
@@ -420,11 +458,11 @@ CC Switch は **Claude Code**、**Claude Desktop**、**Codex**、**Gemini CLI**
-現在アクティブなプロバイダを削除できないのはなぜですか?
+使用中のプロバイダを削除できないのはなぜですか?
CC Switch は「最小限の介入」という設計原則に従っています。アプリをアンインストールしても、各ツールは正常に動作し続けます。
-そのため、同時に 1 つのプロバイダのみ有効なツール(Claude Code、Claude Desktop、Codex、Gemini CLI、Grok Build)では、すべての設定を削除すると対応するツールが使用できなくなるため、システムは常にアクティブな設定を 1 つ保持します。OpenCode、OpenClaw、Hermes、Pi、MiniMax Code などの共存型ツールにはこの制限がなく、どのプロバイダでも直接削除できます。あまり使わないツールがある場合は、設定で非表示にできます。公式ログインに戻す方法は、次の質問をご覧ください。
+そのため、同時に 1 つのプロバイダのみ有効なツール(Claude Code、Claude Desktop、Codex、Gemini CLI、Grok Build)では、すべての設定を削除すると対応するツールが使用できなくなるため、システムは常に使用中の設定を 1 つ保持します。削除したい場合は、先に別のプロバイダに切り替えてください。集約モードの既定のプロバイダも同様に削除できないので、先に別のプロバイダを既定にしてください。OpenCode、OpenClaw、Hermes、Pi、MiniMax Code などの共存型ツールにはこの制限がなく、どのプロバイダでも直接削除できます。あまり使わないツールがある場合は、サイドバーの「アプリ」ページでサイドバーから非表示にできます。公式ログインに戻す方法は、次の質問をご覧ください。
@@ -435,34 +473,34 @@ Claude Code、Claude Desktop、Codex、Gemini CLI、Grok Build のプロバイ
Codex では、CC Switch 内の「ChatGPT でログイン」から複数の ChatGPT アカウントにログインし、**OpenAI Official** カードごとに「使用するアカウント」を選べるため、複数の Plus、Pro、Team アカウントをワンクリックで切り替えられます。「Codex のログインに追従」を選んだカードは、Codex CLI 自身のログインをそのまま使用します。
-注意:ローカルルーティングを有効にしている間は、公式プロバイダに切り替えられません(Codex の OpenAI Official カードを除く)。
+注意:公式サブスクリプションはツール自身のログインを使い、ローカルルーティングを経由しません。ルーティングモードでは公式プロバイダに切り替えられないので(Codex の OpenAI Official カードを除く)、先に直接接続に戻してください。
-ローカルルーティングを有効にすると、設定ファイルのアドレスが 127.0.0.1 に変わるのはなぜですか?
+ルーティングを開始すると、設定ファイルのアドレスが 127.0.0.1 に変わるのはなぜですか?
-ローカルルーティングを有効にすると、ツールのリクエストはまず CC Switch のローカルルーティング(デフォルトは `http://127.0.0.1:15721`)に送られ、そこから CC Switch が選択中のプロバイダへ転送します。そのため、ツールの設定ファイルにはローカルアドレスとプレースホルダーのキー `PROXY_MANAGED` だけが書き込まれます。Claude Code のモデル名も `claude-sonnet-5` のような固定のエイリアスになります(`/model` メニューには実際のモデル名が表示されます)。実際のプロバイダのアドレス、キー、モデルはすべて CC Switch に保存されています。
+ルーティングモードでは、ツールのリクエストはまず CC Switch のローカルルーティング(デフォルトは `http://127.0.0.1:15721`)に送られ、そこから CC Switch が選択中のプロバイダへ転送します。そのため、ツールの設定ファイルにはローカルアドレスとプレースホルダーのキー `PROXY_MANAGED` だけが書き込まれます。Claude Code のモデル名も `claude-sonnet-5` のような固定のエイリアスになります(`/model` メニューには実際のモデル名が表示されます)。実際のプロバイダのアドレス、キー、モデルはすべて CC Switch に保存されています。集約モードでも同様です。
-「設定 → 利用統計 → リクエストログ」では、各リクエストの「リクエストモデル → 実際のモデル」を確認できます。
+サイドバーの「使用量」のリクエストログでは、各リクエストの「リクエストモデル → 実際のモデル」を確認できます。
-ローカルルーティングを有効にしている間に切り替わるのは、ローカルルーティングが使うプロバイダです。有効にする前に使っていたプロバイダは変わらず、カードに「直接接続」と表示されます。ローカルルーティングを無効にすると、設定ファイルはこの直接接続のプロバイダの設定に書き戻されます。CC Switch を終了するときも先に直接接続のプロバイダを書き戻し、次回起動時にローカルルーティングへ接続し直します。
+ルーティングモードで切り替わるのは、ルーティングが使うプロバイダです。ルーティングに入る前に使っていたプロバイダは変わらず、カードに「直接接続」と表示されます。「直接接続に戻す」をクリックすると、設定ファイルはこの直接接続のプロバイダの設定に書き戻されます。CC Switch を終了するときも先に直接接続のプロバイダを書き戻し、次回起動時に接続し直します。
Claude Code で OpenAI 互換 API、Gemini、ローカルモデルを使えますか?
-使えますが、ローカルルーティングを有効にする必要があります。プロバイダを編集する際に、「高級オプション」の「上流フォーマット」でプロバイダに合った API 形式を選んでください。Chat Completions API のみを提供するサービス(多くのローカルモデルサービスがこれに当たります)は「OpenAI Chat Completions」、Responses API を提供するサービスは「OpenAI Responses API」、Gemini は「Gemini Native generateContent」を選びます。その後、[クイックスタート](#クイックスタート)の手順 5 に従って Claude Code のローカルルーティングを有効にしてください。形式の選択を誤ったり、ローカルルーティングを有効にしていなかったりすると、通常は 404 または 405 エラーになります。
+使えますが、ルーティングを使う必要があります。プロバイダを編集する際に、「高級オプション」の「上流フォーマット」でプロバイダに合った API 形式を選んでください。Chat Completions API のみを提供するサービス(多くのローカルモデルサービスがこれに当たります)は「OpenAI Chat Completions」、Responses API を提供するサービスは「OpenAI Responses API」、Gemini は「Gemini Native generateContent」を選びます。その後、Claude Code のページの「ルーティング」タブで「ルーティングを開始」をクリックしてください。形式の選択を誤ったり、ルーティングを開始していなかったりすると、通常は 404 または 405 エラーになります。
-逆に、Codex や Grok Build の「上流フォーマット」で「Anthropic Messages」を選ぶと、Claude 形式のプロバイダを使えます。この場合もローカルルーティングの有効化が必要です。詳しくは [Claude Code で GPT を使う](docs/guides/claude-codex-routing-guide-ja.md) と [Codex で Claude を使う](docs/guides/codex-claude-routing-guide-ja.md) をご覧ください。
+逆に、Codex や Grok Build の「上流フォーマット」で「Anthropic Messages」を選ぶと、Claude 形式のプロバイダを使えます。この場合もルーティングが必要です。詳しくは [Claude Code で GPT を使う](docs/guides/claude-codex-routing-guide-ja.md) と [Codex で Claude を使う](docs/guides/codex-claude-routing-guide-ja.md) をご覧ください。
「接続チェック」は成功したのに、リクエストが失敗するのはなぜですか?
-プロバイダカードの「接続チェック」は、プロバイダのアドレスに接続できるかどうかだけを確認し、実際のモデルリクエストは送信しません。そのため、API キーやモデル名が正しいかどうかは検証できません。リクエストが失敗する場合は、キー、モデル名、上流フォーマットを確認してください。ローカルルーティングを有効にしている場合は、「設定 → 利用統計 → リクエストログ」で具体的なエラー内容も確認できます。
+プロバイダカードの「接続チェック」は、プロバイダのアドレスに接続できるかどうかだけを確認し、実際のモデルリクエストは送信しません。そのため、API キーやモデル名が正しいかどうかは検証できません。リクエストが失敗する場合は、キー、モデル名、上流フォーマットを確認してください。ルーティングを経由したリクエストは、サイドバーの「使用量」のリクエストログで具体的なエラー内容も確認できます。
@@ -473,24 +511,24 @@ Codex では、CC Switch 内の「ChatGPT でログイン」から複数の Chat
- **データベース**: `cc-switch.db`(SQLite — プロバイダ、MCP、プロンプト、Skills、プロジェクト、使用量記録など)
- **ローカル設定**: `settings.json`(デバイスレベルの設定。各ツールの設定ディレクトリ、バックアップポリシー、クラウド同期の接続情報など)
-- **バックアップ**: `backups/`(デフォルトでは 24 時間ごとに自動バックアップし、最新 10 件を保持。「設定 → 詳細 → バックアップと復元」で変更可能)
+- **バックアップ**: `backups/`(デフォルトでは 24 時間ごとに自動バックアップし、最新 10 件を保持。「設定 → データ → バックアップと復元」で変更可能。その下の「その他のバックアップ」には、それ以外のバックアップの場所とサイズが一覧表示され、種類ごとに削除できます)
- **Skills**: `skills/`(設定で `~/.agents/skills` に変更可能)。デフォルトではシンボリックリンクで各ツールに同期し、失敗した場合はコピーに切り替え
- **Skill バックアップ**: `skill-backups/`(スキルのアンインストールまたは更新の前に自動作成、最新 20 件を保持)
- **OAuth ログイン認証情報**: `copilot_auth.json`、`codex_oauth_auth.json`、`xai_oauth_auth.json`
- **ログ**: `logs/cc-switch.log` と `crash.log`(問題を報告する際は添付してください)
-- **この端末の状態**: `live-state.json`(各ツールが直接接続かローカルルーティング経由か、前回何を書き込んだか)、`codex-login-stash.json`(サードパーティのプロバイダに切り替えたときに退避した Codex の公式ログイン。公式プロバイダに戻すと復元されます)
+- **この端末の状態**: `live-state.json`(各ツールが現在、直接接続・ルーティング・集約のどれか、前回何を書き込んだか)、`codex-login-stash.json`(サードパーティのプロバイダに切り替えたときに退避した Codex の公式ログイン。公式プロバイダに戻すと復元されます)
- **設定ファイルの原本**: `backups/live-first-write/`(CC Switch が各ツールの設定ファイルを初めて書き換える前の元のファイル)
-「設定 → 詳細 → 設定ディレクトリ」で「CC Switch 設定ディレクトリ」を変更すると、`settings.json`、この端末の状態、設定ファイルの原本以外の上記ファイルはすべて新しいディレクトリに保存されるようになります。CC Switch は既存のファイルを自動では移動しないため、先に手動でコピーしておいてください。`settings.json`、この端末の状態、設定ファイルの原本はこのコンピュータ専用のもので、常にデフォルトのディレクトリに置かれ、クラウド同期の対象にもなりません。
+「設定 → データ → 保存場所」で「CC Switch 設定ディレクトリ」を変更すると、`settings.json`、この端末の状態、設定ファイルの原本以外の上記ファイルはすべて新しいディレクトリに保存されるようになります。CC Switch は既存のファイルを自動では移動しないため、先に手動でコピーしておいてください。`settings.json`、この端末の状態、設定ファイルの原本はこのコンピュータ専用のもので、常にデフォルトのディレクトリに置かれ、クラウド同期の対象にもなりません。
Windows で WSL 内のツールを管理するには?
-CC Switch は WSL を自動では認識しません。「設定 → 詳細 → 設定ディレクトリ → 設定ディレクトリの上書き(詳細)」で、対象ツールのディレクトリを WSL 内のパス(例:`\\wsl.localhost\Ubuntu\home\<ユーザー名>\.claude`)に変更して保存すると、CC Switch は WSL 内の設定を読み書きするようになります(Claude Code、Codex、Gemini CLI、Grok Build、OpenCode、OpenClaw、Hermes、Pi で設定可能)。設定後は、「バージョン情報」ページでも対応する WSL ディストリビューション内でそのツールを検出・アップグレードします。
+CC Switch は WSL を自動では認識しません。「設定 → アプリ設定」で、対象ツールの設定ディレクトリを WSL 内のパス(例:`\\wsl.localhost\Ubuntu\home\<ユーザー名>\.claude`)に変更して保存すると、CC Switch は WSL 内の設定を読み書きするようになります(Claude Code、Codex、Gemini CLI、Grok Build、OpenCode、OpenClaw、Hermes、Pi で設定可能)。設定後は、サイドバーの「アプリ」ページでも対応する WSL ディストリビューション内でそのツールを検出・アップグレードします。
-注意:ローカルルーティングが設定に書き込むアドレスは `127.0.0.1` です。WSL2 のデフォルトである NAT ネットワークモードでは、WSL 内の `127.0.0.1` から Windows 上のローカルルーティングに接続できないため、WSL の mirrored ネットワークモードに切り替える必要があります。
+注意:ルーティングと集約が設定に書き込むアドレスは `127.0.0.1` です。WSL2 のデフォルトである NAT ネットワークモードでは、WSL 内の `127.0.0.1` から Windows 上のローカルルーティングに接続できないため、WSL の mirrored ネットワークモードに切り替える必要があります。
diff --git a/README_ZH.md b/README_ZH.md
index b90d7a394..382241b1c 100644
--- a/README_ZH.md
+++ b/README_ZH.md
@@ -219,20 +219,32 @@ TeamoRouter 还提供企业级功能,包括集中账单、团队管理、BYOK
Claude Code、Codex、Gemini CLI 等 AI 编程工具各有各的配置格式。换一个 API 供应商,就得手动改 JSON、TOML、YAML 或 `.env` 文件;MCP、Skills 和提示词也要在每个工具里分别维护。
-**CC Switch** 把这些工作集中到一个桌面应用里:选一个预设、填入 Key,一键即可切换,原有配置不会丢失。
+**CC Switch** 把这些工作集中到一个桌面应用里:选一个预设、填入 Key,一键即可切换。切换时只替换地址、Key、模型这几项连接信息,你自己加的插件、Hook、MCP 和注释都原样保留。
- **一个应用,十个工具** — Claude Code、Claude Desktop、Codex、Gemini CLI、Grok Build、OpenCode、OpenClaw、Hermes、Pi、MiniMax Code
- **告别手动编辑** — 90+ 供应商预设,包括 AWS Bedrock、NVIDIA NIM 和社区中转服务
-- **在 Claude Code 里用 GPT,在 Codex 里用 Claude** — 内置本地路由,自动转换 Anthropic、OpenAI、Gemini 的接口格式,并支持自动故障转移
+- **直连、路由、聚合,按需选择** — 直连是工具直接连供应商;路由经本机转发,能转换接口格式、自动故障转移,让 Claude Code 用 GPT、Codex 用 Claude;聚合把多家供应商的模型放进 Claude Code 或 Codex 的同一个模型列表,选哪个模型,请求就发给哪一家
- **MCP、Skills 与提示词集中管理** — MCP 和 Skills 添加一次,按工具勾选同步;提示词按工具分别维护
-- **用量与额度一目了然** — 不开本地路由也能统计 Token 用量和花费,供应商卡片和托盘上直接显示订阅额度与余额
+- **会话读得懂** — 把各工具的会话记录整理成阅读页:每一轮做了什么、改了哪些文件、哪一步失败了,一目了然
+- **用量与额度一目了然** — 不开本地路由也能统计 Token 用量和花费;供应商卡片和托盘上直接显示订阅额度剩余量与账户余额
- **跨平台** — 基于 Tauri 2 构建的原生桌面应用,支持 Windows、macOS 和 Linux
## 界面预览
-| 主界面 | 添加供应商 |
-| :---------------------------------------: | :------------------------------------------: |
-|  |  |
+
+
+ 主界面 |
+ 应用页 |
+
+
+ 聚合模式 |
+ Codex 里的聚合模型列表 |
+
+
+ 会话阅读页 |
+ 用量统计 |
+
+
## 下载安装
@@ -288,21 +300,23 @@ paru -S cc-switch-bin
### 基本使用
-1. **添加供应商**:点击工具栏的“添加新供应商”(+ 按钮)→ 选择预设或创建自定义配置
+1. **添加供应商**:在侧栏选中要管理的工具,点击页面右上角的“+”(添加供应商)→ 选择预设或创建自定义配置
2. **切换供应商**:
- - 主界面:选择供应商 → 点击“启用”(OpenCode、OpenClaw、Hermes、MiniMax Code 的按钮为“添加”;这四个工具和 Pi 是共存式工具,可以同时添加多个供应商)
- - 系统托盘:直接点击供应商名称(支持 Claude Code、Codex、Gemini CLI、Grok Build)
+ - 主界面:选择供应商 → 点击“启用”(OpenCode、OpenClaw、Hermes、MiniMax Code 的按钮为“添加”,Pi 为“启用 / 移除”;这五个是共存式工具,可以同时添加多个供应商)
+ - 系统托盘:每个工具一行,显示“名称 · 模式 · 供应商 · 额度”,在子菜单里直接点击供应商名称(支持 Claude Code、Claude Desktop、Codex、Gemini CLI、Grok Build)
3. **生效方式**:Claude Code 无需重启;Codex、Gemini CLI、Grok Build 需重启终端或对应的 CLI 工具;Claude Desktop 需重启应用本身(详见常见问题)
4. **恢复官方登录**:切换到列表中自带的官方供应商(如“Claude Official”),重启工具后按照其登录/OAuth 流程操作
-5. **本地路由(可选)**:想在 Claude Code 里使用 OpenAI 或 Gemini 格式的供应商,或在 Codex 里使用 Claude,需要开启本地路由。做法是在「设置 → 路由 → 本地路由」里打开“路由总开关”,再在“路由启用”里打开对应的工具。想在主页顶部直接开关,可以打开“在主页面显示本地路由开关”
+5. **路由与聚合(可选)**:Claude Code、Codex、Gemini CLI、Grok Build 的页面顶部有「直连 / 路由」标签,Claude Code 和 Codex 还有「聚合」。点标签只是切换查看的内容,不会改动配置;真正切换要点页面上的“开始路由”或“切换到聚合模式”,回到直连点“回到直连”。想在 Claude Code 里使用 OpenAI 或 Gemini 格式的供应商,或在 Codex 里使用 Claude,用路由;想在同一个模型列表里混用多家供应商的模型,用聚合
+6. **管理工具**:侧栏的「应用」页集中显示每个 AI 编程工具的版本、安装位置和来源,可以安装、升级或全部升级,也可以选择哪些工具显示在侧栏
### MCP、提示词、Skills、项目与会话
-- **MCP**:点击“MCP 管理”按钮 → 通过模板或自定义配置添加服务器(或“导入已有”)→ 切换各工具的同步开关
-- **提示词**:点击“提示词” → 使用 Markdown 编辑器创建提示词 → 启用后写入该工具的提示词文件
-- **Skills**:点击“Skills” →“发现技能” → 搜索 skills.sh 或浏览 GitHub 仓库 → 一键安装到支持的工具
-- **项目**:在 Claude Code、Claude Desktop 或 Codex 页面,打开主页顶部的项目切换器 →“新建项目”,把当前配置保存下来,之后从切换器里选择即可整套切换
-- **会话**:点击“会话管理” → 浏览、搜索和恢复各工具的会话历史
+- **MCP**:点击侧栏的“MCP” → 通过模板或自定义配置添加服务器(或“导入已有”)→ 切换各工具的同步开关
+- **提示词**:点击侧栏的“提示词” → 使用 Markdown 编辑器创建提示词 → 启用后写入该工具的提示词文件
+- **Skills**:点击侧栏的“Skills” →“发现技能” → 搜索 skills.sh 或浏览 GitHub 仓库 → 一键安装到支持的工具
+- **项目**:先在「设置 → 通用」里打开“显示项目切换”,然后在 Claude Code、Claude Desktop 或 Codex 页面,打开顶部的项目切换器 →“新建项目”,把当前配置保存下来,之后从切换器里选择即可整套切换
+- **会话**:点击侧栏的“会话” → 浏览、搜索会话历史,打开阅读页,或恢复各工具的会话
+- **授权中心**:点击侧栏的“授权中心”,登录 GitHub Copilot、ChatGPT、xAI(Grok)账号,把订阅当作供应商使用
> **注意**:首次启动时,CC Switch 会自动把 Claude Code、Codex、Gemini CLI、Grok Build 的现有配置导入为名为 `default` 的供应商,并为这几个工具和 Claude Desktop 添加官方供应商,原有配置不会丢失。
@@ -310,74 +324,84 @@ paru -S cc-switch-bin
## 功能特性
-[完整更新日志](CHANGELOG.md) | [发布说明](docs/release-notes/v3.20.4-zh.md)
+[完整更新日志](CHANGELOG.md) | [v4.0 发布说明](docs/release-notes/v4.0.4-zh.md)
### 各工具支持的功能
-| 工具 | 供应商 | 本地路由 | 托盘切换 | MCP | Skills | 提示词 | 会话 | 用量统计 |
-| --- | --- | :---: | :---: | :---: | :---: | --- | :---: | :---: |
-| Claude Code | 切换 | ✓ | ✓ | ✓ | ✓ | CLAUDE.md | ✓ | ✓ |
-| Claude Desktop | 切换 | 模型映射时 | – | – | – | – | – | 模型映射时 |
-| Codex | 切换 | ✓ | ✓ | ✓ | ✓ | AGENTS.md | ✓ | ✓ |
-| Gemini CLI | 切换 | ✓ | ✓ | ✓ | ✓ | GEMINI.md | ✓ | ✓ |
-| Grok Build | 切换 | ✓ | ✓ | ✓ | ✓ | AGENTS.md | ✓ | ✓ |
-| OpenCode | 共存 | – | – | ✓ | ✓ | AGENTS.md | ✓ | ✓ |
-| OpenClaw | 共存 | – | – | – | – | 工作区编辑器 | ✓ | – |
-| Hermes | 共存 | – | – | ✓ | ✓ | 记忆管理 | ✓ | – |
-| Pi | 共存 | – | – | – | ✓ | AGENTS.md、SYSTEM.md、提示词模板 | ✓ | ✓ |
-| MiniMax Code | 共存 | – | – | ✓ | ✓ | AGENTS.md | ✓ | ✓ |
+| 工具 | 供应商 | 本地路由 | 聚合 | 托盘切换 | MCP | Skills | 提示词 | 会话 | 用量统计 |
+| --- | --- | :---: | :---: | :---: | :---: | :---: | --- | :---: | :---: |
+| Claude Code | 切换 | ✓ | ✓ | ✓ | ✓ | ✓ | CLAUDE.md | ✓ | ✓ |
+| Claude Desktop | 切换 | 模型映射时 | – | ✓ | – | – | – | – | 模型映射时 |
+| Codex | 切换 | ✓ | ✓ | ✓ | ✓ | ✓ | AGENTS.md | ✓ | ✓ |
+| Gemini CLI | 切换 | ✓ | – | ✓ | ✓ | ✓ | GEMINI.md | ✓ | ✓ |
+| Grok Build | 切换 | ✓ | – | ✓ | ✓ | ✓ | AGENTS.md | ✓ | ✓ |
+| OpenCode | 共存 | – | – | – | ✓ | ✓ | AGENTS.md | ✓ | ✓ |
+| OpenClaw | 共存 | – | – | – | – | – | 工作区编辑器 | ✓ | – |
+| Hermes | 共存 | – | – | – | ✓ | ✓ | 记忆管理 | ✓ | – |
+| Pi | 共存 | – | – | – | ✓ | ✓ | AGENTS.md、SYSTEM.md、提示词模板 | ✓ | ✓ |
+| MiniMax Code | 共存 | – | – | – | ✓ | ✓ | AGENTS.md | ✓ | ✓ |
- **切换**:同一时间只启用一个供应商;**共存**:多个供应商同时写入工具自身的配置,在工具里选择使用。
- **本地路由**:由 CC Switch 在本机转发请求并转换接口格式,见下方[本地路由与故障转移](#本地路由与故障转移)。Claude Desktop 的供应商可选“直连”或“模型映射”,选“模型映射”时经本地路由转发。
-- **会话**:浏览、搜索会话历史,复制恢复命令继续对话(OpenClaw、Hermes 的会话暂不支持恢复)。Hermes 的会话需要在会话管理里选择“全部”查看。
+- **聚合**:把多家供应商的模型放进同一个模型列表,按所选模型分发请求,见下方[聚合模式](#聚合模式)。
+- **会话**:浏览、搜索会话历史,打开阅读页,复制恢复命令继续对话(OpenClaw、Hermes 的会话暂不支持恢复)。Hermes 只显示最近 500 个会话。
- **用量统计**:不开本地路由时,从各工具的本地会话记录统计;经本地路由的请求也会计入。
- 在 Claude Desktop 页面打开的 MCP、Skills、提示词和会话面板,作用于 Claude Code。
### 供应商管理
-- **90+ 供应商预设** — 选择预设、填入 Key 即可添加,也可以创建自定义配置
-- **只改关键字段** — 切换时只替换请求地址、Key、模型等连接信息,插件、Hook、MCP、你自己加的设置和注释都原样保留
-- **项目** — 把 Claude Code 或 Codex 当前的供应商、MCP、Skills 和提示词文件保存为一个项目(Claude Desktop 只保存供应商),之后在主页顶部的项目切换器或托盘里一键整套切换;切到其他项目时,当前状态会自动存回原项目
-- **OAuth 认证中心(Beta)** — 在「设置 → 认证」里登录多个 GitHub Copilot、ChatGPT、xAI(Grok)账号,把订阅当作供应商用在 Claude Code、Claude Desktop 和 Codex 中(除 Codex 的 OpenAI Official 外,都需要开启本地路由)。在官方客户端以外使用订阅可能违反厂商的服务条款,请自行评估风险
+- **90+ 供应商预设** — 选择预设、填入 Key 即可添加,也可以创建自定义配置。添加面板支持按中文名和域名搜索,同一家的不同套餐和地区合并成一行
+- **只改关键字段** — 切换时只替换请求地址、Key、模型等连接信息,插件、Hook、MCP、你自己加的设置和注释都原样保留;编辑器底部显示切换后配置文件的样子,CC Switch 第一次改写配置文件前会自动备份原文件
+- **项目** — 把 Claude Code 或 Codex 当前的供应商、MCP、Skills 和提示词文件保存为一个项目(Claude Desktop 只保存供应商),之后在页面顶部的项目切换器或托盘里一键整套切换;切到其他项目时,当前状态会自动存回原项目。项目切换器默认隐藏,在「设置 → 通用」里打开“显示项目切换”
+- **授权中心(Beta)** — 在侧栏的「授权中心」里登录多个 GitHub Copilot、ChatGPT、xAI(Grok)账号,把订阅当作供应商用在 Claude Code、Claude Desktop 和 Codex 中(除 Codex 的 OpenAI Official 外,都需要在路由模式下使用)。在官方客户端以外使用订阅可能违反厂商的服务条款,请自行评估风险
- **Claude Desktop 接入第三方** — 可以直连 Anthropic 兼容端点;非 Claude 模型选“模型映射”,经本地路由把 Sonnet、Opus、Haiku 等档位映射到供应商的实际模型
- **通用供应商** — 一份配置同步到 Claude Code、Codex 和 Gemini CLI
-- 一键切换、系统托盘快速切换(Claude Code、Codex、Gemini CLI、Grok Build)、拖拽排序、导入导出
+- 一键切换、系统托盘快速切换(Claude Code、Claude Desktop、Codex、Gemini CLI、Grok Build)、拖拽排序、导入导出
### 本地路由与故障转移
- **接口格式转换** — 本地路由在 Anthropic Messages、OpenAI Chat Completions、OpenAI Responses 和 Gemini Native 之间转换请求格式:Claude Code 和 Claude Desktop 可以使用 OpenAI 或 Gemini 格式的供应商,Codex 和 Grok Build 可以使用 Chat Completions 或 Anthropic Messages 格式的供应商
-- **按工具开启** — Claude Code、Codex、Gemini CLI、Grok Build 可以分别开启本地路由;开启后,切换供应商会立即作用于后续请求(如果切换改变了模型,Codex、Gemini CLI 和 Grok Build 仍可能需要重启)
+- **按工具开启** — Claude Code、Codex、Gemini CLI、Grok Build 可以分别进入路由模式:在页面顶部的「路由」标签里点“开始路由”。路由模式下,切换供应商会立即作用于后续请求(如果切换改变了模型,Codex、Gemini CLI 和 Grok Build 仍可能需要重启)。退出 CC Switch 时会先写回直连配置,下次启动再接上
- **自动故障转移** — 为每个工具配置故障转移队列,请求失败时按队列顺序自动改用下一个供应商,配合熔断器和供应商健康监控
- **整流器** — 自动修正部分上游不兼容的请求(如 Thinking 签名、不支持图片时降级)
- 官方供应商(如 Claude Official)不能走本地路由(Codex 的 OpenAI Official 除外)
+- 路由服务的状态、监听地址和故障转移参数集中在「设置 → 本地路由」
- 使用攻略:[在 Claude Code 中使用 GPT](docs/guides/claude-codex-routing-guide-zh.md) · [在 Codex 中使用 Claude](docs/guides/codex-claude-routing-guide-zh.md)
+### 聚合模式
+
+- **一个模型列表,多家供应商** — 在 Claude Code 或 Codex 的页面切到「聚合」,添加几家供应商,它们的模型会同时出现在客户端的模型选择器里;选哪个模型,请求就发给哪一家,不用回到 CC Switch 切换
+- **随时添加和移除** — 在供应商卡片上点“添加”或“移除”,再选一家作为默认供应商,没有指定聚合模型的请求都交给它;官方账号只能作为默认供应商,不能加入聚合
+- **注意** — 聚合不提供故障转移;Claude Code 需要 2.1.243 或更新版本;Codex 的聚合列表变化后需要重启,Claude Code 不需要。同一会话里换模型后,新模型要重新建立提示词缓存,第一轮费用会高一些
+- 聚合模式的许多设计参考了 [opencodex](https://github.com/lidge-jun/opencodex),感谢作者和贡献者
+
### MCP、提示词与 Skills
-- **统一 MCP 面板** — 一处管理所有 MCP 服务器,按工具勾选同步,支持从各工具导入现有配置,支持 Deep Link 导入
+- **统一 MCP 面板** — 一处管理所有 MCP 服务器,按工具勾选同步(Claude Code、Codex、Gemini CLI、Grok Build、OpenCode、Hermes、Pi、MiniMax Code),支持从各工具导入现有配置,支持 Deep Link 导入
- **提示词** — 按工具分别管理的提示词库,使用 Markdown 编辑器;启用后写入该工具的提示词文件(CLAUDE.md / AGENTS.md / GEMINI.md),启用前会先把文件里原有的内容存回提示词库,不会丢失。Pi 还可以编辑 SYSTEM.md、APPEND_SYSTEM.md 和提示词模板
-- **Skills** — 搜索 skills.sh,或从 GitHub 仓库、ZIP 文件一键安装;检查更新并一键全部更新;通过软链接或文件复制同步到各工具,存储位置可选 `~/.agents/skills`
-- 三个面板都支持搜索,MCP 和 Skills 还可以按工具一键全部启用或停用
+- **Skills** — 搜索 skills.sh,或从 GitHub 仓库、ZIP 文件一键安装;检查更新并一键全部更新;同步到各工具的方式可选自动、只用软链接或只用复制,存储位置可选 `~/.agents/skills`
+- 三个面板都支持搜索,MCP 和 Skills 还可以按工具一键全部启用或停用;供应商、MCP 和提示词都在内容区整页编辑,有未保存的修改时离开会先提醒
### 用量与成本追踪
-- **用量仪表盘** — 不开本地路由也能统计:默认自动扫描各工具的本地会话记录,按供应商和模型统计请求数、Token、缓存命中率和花费,提供趋势图和逐条请求日志
-- **额度与余额** — 供应商卡片和托盘上直接显示官方订阅额度(Claude、ChatGPT、Gemini、SuperGrok)、Coding Plan 的 5 小时 / 周 / 月额度(Kimi、智谱 GLM、MiniMax、火山方舟等)和账户余额(DeepSeek、OpenRouter、硅基流动等),部分需要先在供应商卡片的“配置用量查询”里开启;其他供应商可以写自定义用量脚本
+- **用量仪表盘** — 不开本地路由也能统计:默认自动扫描各工具的本地会话记录,按供应商和模型统计请求数、Token、缓存命中率、输出速度和花费,提供趋势图、全年热力图和逐条请求日志
+- **额度与余额** — 供应商卡片和托盘上直接显示剩余量和重置倒计时,比如“5 小时剩余 94%”:官方订阅额度(Claude、ChatGPT、Gemini、SuperGrok)、Coding Plan 的 5 小时 / 周 / 月额度(Kimi、智谱 GLM、MiniMax、火山方舟等)和账户余额(DeepSeek、OpenRouter、硅基流动等),部分需要先在供应商卡片的“配置用量查询”里开启;其他供应商可以写自定义用量脚本。ChatGPT 订阅还会显示剩余重置次数和 Codex Credits 余额
- **自定义定价** — 按模型设置单价,可以从 models.dev 导入
### 会话管理器与工作区
-- **会话管理器** — 浏览、搜索各工具的会话历史,复制恢复命令继续对话;macOS 上可以一键在终端中恢复
+- **会话阅读页** — 把各工具的会话记录解析成结构化内容:正文、思考、工具调用、工具结果和图片分开呈现;每一轮工作折叠成一行摘要(多少步、改了几个文件、几处失败),失败步骤标红;右侧是对话目录,支持会话内查找、导出 Markdown、复制单轮或整段对话
+- **列表与恢复** — 按项目或时间分组,搜索标题、目录、消息或会话 ID,支持批量删除;复制恢复命令继续对话,macOS 上可以一键在终端中恢复
- **工作区编辑器**(OpenClaw)— 编辑 Agent 文件(AGENTS.md、SOUL.md 等)和每日记忆
- **记忆管理**(Hermes)— 编辑 Hermes 的 MEMORY.md 和 USER.md
### 系统与平台
- **云同步** — 通过 WebDAV(坚果云、Nextcloud、群晖 NAS 等)或 S3 兼容存储(AWS S3、Cloudflare R2、阿里云 OSS、腾讯云 COS 等)在多台设备之间同步;也可以把 CC Switch 配置目录放到 Dropbox、OneDrive、iCloud 等网盘文件夹中
-- **CLI 工具管理** — 在「关于」页查看 Claude Code、Codex 等命令行工具的当前版本和最新版本,一键安装、升级或全部升级,并诊断重复安装;Windows 上还能管理 WSL 里的工具(见常见问题)
+- **CLI 工具管理** — 在侧栏的「应用」页查看 Claude Code、Codex 等命令行工具的当前版本和最新版本,一键安装、升级或全部升级,并诊断重复安装;Windows 上还能管理 WSL 里的工具(见常见问题)
- **Deep Link**(`ccswitch://`)— 通过链接一键导入供应商、MCP 服务器和提示词,或添加技能仓库
- **小工具** — 跳过 Claude Code 初次安装确认、隐藏 AI 署名、让 VS Code 的 Claude Code 插件随本软件切换供应商等
-- 深色 / 浅色 / 跟随系统主题、开机自启、自动更新、原子写入、自动备份、国际化(简中/繁中/英/日)
+- 深色 / 浅色 / 跟随系统主题、开机自启、自动更新、原子写入、自动备份(「设置 → 数据」里可以看到所有备份的位置和占用空间)、国际化(简中/繁中/英/日)
## 常见问题
@@ -394,12 +418,26 @@ CC Switch 支持十个工具:**Claude Code**、**Claude Desktop**、**Codex**
视工具而定:
- **Claude Code**:支持供应商数据的热切换,无需重启。
-- **Codex、Gemini CLI、Grok Build**:需要重启终端或 CLI 工具才能生效(切换成功后会有提示)。开启本地路由后,请求会立即转发到新供应商;但如果切换改变了模型,这三个工具仍可能需要重启。
+- **Codex、Gemini CLI、Grok Build**:需要重启终端或 CLI 工具才能生效(切换成功后会有提示)。路由模式下,请求会立即转发到新供应商;但如果切换改变了模型,这三个工具仍可能需要重启。
+- **聚合模式**:Claude Code 的聚合模型改动立即生效;Codex 进入或退出聚合、改动聚合模型列表后都要彻底重启,见下一条。
- **Claude Desktop**:需要完全退出并重新打开 Claude Desktop;使用“模型映射”时,还需要保持 CC Switch 运行。
- **OpenCode、OpenClaw、Hermes、Pi、MiniMax Code**:这些是共存式工具,点击“添加”(Pi 为“启用”)会把供应商写入工具自身的配置、与其他供应商共存,之后在工具里选择要使用的模型即可。
+
+Codex 聚合模式下,/model 里看不到聚合的模型?
+
+Codex 只在启动时读取模型列表。进入或退出聚合模式、添加或移除聚合的供应商、改动某家的聚合模型之后,都要彻底重启 Codex 才能看到新的列表:
+
+- **Codex CLI**:只关掉终端重开 `codex` 不够。所有终端里的 `codex` 共用一个后台守护进程,要重启它才会读到新列表。CC Switch 检测到 Codex 还在用旧列表时,会在 Codex 页面顶部提示,点提示里的“重启 Codex 守护进程”即可。重启会中断守护进程里正在运行的任务。
+- **Codex 桌面版**:要彻底退出后重新打开(macOS 上按 ⌘Q,只关窗口不行)。
+- **编辑器插件**:重开编辑器窗口。
+
+Claude Code 不受影响,聚合模型改动立即生效。
+
+
+
切换供应商会改掉我的插件、Hook 等设置吗?
@@ -421,11 +459,11 @@ CC Switch 支持十个工具:**Claude Code**、**Claude Desktop**、**Codex**
-为什么总有一个正在激活中的供应商无法删除?
+为什么总有一个正在使用的供应商无法删除?
本软件的设计原则是“最小侵入性”,即使卸载本软件,也不会影响应用的正常使用。
-所以对于同一时间只启用一个供应商的工具(Claude Code、Claude Desktop、Codex、Gemini CLI、Grok Build),系统总会保留一个正在激活中的配置,因为如果将所有配置全部删除,该应用将无法正常使用。OpenCode、OpenClaw、Hermes、Pi、MiniMax Code 等共存式工具不受此限制,可以直接删除任意供应商。如果你不常用某个工具,可以在设置中关掉它的显示。如果你想切换回官方登录,可以参考下条。
+所以对于同一时间只启用一个供应商的工具(Claude Code、Claude Desktop、Codex、Gemini CLI、Grok Build),系统总会保留一个正在使用的配置,因为如果将所有配置全部删除,该应用将无法正常使用;想删它,先切换到别家。聚合模式下的默认供应商同样不能移除,先把别家设为默认。OpenCode、OpenClaw、Hermes、Pi、MiniMax Code 等共存式工具不受此限制,可以直接删除任意供应商。如果你不常用某个工具,可以在侧栏的「应用」页里把它从侧栏隐藏。如果你想切换回官方登录,可以参考下条。
@@ -436,34 +474,34 @@ Claude Code、Claude Desktop、Codex、Gemini CLI、Grok Build 的供应商列
Codex 还可以在 CC Switch 里用“使用 ChatGPT 登录”登录多个 ChatGPT 账号,再为每张 **OpenAI Official** 卡片选择“使用的账号”,多个 Plus、Pro 或 Team 账号之间一键切换;选择“跟随 Codex 登录”的卡片则沿用 Codex CLI 自己的登录。
-注意:开启本地路由时不能切换到官方供应商,Codex 的 OpenAI Official 卡片除外。
+注意:官方订阅用的是工具自己的登录,不经过本地路由。路由模式下不能切换到官方供应商(Codex 的 OpenAI Official 卡片除外),先回到直连即可。
-开启本地路由后,配置文件里的地址为什么变成了 127.0.0.1?
+开始路由后,配置文件里的地址为什么变成了 127.0.0.1?
-开启本地路由后,工具的请求会先发到 CC Switch 的本地路由(默认 `http://127.0.0.1:15721`),再由 CC Switch 转发给你选中的供应商。所以工具的配置文件里只有本地地址和占位密钥 `PROXY_MANAGED`;Claude Code 的模型名还会写成 `claude-sonnet-5` 之类的固定别名(`/model` 菜单里仍显示真实模型名)。真实的供应商地址、密钥和模型都保存在 CC Switch 里。
+路由模式下,工具的请求会先发到 CC Switch 的本地路由(默认 `http://127.0.0.1:15721`),再由 CC Switch 转发给你选中的供应商。所以工具的配置文件里只有本地地址和占位密钥 `PROXY_MANAGED`;Claude Code 的模型名还会写成 `claude-sonnet-5` 之类的固定别名(`/model` 菜单里仍显示真实模型名)。真实的供应商地址、密钥和模型都保存在 CC Switch 里。聚合模式同样如此。
-在「设置 → 使用统计 → 请求日志」里可以看到每条请求的“请求模型 → 实际模型”。
+在侧栏「用量统计」的请求日志里可以看到每条请求的“请求模型 → 实际模型”。
-开启本地路由期间,切换的是本地路由使用的供应商,开启前在用的供应商保持不变,卡片上标“直连”。关闭本地路由后,配置文件会写回这个直连供应商的配置。退出 CC Switch 时也会先写回直连供应商,下次启动再重新接上本地路由。
+路由模式下,切换的是路由使用的供应商,进入路由前在用的供应商保持不变,卡片上标“直连”。点“回到直连”后,配置文件会写回这个直连供应商的配置。退出 CC Switch 时也会先写回直连供应商,下次启动再重新接上。
能在 Claude Code 里使用 OpenAI 兼容接口、Gemini 或本地模型吗?
-可以,但需要开启本地路由。编辑供应商时,在“高级选项”的“上游格式”里选择和供应商一致的接口格式:只提供 Chat Completions 接口的服务(很多本地模型服务都是这样)选“OpenAI Chat Completions”,提供 Responses 接口的选“OpenAI Responses API”,Gemini 选“Gemini Native generateContent”。然后按[快速开始](#快速开始)第 5 步为 Claude Code 开启本地路由。格式选错或没有开启本地路由,通常会报 404 或 405 错误。
+可以,但需要使用路由。编辑供应商时,在“高级选项”的“上游格式”里选择和供应商一致的接口格式:只提供 Chat Completions 接口的服务(很多本地模型服务都是这样)选“OpenAI Chat Completions”,提供 Responses 接口的选“OpenAI Responses API”,Gemini 选“Gemini Native generateContent”。然后在 Claude Code 页面的「路由」标签里点“开始路由”。格式选错或没有开始路由,通常会报 404 或 405 错误。
-反过来,在 Codex 或 Grok Build 的“上游格式”里选“Anthropic Messages”,就能使用 Claude 格式的供应商,同样需要开启本地路由。详见[在 Claude Code 中使用 GPT](docs/guides/claude-codex-routing-guide-zh.md) 和 [在 Codex 中使用 Claude](docs/guides/codex-claude-routing-guide-zh.md)。
+反过来,在 Codex 或 Grok Build 的“上游格式”里选“Anthropic Messages”,就能使用 Claude 格式的供应商,同样需要路由。详见[在 Claude Code 中使用 GPT](docs/guides/claude-codex-routing-guide-zh.md) 和 [在 Codex 中使用 Claude](docs/guides/codex-claude-routing-guide-zh.md)。
“检测连通”通过了,为什么请求还是失败?
-供应商卡片上的“检测连通”只检查供应商地址能不能连上,不会发送真实的模型请求,所以验证不了 API Key 和模型名是否正确。请求失败时,请检查 Key、模型名和上游格式;开启本地路由时,还可以在「设置 → 使用统计 → 请求日志」里查看具体报错。
+供应商卡片上的“检测连通”只检查供应商地址能不能连上,不会发送真实的模型请求,所以验证不了 API Key 和模型名是否正确。请求失败时,请检查 Key、模型名和上游格式;经过路由的请求,还可以在侧栏「用量统计」的请求日志里查看具体报错。
@@ -474,24 +512,24 @@ Codex 还可以在 CC Switch 里用“使用 ChatGPT 登录”登录多个 ChatG
- **数据库**:`cc-switch.db`(SQLite — 供应商、MCP、提示词、Skills、项目、用量记录等)
- **本地设置**:`settings.json`(设备级设置,如各工具的配置目录、备份策略、云同步连接信息)
-- **备份**:`backups/`(默认每 24 小时自动备份一次、保留最近 10 个,可在「设置 → 高级 → 备份与恢复」中调整)
+- **备份**:`backups/`(默认每 24 小时自动备份一次、保留最近 10 个,可在「设置 → 数据 → 备份与恢复」中调整;下方的“其他备份”列出其余备份的位置和大小,可以按类别清理)
- **Skills**:`skills/`(可在设置中改为 `~/.agents/skills`),默认通过软链接同步到各工具,失败时改为复制
- **技能备份**:`skill-backups/`(卸载或更新技能前自动创建,保留最近 20 个)
- **OAuth 登录凭据**:`copilot_auth.json`、`codex_oauth_auth.json`、`xai_oauth_auth.json`
- **日志**:`logs/cc-switch.log` 和 `crash.log`,反馈问题时请附上
-- **本机状态**:`live-state.json`(各工具是直连还是走本地路由、上一次写入了什么)、`codex-login-stash.json`(切到第三方时被移走的 Codex 官方登录,切回官方时还原)
+- **本机状态**:`live-state.json`(各工具当前是直连、路由还是聚合,上一次写入了什么)、`codex-login-stash.json`(切到第三方时被移走的 Codex 官方登录,切回官方时还原)
- **配置文件原件**:`backups/live-first-write/`(CC Switch 第一次改写各工具配置文件之前的原文件)
-在「设置 → 高级 → 配置文件目录」里修改“CC Switch 配置目录”后,除 `settings.json`、本机状态和配置文件原件以外的上述文件都改为存放在新目录。CC Switch 不会自动搬运已有文件,需要先手动复制过去。`settings.json`、本机状态和配置文件原件只属于这台电脑,始终在默认目录,也不参与云同步。
+在「设置 → 数据 → 存储位置」里修改“CC Switch 配置目录”后,除 `settings.json`、本机状态和配置文件原件以外的上述文件都改为存放在新目录。CC Switch 不会自动搬运已有文件,需要先手动复制过去。`settings.json`、本机状态和配置文件原件只属于这台电脑,始终在默认目录,也不参与云同步。
在 Windows 上怎么管理 WSL 里的工具?
-CC Switch 不会自动识别 WSL。请在「设置 → 高级 → 配置文件目录 → 配置目录覆盖(高级)」里,把对应工具的目录改成 WSL 里的路径,例如 `\\wsl.localhost\Ubuntu\home\<用户名>\.claude`,保存后 CC Switch 就会读写 WSL 里的配置(Claude Code、Codex、Gemini CLI、Grok Build、OpenCode、OpenClaw、Hermes、Pi 支持设置)。设置之后,「关于」页也会在对应的 WSL 发行版里检测和升级该工具。
+CC Switch 不会自动识别 WSL。请在「设置 → 应用配置」里,把对应工具的配置目录改成 WSL 里的路径,例如 `\\wsl.localhost\Ubuntu\home\<用户名>\.claude`,保存后 CC Switch 就会读写 WSL 里的配置(Claude Code、Codex、Gemini CLI、Grok Build、OpenCode、OpenClaw、Hermes、Pi 支持设置)。设置之后,侧栏的「应用」页也会在对应的 WSL 发行版里检测和升级该工具。
-注意:本地路由写入配置的地址是 `127.0.0.1`。WSL2 默认的 NAT 网络模式下,WSL 里的 `127.0.0.1` 连不到 Windows 上的本地路由,需要改用 WSL 的 mirrored 网络模式。
+注意:路由和聚合写入配置的地址是 `127.0.0.1`。WSL2 默认的 NAT 网络模式下,WSL 里的 `127.0.0.1` 连不到 Windows 上的本地路由,需要改用 WSL 的 mirrored 网络模式。