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

# CC Switch

> 通过 HaiToken 网关接入 CC Switch

CC Switch 接入 HaiToken 的方式不是改环境变量，而是在桌面应用里新增一个 Provider，再把这个 Provider 切换给你正在使用的目标工具。

对于 HaiToken，推荐按 OpenAI 兼容方式接入，因为 CC Switch 可以直接填写统一的 `Endpoint URL`、`API Key`，并通过 `/v1/models` 自动拉取模型列表。

## 为什么会看到两种接入方式

很多人第一次看到 CC Switch 的 `App-specific Provider` 和 `Universal Provider`，会误以为这是两套不同的 HaiToken 接入协议。实际上不是。

这两个入口的核心配置完全一样，填的还是同一套 HaiToken 信息：

* `Endpoint URL`
* `API Key`
* `Model`

它们真正的区别只有一个：**这份 Provider 配置要作用到几个应用。**

* `App-specific Provider`：只给当前应用使用
* `Universal Provider`：给多个应用共用

你可以把它理解成“同一套接入参数的两种作用范围”，而不是“两种不同协议”。

如果你只是第一次接入 HaiToken，或者只是先验证 `OpenClaw`、`OpenCode` 其中一个工具，优先选 `App-specific Provider` 会更稳，因为排错最直接。

只有当你已经确认这套 HaiToken 配置可用，并且希望多个应用一起复用时，再切到 `Universal Provider`。

## 适合哪些场景

* 你已经在用 CC Switch 管理 OpenCode、OpenClaw、Codex 等工具
* 你想把 HaiToken 作为统一模型入口，而不是分别修改多个工具配置
* 你想通过图形界面切换 Provider，并直接获取模型列表

## 先准备好这些信息

开始前请准备以下内容：

* HaiToken API Key
* HaiToken 网关地址：`https://api.haitoken.ai`
* 至少一个可用模型 ID，例如 `deepseek-v4-flash`

<Note>
  在 CC Switch 里，`Endpoint URL` 建议填写网关前缀 `https://api.haitoken.ai`，不要直接写成 `https://api.haitoken.ai/v1/chat/completions`。默认模式下，CC Switch 会在这个前缀后自动拼接 `/v1/chat/completions` 和 `/v1/models`。
</Note>

## 方式一：只给当前应用使用

这对应 CC Switch 里的 `App-specific Provider`。这种方式只对当前应用生效，适合先验证单个工具是否已经成功接入 HaiToken。推荐按下面 4 步操作。

### 步骤 1：打开目标应用页

启动 CC Switch 后，先在左侧或顶部切换到你要接入的目标应用，例如：

* OpenCode
* OpenClaw
* Codex

如果你只是先验证一款工具是否可用，先停留在这个应用页即可。

### 步骤 2：新增 Provider

在主界面右上角点击 `+`，打开 Add Provider 面板。

你会看到两个入口：

* `App-specific Provider`：只作用于当前应用
* `Universal Provider`：同一份配置同步到多个应用

首次接入 HaiToken 时，优先选择 `App-specific Provider`，这样更容易确认当前应用是否已经切换成功。

<img src="https://mintcdn.com/hai-token/VEsEJoBleYGPGfir/images/ccswitch/PixPin_2026-07-08_14-21-31.png?fit=max&auto=format&n=VEsEJoBleYGPGfir&q=85&s=9b4ee3b886c81758c942acf1808642ff" alt="打开目标应用并新增 Provider" width="1333" height="795" data-path="images/ccswitch/PixPin_2026-07-08_14-21-31.png" />

### 步骤 3：填写 HaiToken 配置

如果当前应用支持 `OpenAI Compatible` 或 `Custom` 预设，直接选择即可。核心字段按下面填写：

| 字段                          | 建议值                       |
| --------------------------- | ------------------------- |
| Name                        | `HaiToken`                |
| Endpoint URL / API Base URL | `https://api.haitoken.ai` |
| API Key                     | 你的 HaiToken API Key       |
| Model                       | 例如 `deepseek-v4-flash`    |

