标签 CC-Switch 下的文章

最重要的就是先更新最新的 Antigravity Tools,否则很可能会 429,我就是这么困扰了好几天的。
地址:Release Antigravity Tools v3.3.49 · lbjlaq/Antigravity-Manager · GitHub


账号可以多加几个,可以一键切换,启动反代服务,其它的我目前是都默认就可以。
个人经验分享一下 Antigravity tools 配合 cc switch2


然后就是在 cc switch 中增加配置,这里我增加了一手配置
地址:Releases · farion1231/cc-switch · GitHub

{ "env": { "ANTHROPIC_AUTH_TOKEN": "sk-*", "ANTHROPIC_BASE_URL": "http://127.0.0.1:2333", "ANTHROPIC_DEFAULT_OPUS_MODEL": "claude-opus-4-5-thinking", "ANTHROPIC_DEFAULT_SONNET_MODEL": "claude-sonnet-4-5-thinking", "API_TIMEOUT_MS": "3000000", "CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1" }, "model": "opus" } 


启用配置后再配合 opcode, 就可以畅享 CC 了。
地址:Release v0.2.0 · winfunc/opcode · GitHub
还有注意的就是「节点」要稳,大部分 429 都是节点问题。
不是大佬,只是把自己试出来的东西分享给大家,peace and love


📌 转载信息
原作者:
beauty
转载时间:
2026/1/23 11:59:05

翻了很多帖子,发现很多都是之前的的 claude 配置,要么就是不全,按照流程无法正确执行。
这里只做记录,佬清喷。纯手打。

目标群体:之前没有接触过 claude 的新手,但想试试,且快速部署上手尝试的选手。

win 配置

1,node.js 安装

2,Claude 安装
在 cmd 或者 powershell 输入

npm install -g @anthropic-ai/claude-code

完成安装

3,你需要知道的几个文件和目录

  • claude 相关的一些配置文件在:C:\Users\ 你的用户名 \.claude 下
  • CLAUDE.md 是放提示词的
  • settings.json 配置 mcp 和模型,这个会由 cc switch 接管和修改

4,修改配置文件

  • 修改 C:\Users\ 你的用户名.claude.json 加入如下代码,位置请看图片,对齐即可,这个必须配置,跳过初始化,以及最开始的网络检查,否则会报无法连接网络
"hasCompletedOnboarding": true 

5,安装 cc switch

  • https://github.com/farion1231/cc-switch release 中下载对应的 CC-Switch-v3.9.1-Windows.msi 安装即可
  • 打开 cc switch 添加供应商,如图,填入官方的 api
  • 这里我实际测试硅基流动,存在上下文限流,以及无法执行联网查询。建议使用官方的
  • 配置完成后保存即可

6, 使用 cmd,输入 claude,显示图,即说明配置正确

mac 配置

过程完全一致

需要配置的文件目录在:

  • 存储提示词,skills,api 的目录在:/User/ 你的用户名 /.claude
  • .claude.json:/User/ 你的用户名 /.claude.json

最后

1,安装各种 mcp,skills,市场等等
2,配置提示词
3,如果你想将 antigravity 反代给 claude,站内佬的帖子很多。实测 macos 15 以上,使用 quotio 比较方便,但注意无法反代 codex。win 暂时没看到好用的工具。
4,目前我使用 glm4.7 进行项目分析,代码分析工作,出具的报告个人感觉比 augment 的 sn4.5 强。也可能是我设计了一个针对性的 skills 导致分析结果详实。
5,总的感觉 glm4.7 大概介于 sn4.0~sn4.5 之间。
6,对了官方的那个 4.7 支持在 claude 中思考,调用 skills,调用 mcp。硅基流动的非常容易触发 500 错误,以及调用工具无返回结果(完全一模一样的问题)


📌 转载信息
原作者:
cisha1573
转载时间:
2026/1/21 22:08:15

大家好!

我前几天在服务器上用 CC-Switch 时,GUI 版跑不起来(SSH 环境没图形),于是我做了一个 web/headless 版 cc-switch-web,把原版的供应
商 / MCP / 技能 / 提示词全搬到了浏览器里,让云端也能用。并且扩展了一些模板,添加了自动跳转备用服务商的功能。

效果(Web)

  • Skills 市场:浏览 / 一键安装

  • Prompt 编辑:提示词

- 页面展示:

  • 高级设置:目录重定向、导入导出、备份

为什么用 cc-switch-web?

  • 核心场景:服务器 / 云主机 + SSH,只需跑一个 Web Server,用浏览器管理。
  • 功能等价:供应商切换、MCP 统一管理、技能市场、提示词管理、导入导出 / 备份、双语。
  • 更安全:默认 Basic Auth 随机密码 + 同源;跨域需显式配置 CORS_ALLOW_ORIGINS。
  • 更云友好:可配 HOST/PORT,方便反代 / HTTPS;备用供应商自动切换,转发异常时兜底。
  • 更轻量:无 GUI 依赖,前后端分离,易脚本化、易自动化。

