Photo by Unsplash
796 字
4 分钟
Cloudflare Worker零成本搭建ChatGPT API反向代理
Cloudflare Worker 零成本搭建 ChatGPT API 反向代理
OpenAI 大规模封号那段时间,很多人发现直接访问 API 会被限制。最稳妥的解决方案是自己搭建反向代理,把请求转发到 OpenAI 服务器。Cloudflare Worker 是个绝佳选择——免费、全球加速、部署简单。
项目地址
Waiting for api.github.com...
核心功能
- 反向代理:将请求转发到 OpenAI API
- 流式输出:支持 SSE 流式响应
- 访问密码:可设置 API 访问密码,防止被滥用
- 联网搜索:支持在请求中插入
WS[搜索内容]触发搜索 - 多 Key 轮询:支持配置多个 API Key 自动切换
部署步骤
1. 创建 Cloudflare Worker
- 登录 Cloudflare 控制台
- 进入 Workers & Pages
- 点击 “Create a Service”
- 选择 “Hello World” 模板
2. 粘贴代码
将 index.js 的内容粘贴到 Worker 编辑器中:
// 核心代码逻辑(简化版)addEventListener('fetch', event => { event.respondWith(handleRequest(event.request))})
async function handleRequest(request) { const url = new URL(request.url)
// 验证访问密码 const auth = request.headers.get('Authorization') if (!auth || !auth.includes(PASSWORD)) { return new Response('Unauthorized', { status: 401 }) }
// 转发到 OpenAI API const openaiUrl = 'https://api.openai.com' + url.pathname + url.search
const modifiedRequest = new Request(openaiUrl, { method: request.method, headers: { 'Authorization': 'Bearer ' + API_KEY, 'Content-Type': 'application/json' }, body: request.body })
return await fetch(modifiedRequest)}3. 配置环境变量
在 Worker 设置中添加:
| 变量名 | 说明 | 示例 |
|---|---|---|
PASSWORD | 访问密码(可选,默认cpcw) | mypassword |
API_KEY | OpenAI API Key(可选) | sk-xxx |
KAMIYA_TOKEN | Kamiya.dev 的 Key(可选) | sk-xxx |
多Key配置多个 Key 或密码可以用逗号分隔:
password1,password2
使用方法
作为 OpenAI API 使用
curl https://your-worker.your-subdomain.workers.dev/v1/chat/completions \ -H "Authorization: Bearer your-password" \ -H "Content-Type: application/json" \ -d '{ "model": "gpt-4", "messages": [{"role": "user", "content": "Hello"}] }'在客户端配置:
- API 地址:
https://your-worker.your-subdomain.workers.dev/v1/chat/completions - API Key:你的访问密码(或直接使用 OpenAI Key)
联网搜索功能
在请求中插入 WS[搜索内容] 触发联网搜索:
{ "model": "gpt-4", "messages": [ {"role": "user", "content": "给我现在的时间。WS[现在时间]WS[北京时间]"} ]}性能提示搜索会拖慢响应速度。默认每次提问最多 2 次搜索,单次回答总共最多 4 次搜索。
Kamiya API 支持
如果使用 Kamiya.dev 提供的 API:
curl https://your-worker.your-subdomain.workers.dev/kamiya/v1/chat/completions \ -H "Authorization: Bearer your-kamiya-token"生产环境优化
代码仓库提供了两个版本:
index.js- 源代码,带注释,方便修改production.js- 压缩后的代码,节省 Worker 空间
建议部署时使用 production.js。
为什么选择 Worker?
- 免费额度:每天 10 万次请求,对大部分人够用
- 全球加速:Cloudflare 的边缘网络让各地访问都很快
- 无需服务器:无需购买 VPS,没有维护成本
- 隐藏真实 IP:OpenAI 看到的是 Cloudflare 的 IP
常见问题
Q: 为什么还是被封号了? A: Worker 只能隐藏你的 IP,如果你的账号本身有问题(如使用虚拟信用卡、违反 ToS),仍然可能被封。
Q: 支持 Claude/Gemini 吗? A: 这个 Worker 专为 OpenAI API 设计。需要其他 AI 的代理,请参考类似思路自行修改。
Q: 流量超限怎么办? A: Cloudflare 免费版每天有 10 万次请求限制。超出后可以:
- 升级到付费计划
- 部署多个 Worker 分流
- 使用其他代理方案(如 VPS)
参考链接
- 项目地址:https://github.com/DoingDog/chatgpt-proxy-cloudflare-worker
- Cloudflare Workers 文档:https://developers.cloudflare.com/workers/
- OpenAI API 文档:https://platform.openai.com/docs
Cloudflare Worker零成本搭建ChatGPT API反向代理
https://im.awsl.app/posts/networking/016-cf-worker-chatgpt-proxy/