最近圈子里关于 Claude API 的讨论热度不减,虽然官方 API 已经开放,但鉴于种种限制(如地区封锁、支付门槛等),很多朋友还是想寻找一些“曲线救国”的方案。其中,利用现有的订阅会话通过反代理转换成 API 接口,也就是常说的 sub2api,成了一个热门方向。

今天就来实测一下这套方案的可行性,顺便把从环境搭建到跑通流程的详细步骤整理出来,给想折腾的朋友们提供一个参考。

sub2api 工作原理示意图,展示浏览器 Cookie 如何被转换为 API 请求

图 1:sub2api 核心工作原理:充当网页版会话与标准 API 接口之间的桥梁。

一、 核心思路:什么是 sub2api?

简单来说,这个工具的核心作用就是做一个“中间人”。正常情况下,Claude 的网页版聊天是基于 WebSocket 流式传输的,而标准的 API 调用是基于 HTTP 请求的。

VPS 服务器部署示例图,展示境外服务器连接架构

图 2:搭建 sub2api 所需的网络架构环境示意图。

sub2api 的作用就是拦截你在网页端的会话凭证(Cookie 或 SessionID),在本地起一个服务,监听 API 请求,然后把这些请求“翻译”成网页端能识别的指令发给 Anthropic 的服务器,最后把返回的结果再封装成标准的 API 格式给你的调用方(比如 SillyTavern、NextChat 等)。

二、 前置准备:你需要什么?

在动手之前,请确保你已经具备以下条件,否则大概率会卡在第一步:

  1. 一台境外的 VPS:这是必须的,因为直接从国内访问 Anthropic 的服务器极不稳定。推荐选择延迟较低、线路稳定的机器(如香港、日本或美国洛杉矶节点的 CN2 线路)。
  2. 一个正常的 Claude 账号:且该账号能够正常登录网页端并进行对话。如果你连网页版都登不上去,那转 API 也就无从谈起了。
  3. Claude 的会话凭证:通常是指登录后的 Cookie 或者完整的 Session ID,这是反代验证身份的关键。
  4. 基础的技术能力:能够使用 SSH 连接服务器,懂一点 Docker 命令或者基本的 Python 环境配置即可。

三、 具体搭建步骤(Docker 方案推荐)

为了省去配置 Python 环境的麻烦,我们直接使用 Docker 部署,这也是最稳妥的方式。

1. 获取项目代码

登录你的 VPS,依次执行以下命令:

git clone https://github.com/你的sub2api项目源地址.git
# 注意:这里请替换为当前活跃的开源项目地址,社区里有很多分支,选择更新频繁的即可。
cd sub2api

2. 配置环境变量

项目目录下通常会有一个 .env.example 文件,我们需要复制一份并修改关键参数:

cp .env.example .env
vim .env

你需要重点关注以下几项配置:

  • AUTH_KEYS: 设置一个你自己定义的 API Key,用来验证连接你反代服务的客户端。防止被白嫖流量。
  • PROXY_URL: 如果你的 VPS 本身网络不够直连,可能需要在这里填入一个前置代理地址。
  • SESSION_ID: 这里填入你从浏览器抓包获取的 Claude Session ID。获取方法很简单,F12 打开开发者工具 -> Application -> Cookies -> 找到对应域名的 Session 值。

3. 启动容器

保存退出后,执行启动命令:

docker-compose up -d

不出意外的话,容器应该已经启动了,默认监听端口通常是 80005000。你可以使用 curl 命令或者浏览器访问 http://你的服务器IP:端口 来查看是否返回正常的 JSON 提示。

四、 接入与测试

服务跑起来后,就是怎么用的问题了。以目前流行的 OpenAI 兼容客户端(如 LobeChat、NextChat)为例,接入非常简单。

  1. API 地址:填入你搭建服务的完整地址,例如 http://1.2.3.4:8000/v1/messages(具体路径视项目文档而定,有些可能兼容 /v1/chat/completions 格式)。
  2. API Key:填入你在 .env 文件中设置的 AUTH_KEYS

发送一条“你好”试试。如果几秒钟内能看到 Claude 的回复,恭喜你,反代成功!

五、 常见问题与避坑指南

虽然原理简单,但在实际操作中,大家往往会遇到几个“坑”:

  • Token 过期问题:这是最头疼的。Cookie 和 SessionID 都是有时效性的。如果一段时间不使用,或者 Anthropic 侧加强了风控,你的凭证就会失效。解决方案:尽量保持账号的活跃度,有的项目支持自动刷新 Session,建议优先选择带有此特性的分支。如果不行,只能重新抓包替换。

  • 请求频率限制:Claude 官方对请求频率有严格限制。如果你通过 API 高并发调用,极易触发 429 (Too Many Requests) 甚至直接封号。建议:仅供个人开发或轻度娱乐使用,严禁商业用途或高并发轰炸。

  • 流式输出卡顿:由于是多了一层转发,延迟在所难免。如果出现输出中断,可以检查 VPS 的网络质量,或者调整 Docker 的日志级别,有时候是因为缓冲区设置问题导致。

  • 账号风控:Anthropic 的风控算法一直在升级。如果发现你的账户无论怎么刷新 Session 都无法反代,很可能账号已经被标记(Flag)。此时建议停手,以免造成更大的损失。

六、 总结

通过 sub2api 反代 Claude,在目前官方 API 获取门槛较高的情况下,确实是一个不错的替代方案,特别适合开发者个人测试和学习 LLM 应用集成。

不过,这种方法本质上依赖于网页版会话的存活状态,稳定性肯定不如官方 API 直连。如果你仅仅是想体验一下 Claude 的强大能力,或者手头有闲置资源想“废物利用”,那么花个十几分钟搭一个绝对值得一试。

但如果你需要生产级的稳定性,还是建议寻找正规的购买渠道或者等待官方政策的进一步放开。毕竟,折腾是为了更好的体验,如果为了省点钱把账号搭进去了,那就得不偿失了。

希望这篇教程能帮到大家,如果有遇到其他奇葩报错,欢迎在交流区探讨!

标签: none

AI Skills Smart Station on Nick Launches

评论已关闭