如果表单里有 `Fetch Models` 按钮，建议点一次，让 CC Switch 从 HaiToken 的 `/v1/models` 拉取模型列表，再直接从下拉框选择模型。

<img src="https://mintcdn.com/hai-token/VEsEJoBleYGPGfir/images/ccswitch/PixPin_2026-07-08_14-31-30.png?fit=max&auto=format&n=VEsEJoBleYGPGfir&q=85&s=b9b876bcdbb01ef190f0b8ab6bbf746f" alt="填写 HaiToken Provider 配置" width="1333" height="1329" data-path="images/ccswitch/PixPin_2026-07-08_14-31-30.png" />

### 步骤 4：保存并启用

填写完成后点击 `Add` 或 `Save`，然后在 Provider 列表中把 `HaiToken` 切换为当前生效配置。

如果你接入的是 OpenCode、OpenClaw 或 Codex，建议在切换完成后重启目标工具一次，确保它重新读取最新配置。

### 自检清单

完成配置后，按下面顺序检查：

1. 在 CC Switch 的模型选择或 `Fetch Models` 中能看到 HaiToken 返回的模型列表
2. 目标工具切换到 `HaiToken` Provider 后，不再出现认证失败或找不到模型的提示
3. 发送一条简单测试消息，例如 `hi` 或 `介绍一下自己`，能正常返回内容

如果目标工具是 `OpenClaw`，再额外确认一次路由是否已经开启。

如果以上三步都通过，就说明接入已经成功。

### 常见问题

#### 拉取模型时报 404

优先检查 `Endpoint URL` 是否误填成了 `https://api.haitoken.ai/v1`。对 CC Switch 来说，推荐填写网关前缀 `https://api.haitoken.ai`。

#### 已保存 Provider，但目标工具仍然没有生效

先确认你已经把 `HaiToken` 切换为当前激活 Provider，然后完全退出并重新打开目标工具。

如果目标工具是 `OpenClaw`，再额外检查对应路由是否已经开启。

#### 能连通但模型列表为空

先用 HaiToken 的模型列表接口确认当前 API Key 可见哪些模型：

```bash theme={null}
curl https://api.haitoken.ai/v1/models \
  -H "Authorization: Bearer YOUR_API_KEY"
```

如果接口返回正常，再回到 CC Switch 重新执行一次 `Fetch Models`。

#### 填了完整接口路径是否能用

只有在你明确开启了 CC Switch 的 `Full URL Mode` 时，才适合填写完整接口路径。对 HaiToken 的标准接入场景，不需要开启这个模式。

## 方式二：给多个应用共用

这对应 CC Switch 里的 `Universal Provider`。如果你希望一套 HaiToken 配置复用到多个应用，可以改用这种方式。

### 适用场景

* 你同时在 CC Switch 中管理多个工具
* 你不想为每个工具单独重复填写 Endpoint 和 API Key
* 你希望多个工具尽量共用同一套模型来源

### 步骤 1：打开 Add Provider 面板

在主界面点击右上角 `+`，进入 Add Provider 面板。

### 步骤 2：选择 `Universal Provider`

在 Provider 类型中选择 `Universal Provider`，让这份配置对多个应用生效。

### 步骤 3：填写 HaiToken 配置

字段填写方式与 `App-specific Provider` 完全相同：

| 字段                          | 建议值                       |
| --------------------------- | ------------------------- |
| Name                        | `HaiToken`                |
| Endpoint URL / API Base URL | `https://api.haitoken.ai` |
| API Key                     | 你的 HaiToken API Key       |
| Model                       | 例如 `deepseek-v4-flash`    |

如果有 `Fetch Models`，同样建议执行一次，先确认 Endpoint 和 API Key 可用。

### 步骤 4：切换目标应用验证

保存后，分别切换到你要使用的目标应用，确认它们是否都能看到并使用同一套 HaiToken 配置。

### 自检清单