快速上手(Web)

pnpm install
pnpm build:web
cd src-tauri
cargo build --release --features web-server --bin cc-switch-server

启动(示例)

HOST=0.0.0.0 PORT=3000 ./target/release/cc-switch-server

  • 登录:admin / ~/.cc-switch/web_password(首次自动生成)。
  • CORS:默认同源;需要跨域时设置 CORS_ALLOW_ORIGINS(可选 CORS_ALLOW_CREDENTIALS=true)。
  • Web 模式无系统文件 / 目录选择器,路径需手动输入。

常用命令

  • 构建 Web 资源:pnpm build:web
  • 构建 / 运行 Web Server:cargo build --release --features web-server --bin cc-switch-server + HOST=… PORT=… ./target/
    release/cc-switch-server
  • API 测试:bash tests/run-all.sh(需运行中的 server)

维护说明
新版本刚上线,可能还有细节待打磨。欢迎提 issue:本周集中更新,之后每周定期维护,目标是把它打造成云开发也能放心用的可靠
工具。

项目信息

写在最后
核心业务逻辑基于 cc-switch,我做了 Web / 无头化和安全 / 云端增强。希望大家可以多多 star 、多提 issue,每个 issue、提交我都会看的 我们一起来完善这个工具吧。


📌 转载信息
原作者:
JINZHOU
转载时间:
2026/1/15 18:09:24

排名不分先后,都是我用过的, 本文不做任何推荐

CC Switch 好像有个 bug, 余额查询的配置好像是不隔离的。

NewAPI 系列

以下几家中转站都是基于 NewAPI 搭建,所以查询余额较为简单

  • IKunCode
  • privnode
  • Duckcoding

配置步骤:

以 ikuncode 站为例,privnode/Duckcoding 步骤都一样

  1. 登录对应的网站,打开控制台 / 个人设置

  2. 点击安全设置,生成系统访问令牌

  3. 回到 CC-Switch, 配置用量查询,预设模板选择 NewAPI, 填入访问令牌和用户 ID

RightCode (订阅余额)

配置步骤:

  1. 预设模板选择 通用模板,填入请求地址 https://right.codes/subscriptions/list

  2. 登录网站 F12 控制台获取 bearer token(任意一个请求), 填入提取器代码(整个替换)

({
request: {
url: "https://right.codes/subscriptions/list",
method: "GET",
headers: {
Authorization: `f12控制台获取 bearer token`,
},
},
extractor: function (response) {
const now = new Date(); // 获取当前时间,用于比较 const results = response.subscriptions.reduce(
(acc, subscription, index) => {
// 解析过期时间 const expiredAt = new Date(subscription.expired_at);

// 判断是否过期:当前时间 > 过期时间,则跳过 if (now > expiredAt) {
return acc; // 跳过该项,直接返回已累积的数组
}

// 根据 reset_today 判断重置状态 const resetStatus = subscription.reset_today ? "已重置" : "未重置";
const extraInfo = `今天${resetStatus}`;

// 将符合条件的项添加到累积数组
acc.push({
id: subscription.id || `subscription_${index + 1}`,
remaining: subscription.remaining_quota,
planName: subscription.name,
unit: "USD",
// 新增的 extra 字段 extra: extraInfo,
});

return acc; // 返回更新后的累积数组
},
[],
); // 初始值为空数组 return results;
},
});

群里有个人开发了 vscode 插件可以更好的显示

cubence (余额)

配置步骤:

  1. 预设模板选择 通用模板,填入请求地址 https://cubence.com/api/v1/auth/me,并从网页端 F12 获取 cookie, 提取器代码填入以下代码:
({
  request: {
    url: "https://cubence.com/api/v1/auth/me",
    method: "GET",
    headers: {
      "Cookie": "token=<yourtoken>",
      "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:146.0) Gecko/20100101 Firefox/146.0"
    }
  },
  extractor: function(response) {
    return {
      remaining: response.user.normal_balance / 1000000,
      unit: "USD"
    };
  }
})

Yescode

步骤:

  1. 预设模板选择 通用模板,填入请求地址 https://co.yes.vg/api/v1/user/balance,并从网页端 F12 获取 cookie, 提取器代码填入以下代码:
({
  request: {
    url: "https://co.yes.vg/api/v1/user/balance",
    method: "GET",
    headers: {
      Cookie:
        "your_cookie",
      "User-Agent":
        "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:146.0) Gecko/20100101 Firefox/146.0",
    },
  },
  extractor: function (response) {
    return {
      remaining: response.balance,
      unit: "USD",
    };
  },
});

