> ## Documentation Index
> Fetch the complete documentation index at: https://docs.siflow.cn/llms.txt
> Use this file to discover all available pages before exploring further.

# CC-Switch

> 了解如何在 CC-Switch 中注册算秩 provider，接入 siflow endpoint，并一键切换 Claude Code、Codex 等 AI 编程工具配置。

[CC-Switch](https://github.com/farion1231/cc-switch) 是一个桌面应用，也提供系统托盘快捷切换器，用于管理和切换多个 AI 编程工具的模型 provider 配置，包括 Claude Code、Codex、Gemini CLI、OpenCode、OpenClaw 等。您只需注册一次 provider，即可一键切换；CC-Switch 会以原子方式写入实际配置文件（`~/.claude/settings.json`、`~/.codex/config.toml` / `auth.json`），并自动备份。

Claude Code 和 Codex 都使用 **Qwen/Qwen3.5-397B-A17B**。该模型同时支持 Claude Code 使用的 Anthropic Messages 协议，以及 CC-Switch 将 Codex 流量转换后的 Chat Completions 协议。可用模型请查看 [模型广场](https://console.siflow.cn/model-inference/models)。

## CC-Switch 如何访问 siflow

CC-Switch 会让每个工具指向本地 proxy，再向上游转发请求。**它会为 Codex 转换协议，但不会为 Claude Code 转换协议**，因此两个应用需要不同设置：

| App         | 工具使用的协议            | CC-Switch 行为                     | siflow endpoint 收到的协议 |
| ----------- | ------------------ | -------------------------------- | --------------------- |
| Claude Code | Anthropic Messages | 映射模型名并注入 key；不做协议转换              | Anthropic Messages    |
| Codex       | Responses          | 将 Responses 转换为 Chat Completions | Chat Completions      |

实际含义是：**模型必须通过最终到达 siflow endpoint 的协议提供服务。** `Qwen/Qwen3.5-397B-A17B` 同时通过两种协议提供服务，因此两个应用都可以使用。

## 配置 Claude Code

先在 [API 密钥](https://console.siflow.cn/model-inference/api_keys) 页面创建 API Key。

1. 打开 CC-Switch，选择 **Claude Code** 应用标签页。
2. 单击右上角 **+**，保留 **App-specific Provider** 标签页，并在 Preset 下拉菜单中选择 **Custom**。
3. 填写：

| 字段                            | 值                                                        |
| ----------------------------- | -------------------------------------------------------- |
| Name                          | `siflow`                                                 |
| Endpoint URL                  | `https://api.siflow.cn/model-api`                        |
| API Key                       | 创建的 API Key                                              |
| API Format (Advanced Options) | **Anthropic Messages**。Claude Code 使用该协议，CC-Switch 会原样转发 |
| Needs Local Routing           | **Off**                                                  |
| Model                         | `Qwen/Qwen3.5-397B-A17B`。可以手动输入，也可以使用 **Fetch Models**   |

4. Claude Code 有三个模型槽位（Opus、Sonnet、Haiku）。**请将每个需要使用的槽位映射到通过 Anthropic Messages 提供服务的模型**。如果选择了不兼容模型，会报 `400 unsupported_protocol`。除 `Qwen/Qwen3.5-397B-A17B` 外，`Qwen/Qwen3.6-27B` 和 `google/gemma-4-31B-it` 也可用；`google/gemma-3-27b-it` 适合作为 Haiku 槽位，因为它不是 reasoning model。
5. 单击 **Add**，然后在 `siflow` provider 卡片上单击 **Enable**。卡片显示 "Currently Active" 后即生效。Claude Code 会立即读取变更，无需重启。
6. 在 Claude Code 中运行 `/model`，并**选择一个自定义条目**。如果保持在 **Default**，Claude Code 会继续使用自己的内置默认模型。

在这一路径下，CC-Switch 会自行持有 key：它会将 `ANTHROPIC_AUTH_TOKEN: "PROXY_MANAGED"` 写入 `~/.claude/settings.json`，并让 `ANTHROPIC_BASE_URL` 指向本地 proxy。因此凭证不会落到配置文件中。

## 配置 Codex

1. 切换到 **Codex** 应用标签页，单击 **+** → **Custom**。
2. 填写：

| 字段                  | 值                                                           |
| ------------------- | ----------------------------------------------------------- |
| Name                | `siflow`                                                    |
| Endpoint URL        | `https://api.siflow.cn/model-api/v1`                        |
| API Key             | 创建的 API Key                                                 |
| API Format          | **OpenAI Chat Completions**，不要选择 Responses；让 CC-Switch 负责转换 |
| Needs Local Routing | **On**。这是上述转换所必需的                                           |
| Model               | `Qwen/Qwen3.5-397B-A17B`                                    |

3. 单击 **Add** → **Enable**。
4. 在这一路径下，CC-Switch **不会**持有 key。它会在 `~/.codex/config.toml` 中写入一个 `env_key` 引用，需要您自行导出该环境变量：

```bash theme={null}
grep env_key ~/.codex/config.toml
export SIFLOW_API_KEY="<Your API Key>"
```

变量名来自 provider name。`export` 只在当前 shell 会话中有效；如需持久化，请添加到 `~/.bashrc` / `~/.zshrc`。

5. **关闭并重新打开终端**。Codex 只在启动时读取配置。

<img src="https://mintcdn.com/siflow/CfO6jliU08Hhf849/model-inference/media/ccswitch-provider-config.png?fit=max&auto=format&n=CfO6jliU08Hhf849&q=85&s=2bb68d567cf3c04e90822e25d08120a5" alt="CC-Switch 中编辑 provider 并配置算秩 Model Inference API" width="2000" height="1390" data-path="model-inference/media/ccswitch-provider-config.png" />

## 验证

从 provider 卡片（或系统托盘图标 → 应用子菜单 → **siflow**）切换到该 provider，然后运行：

```bash theme={null}
claude    # 立即生效
codex     # 需要先重新打开终端
```

分别向两个工具提一个测试问题。如果正常回复，说明切换成功。回复中出现 `Qwen/Qwen3.5-397B-A17B` 等已配置模型名，可以辅助确认请求经过了目标 provider。

<img src="https://mintcdn.com/siflow/CfO6jliU08Hhf849/model-inference/media/ccswitch-claude-reply.png?fit=max&auto=format&n=CfO6jliU08Hhf849&q=85&s=3775a52d1f6393ce6ba22f500ffa5d55" alt="Claude Code 通过算秩 Qwen 模型返回回复" width="2274" height="1120" data-path="model-inference/media/ccswitch-claude-reply.png" />

## FAQ

* **Claude Code 提示所选模型不存在或无权访问**：您可能还停留在 `/model` 的 **Default** 条目，或某个槽位映射到了不兼容模型。运行 `/model` 并选择自定义条目。Claude Code 内置条目带有 `[1M]` 后缀，这是 Claude Code 自己的命名，不是模型 ID。
* **出现 `400 unsupported_protocol`**：模型没有通过最终到达 siflow endpoint 的协议提供服务。Claude Code 侧请选择支持 Anthropic Messages 的模型；Codex 侧请确认 **Needs Local Routing** 已开启，以便转换 Responses 流量。
* **Codex 提示 `Missing environment variable`**：导出 `~/.codex/config.toml` 中指定的环境变量，然后重新打开终端。
* **无法删除当前激活的 provider**：请先切换到其他 provider，再删除它。
* **Fetch Models 返回 404 或 405**：请手动输入模型 ID。
* **可以使用 Universal Provider 吗？** 可以。**Universal Provider**（添加弹窗的第二个标签页）可以一次性为多个应用注册 provider；但上述按应用区分协议的要求仍然适用，配置后请逐个检查各应用的 format 和 routing。

CC-Switch 的 UI 可能随版本变化，请以实际版本为准。