* 目标应用中能读取到 `HaiToken` Provider
* 至少一个目标应用可以正常发起对话并返回结果
* 切换模型后不出现认证失败或模型不存在错误

<Note>
  `Universal Provider` 在不同版本中的覆盖范围可能不同。若你发现某个应用没有读到这份配置，优先回退到 `App-specific Provider` 方式。
</Note>

## 关键配置说明

### Endpoint URL 应该填什么

推荐填写：

```text theme={null}
https://api.haitoken.ai
```

不推荐直接填写：

```text theme={null}
https://api.haitoken.ai/v1
https://api.haitoken.ai/v1/chat/completions
```

原因是 CC Switch 的默认模式会把 `base_url` 当作前缀，再自动拼接固定路径。如果你把 `/v1` 或完整接口路径也填进去，最终请求地址可能变成重复路径。

### API Key 如何发送

HaiToken 的 OpenAI 兼容接口使用 Bearer 鉴权，请确保你填写的是可直接调用网关的 API Key。

等价的 HTTP 请求头如下：

```http theme={null}
Authorization: Bearer YOUR_API_KEY
```

### 模型如何选择

你可以用两种方式：

* 直接手动填写模型 ID
* 用 `Fetch Models` 从 `/v1/models` 拉取模型列表后选择

如果模型已经能从列表里拉出来，通常说明 Endpoint 和 API Key 都是通的。

## 哪些场景需要开启路由

在 CC Switch 里，“是否要开启路由（Routing / Local Routing）”不能一概而论。更稳妥的判断方式如下：

### 明确需要开启路由的场景

#### Codex 使用 Chat Completions 或非 GPT 模型时

如果你给 `Codex` 接的是 OpenAI Chat Completions 上游，或者你使用的不是 Codex 默认理解的 GPT 系列模型，而是 `DeepSeek`、`Kimi`、`GLM`、`MiniMax` 这类第三方模型，就需要开启路由。

原因是这类场景通常需要 CC Switch 在本地做协议转换、模型映射或请求转发。

#### Claude / Claude Code / Claude Desktop 使用非默认协议格式时

如果你给 `Claude`、`Claude Code` 或 `Claude Desktop` 配置的是：

* `OpenAI Chat Completions`
* `OpenAI Responses API`

这类非默认的 Anthropic Messages 格式，也需要依赖代理或路由做协议转换。

### 建议优先检查路由的场景

#### OpenClaw：按 3 步确认路由

如果你当前接入的目标工具是 `OpenClaw`，除了添加 `HaiToken` Provider 之外，还建议按下面顺序再检查一次路由：

1. 先确认 `HaiToken` Provider 已经保存并切换为当前生效配置
2. 再确认与 OpenClaw 相关的 **路由（Routing）已经开启**
3. 最后重新发起一条测试请求，确认流量确实走到 HaiToken

如果路由没有开启，可能会出现下面这些现象：

* Provider 已经保存成功
* 模型列表也能正常拉取
* 但实际请求没有按预期走到 `HaiToken`
* 或者切换 Provider 后，OpenClaw 侧看起来仍然没有生效

<img src="https://mintcdn.com/hai-token/VEsEJoBleYGPGfir/images/ccswitch/PixPin_2026-07-08_16-44-08.png?fit=max&auto=format&n=VEsEJoBleYGPGfir&q=85&s=cfcef62ff0a3b13d4ea1df152a20bf7c" alt="OpenClaw 路由设置示意" width="1691" height="1054" data-path="images/ccswitch/PixPin_2026-07-08_16-44-08.png" />

因此，在 OpenClaw 场景下，建议你在切换到 `HaiToken` Provider 之后，再检查一次路由是否已经启用，然后重新发起一条测试请求。

### 暂时不要默认写成必须开启的场景

对于 `OpenCode`、`Gemini`、`Hermes` 这类场景，如果你当前使用的是标准兼容方式，文档里暂时不建议直接写成“必须开启路由”。是否需要开启，优先以当前版本 UI、Provider 类型和实际请求表现为准。