📌 转载信息
原作者:
unsafe
转载时间:
2026/1/12 10:35:17

效果图

先上个效果图

NewAPI 搭建的中转站

大部分的中转站都是基于 NewAPI 部署,一般可以在中转站底部 footer 看到是不是,那么可以使用接下来的两种用量查询方式

使用访问令牌

1. 获取用户 ID + 访问令牌:在 NewAPI 系统中转站 ,登录后找到 个人设置 -> 安全设置 -> 系统访问令牌,生成令牌。头像的旁边可以看到你的 ID

2. 填写配置:在 cc-switch 中进入用量查询配置页面,选择 NewAPI 模板,将请求地址、访问令牌、用户 ID 都填写上,注意这 3 个都是必填项。勾选启用用量查询 保存即可查询。


使用 APIKey

这个方式不用生成访问令牌,使用你填写的供应商 key 完成查询。使用 通用模板,在提取器代码输入框中输入以下脚本。

({
  request: {
    url: "{{baseUrl}}/api/usage/token",
    method: "GET",
    headers: {
      Authorization: "Bearer {{apiKey}}",
    },
  },
  extractor: function (response) {
    if (response.code) {
      if (response.data.unlimited_quota) {
        return {
          planName: response.data.name,
          total: -1,
          used: response.data.total_used / 500000,
          unit: "USD",
        };
      }
      return {
        isValid: true,
        planName: response.data.name,
        total: response.data.total_granted / 500000,
        used: response.data.total_used / 500000,
        remaining: response.data.total_available / 500000,
        unit: "USD",
      };
    }
    if (response.error) {
      return {
        isValid: false,
        invalidMessage: response.error.message,
      };
    }
  },
})

这个方式是查询你这个供应商 key 的用量情况,并非是你账号的,如果你的 key 生成时选择的无限额度,那么在 cc-switch 中只会显示这个 key 已经使用的用量,并不会显示剩余的。

其它

还有很多中转站是自研的系统,无法使用上述的方式进行查询,那么就要自己去写对应的查询脚本完成查询,这里我贴一个 88code 的,其它支持查询用量的站点,可以私聊我进行补充。

88code

和方式 2 一样,使用 通用模板 ,在提取器代码输入框中粘贴以下脚本。

({
  request: {
    url: "{{baseUrl}}/subscription",
    method: "POST",
    headers: {
      Authorization: "Bearer {{apiKey}}",
      "User-Agent": "cc-switch/1.0",
      Accept: "*/*",
    },
  },
  extractor: function (response) {
    if (response.error && response.msg == "No active subscription found") {
      throw new Error("该套餐暂无额度可使用");
    }
    if (response.error && response.msg == "API key not found") {
      throw new Error("该KEY无效");
    }
    const res = response.data // 成功处理:检查响应是否为非空数组 if (Array.isArray(res) && res.length > 0) {
      return res.filter(i => i.subscriptionStatus === "活跃中").map((i) => {
        let extraInfo = ""; // 初始化 extra 字段变量 // 判断是否有上次重置时间,以此来计算下次刷新时间 // lastCreditReset 字段存在且不为 null if (i.lastCreditReset) {
          // 1. 将上次重置时间的字符串转换为 Date 对象 const lastResetDate = new Date(i.lastCreditReset);
          // 2. 根据套餐描述,假设是每日重置,计算下次重置时间(加上24小时) // 86400000 毫秒 = 24 * 60 * 60 * 1000 const nextResetDate = new Date(lastResetDate.getTime() + 5*60*60*1000);
          // 3. 格式化日期为 "MM-DD HH:MM" const pad = (num) => String(num).padStart(2, "0");
          const month = pad(nextResetDate.getMonth() + 1); // 月份是从0开始的,所以+1 const day = pad(nextResetDate.getDate());
          const hours = pad(nextResetDate.getHours());
          const minutes = pad(nextResetDate.getMinutes());
          const formattedNextReset = `${month}-${day} ${hours}:${minutes}`;
          // 4. 拼接成最终的字符串
          extraInfo = `下次可刷新时间:${formattedNextReset}(${i.resetTimes})`;
        }
        // 对于按量付费(PAY_PER_USE)类型的套餐,提供特定信息 else if (i.subscriptionPlan.planType === "PAY_PER_USE") {
          extraInfo = "按量付费套餐,无固定刷新周期";
        }
        // 返回包含新字段的完整对象 return {
          isValid: true,
          planName: i.subscriptionPlan.subscriptionName,
          total: i.subscriptionPlan.creditLimit,
          remaining: i.currentCredits,
          unit: "USD",
          extra: extraInfo, // 将生成的 extra 信息添加到返回对象中
        };
      });
    }
  },
});

📌 转载信息
转载时间:
2026/1/12 10:34:08