AI Proxy Worker 是一个部署在 Cloudflare Workers 上的无服务器代理脚本。 它主要用来解决一个核心问题:如何在前端应用或客户端中安全地调用AI模型服务,同时又不暴露关键的API密钥。 这个工具将用户的API密钥安全地存储在Cloudflare的服务器环境中,前端应用通过调用这个部署好的代理服务来间接访问AI模型。 如此一来,客户端代码中就不需要包含任何敏感的密钥信息,从而避免了密钥泄露的风险。项目利用Cloudflare遍布全球的边缘网络,可以实现非常快速的请求响应。 它目前已支持DeepSeek的系列模型,并计划在未来支持OpenAI、Claude等更多主流AI服务商,为开发者提供一个统一、安全且高效的AI接口调用方案。
功能列表
- API密钥安全隔离:将AI服务商提供的API密钥存储在Cloudflare服务端,客户端无需接触,彻底杜绝前端密钥泄露的风险。
- 毫秒级快速响应:借助Cloudflare的全球边缘网络,代理服务可以就近处理用户请求,实现极低的延迟。
- 支持流式传输:完整支持SSE(Server-Sent Events)流式响应,可以让AI聊天应用获得打字机一样的实时对话效果。
- 生产环境开箱即用:项目内置了完善的错误处理、安全防护和日志监控机制,稳定性高。
- 零成本起步:可以完全借助Cloudflare Workers的免费额度运行,对于个人开发者或小型项目来说,基本没有服务器成本。
- 多模型支持:目前版本完整支持DeepSeek的通用对话和复杂推理模型,未来计划扩展支持OpenAI、Claude和Gemini等多种AI服务。
- 自定义访问控制:用户可以为自己的代理服务设置一个独立的访问密钥(
PROXY_KEY
),确保只有授权的应用才能使用。
使用帮助
AI-Proxy-Worker的设计目标是让部署和使用过程尽可能简单。开发者不需要管理复杂的后端服务器,只需要一个Cloudflare账号和AI服务商提供的API密钥,就可以在几分钟内搭建起一个安全、高效的私有AI代理。
部署前准备
在开始之前,请确保你已经准备好以下两样东西:
- 一个Cloudflare账号:Cloudflare Workers是部署此代理服务的基础。如果你还没有账号,可以前往Cloudflare官网免费注册。
- DeepSeek API密钥:你需要从DeepSeek开放平台获取你的API密钥。这是代理服务用来请求官方模型的凭证。
部署方式一:使用命令行(推荐)
通过Cloudflare提供的wrangler
命令行工具进行部署是最灵活和快捷的方式。
第一步:安装和登录Wrangler
Wrangler是Cloudflare官方的命令行工具,用于管理Workers项目。如果你的电脑上没有Node.js环境,请先安装它。
- 打开你的终端(命令行工具)。
- 执行以下命令,全局安装
wrangler
:npm install -g wrangler
- 安装完成后,执行登录命令,它会打开一个浏览器窗口让你授权登录你的Cloudflare账户:
wrangler login
第二步:获取并进入项目
- 使用
git
克隆本项目到你的本地电脑:git clone https://github.com/imnotnoahhh/AI-Proxy-Worker.git
- 进入刚刚克隆的项目目录:
cd AI-Proxy-Worker
第三步:配置密钥
代理服务需要两个关键的密钥信息,我们需要通过wrangler
的安全方式将它们配置到Cloudflare环境中。
- 配置DeepSeek API密钥:执行以下命令。在提示符后,粘贴你从DeepSeek官方获取的API密钥,然后按回车。
wrangler secret put DEEPSEEK_API_KEY
- 配置代理访问密钥(推荐):为了防止你的代理服务被滥用,强烈建议设置一个自定义的访问密码。这个密码是你自己设定的,比如一个复杂的随机字符串。
wrangler secret put PROXY_KEY
在提示符后,输入你设定的访问密码,然后按回车。
第四步:部署到Cloudflare
完成以上步骤后,只需一个命令即可将代理服务发布到Cloudflare的全球网络上:
wrangler publish
部署成功后,终端会显示你的代理服务地址,通常格式是 https://ai-proxy-worker.<你的子域名>.workers.dev
。请记下这个地址。
部署方式二:使用网页一键部署
如果你不熟悉命令行操作,也可以直接通过Cloudflare的网页界面完成部署。
- 访问项目GitHub主页。
- 点击页面上的 “Deploy to Cloudflare Workers” 按钮。
- 页面会跳转到Cloudflare的部署界面,系统会自动为你创建一个新的GitHub仓库副本。
- 按照页面提示,授权Cloudflare访问你的GitHub仓库。
- 在部署设置页面,找到环境变量或密钥(Secrets)配置部分。
- 添加两个密钥条目:
DEEPSEEK_API_KEY
:值为你的DeepSeek官方密钥。PROXY_KEY
:值为你自己设定的代理访问密码。
- 点击“部署”按钮,等待Cloudflare完成构建和发布。
如何调用和测试代理服务
部署成功后,你的代理服务就已经在全球范围内可用了。你可以使用任何HTTP客户端工具(如curl
或Postman)或在你自己的应用程序代码中进行调用。
代理服务的接口路径是 /chat
。调用时,你需要提供两个关键的HTTP头信息:
Content-Type
:application/json
Authorization
:Bearer <你的PROXY_KEY>
(这里的<你的PROXY_KEY>
要替换成你部署时设置的那个访问密码)。
使用curl
进行测试的示例:
打开终端,将下面命令中的https://your-worker.workers.dev
替换成你的实际代理地址,并将YOUR_PROXY_KEY
替换成你设定的访问密码。
curl -X POST https://your-worker.workers.dev/chat \
-H "Authorization: Bearer YOUR_PROXY_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "deepseek-chat",
"messages": [{"role": "user", "content": "你好!请介绍一下你自己。"}]
}'
如果一切正常,你将会收到来自DeepSeek模型的回复。
在JavaScript前端应用中集成:
你可以使用fetch
函数来调用代理服务。
async function callMyAIProxy() {
const proxyUrl = 'https://your-worker.workers.dev/chat'; // 你的代理地址
const proxyKey = 'YOUR_PROXY_KEY'; // 你的访问密码
const response = await fetch(proxyUrl, {
method: 'POST',
headers: {
'Authorization': `Bearer ${proxyKey}`,
'Content-Type': 'application/json'
},
body: JSON.stringify({
model: 'deepseek-chat',
messages: [{ role: 'user', content: '你好!' }]
})
});
const data = await response.json();
console.log(data.choices[0].message.content);
}
callMyAIProxy();
通过以上步骤,你就拥有了一个完全由自己掌控、安全且高性能的AI代理服务。
应用场景
- Web和移动应用集成
对于需要在网页或手机App中集成AI聊天、内容生成等功能的开发者来说,这是一个理想的解决方案。开发者可以将AI功能直接嵌入到产品中,而不用担心部署在客户端的代码会暴露API密钥,从而保障了账户安全。 - 内部工具和自动化流程
企业或团队可以利用此代理为内部工具(如客服系统、文档分析工具)提供统一的AI能力入口。通过设置代理访问密钥,可以有效控制内部不同应用对AI资源的调用权限,方便管理。 - 解决网络访问限制
对于一些无法直接访问特定AI服务(如OpenAI)的地区或网络环境,可以将此代理部署在能够正常访问的Cloudflare网络上。之后,客户端应用只需访问这个没有限制的代理地址,即可间接使用目标AI服务。 - 教育和原型开发
学生、研究人员或初创团队在进行AI应用原型开发时,可以使用这个零成本的方案快速验证想法。部署过程简单,无需维护服务器,可以将精力完全集中在应用创新上。
QA
- 这个代理工具是免费的吗?
AI-Proxy-Worker项目本身是开源免费的。它的运行依赖于Cloudflare Workers服务,该服务提供了一个非常慷慨的免费套餐(例如每天100,000次请求),对于绝大多数个人开发者和小型项目来说完全够用,所以可以实现零成本使用。 - 为什么不直接在前端调用AI官方的API?
主要原因是安全问题。如果直接在前端代码中写入API密钥,任何访问你网站的人都可以通过浏览器的开发者工具轻易地看到你的密钥。一旦密钥泄露,他人就可以盗用你的额度,产生不必要的费用,甚至滥用服务。AI-Proxy-Worker通过将密钥保存在服务端,彻底避免了这个问题。 - 它和Cloudflare官方的AI Gateway有什么区别?
Cloudflare AI Gateway是一个功能更全面的AI网关,提供了缓存、速率限制、分析和日志记录等高级功能,更适合大型企业管理复杂的AI应用。而AI-Proxy-Worker则是一个轻量级、专注于安全代理和API转发的解决方案,部署极其简单,并且完全免费,更适合开发者快速、低成本地解决核心的安全调用问题。 - 我能用它来代理除了DeepSeek之外的其他模型吗?
当前版本主要为DeepSeek API做了适配。 但是,根据项目的发展路线图,未来计划增加对OpenAI、Claude、Gemini等更多主流AI模型的支持,最终目标是成为一个通用的AI API代理。 - 部署这个Worker是否违反Cloudflare的服务条款?
不违反。此类用途属于应用层的数据转发,将合法的API请求中继到你有权访问的第三方服务。这与Cloudflare禁止的通用网络代理(如VPN流量混淆)有本质区别,是其平台所允许的正常使用场景。