# 部署教程
**🌍 Language / 语言** [🇺🇸 English](./Deployment.en.md) | [🇨🇳 中文](./Deployment.md)
本指南详细介绍如何将 AI Proxy Worker 部署到 Cloudflare Workers 平台。我们提供两种部署方式,你可以根据自己的偏好选择。 ## 🎯 部署方式对比 | 特性 | 本地 CLI 部署 | 网页部署 | |------|---------------|----------| | **难度** | 中等 | 简单 | | **速度** | 快速 | 中等 | | **自动化** | 高 | 低 | | **版本控制** | 支持 Git | 手动管理 | | **批量操作** | 支持脚本 | 单个操作 | | **推荐场景** | 开发者、CI/CD | 新手、快速测试 | ## 📋 部署前准备 ### 1. 注册 Cloudflare 账户 1. 访问 [Cloudflare](https://www.cloudflare.com/) 2. 点击 **"Sign Up"** 注册免费账户 3. 验证邮箱地址 4. 登录到 Cloudflare Dashboard ### 2. 获取 DeepSeek API 密钥 1. 访问 [DeepSeek 开放平台](https://platform.deepseek.com/) 2. 注册并登录账户 3. 前往 **"API Keys"** 页面 4. 点击 **"Create new secret key"** 5. 复制并保存密钥(**注意:只显示一次**) ### 3. 准备项目文件 确保你已经完成了 [安装指南](./Installation.md) 中的步骤,并且项目文件已就绪。 ## 🚀 方法一:本地 CLI 部署(推荐) 这是推荐的部署方式,特别适合开发者和需要自动化部署的场景。 ### 步骤 1:登录 Cloudflare ```bash # 登录 Cloudflare 账户 wrangler login ``` 这会: 1. 打开浏览器窗口 2. 跳转到 Cloudflare 授权页面 3. 点击 **"Allow"** 授权 Wrangler 4. 自动返回终端,显示登录成功 **故障排除:** ```bash # 如果浏览器没有自动打开 wrangler login --browser=false # 手动复制显示的 URL 到浏览器 # 检查登录状态 wrangler whoami ``` ### 步骤 2:配置项目信息 编辑 `wrangler.toml` 文件(可选): ```toml name = "ai-proxy-worker" # 你的 Worker 名称,可以修改 main = "worker.js" compatibility_date = "2025-01-01" # 可选:自定义域名配置 # [[routes]] # pattern = "ai.yourdomain.com/*" # zone_name = "yourdomain.com" ``` ### 步骤 3:设置环境变量 设置必需的密钥: ```bash # 设置 DeepSeek API 密钥(必需) wrangler secret put DEEPSEEK_API_KEY # 输入提示:请输入 DEEPSEEK_API_KEY 的值: # 粘贴你的 DeepSeek API 密钥 # 设置代理访问密钥(强烈推荐) wrangler secret put PROXY_KEY # 输入提示:请输入 PROXY_KEY 的值: # 输入一个自定义的强密码,如:sk-proxy-your-secret-key-2025 ``` **密钥设置建议:** - `DEEPSEEK_API_KEY`: 从 DeepSeek 平台获取的真实 API 密钥 - `PROXY_KEY`: 自定义的访问密钥,建议使用强密码生成器 ### 步骤 4:部署到 Cloudflare Workers ```bash # 部署项目 wrangler publish ``` 成功输出示例: ``` ⛅️ wrangler 3.15.0 ------------------- ✨ Successfully published your Worker to https://ai-proxy-worker.your-subdomain.workers.dev ✨ Success! Your worker is now live at https://ai-proxy-worker.your-subdomain.workers.dev ``` ### 步骤 5:测试部署 ```bash # 健康检查 curl https://ai-proxy-worker.your-subdomain.workers.dev/ # API 测试 curl -X POST https://ai-proxy-worker.your-subdomain.workers.dev/chat \ -H "Authorization: Bearer YOUR_PROXY_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "deepseek-chat", "messages": [{"role": "user", "content": "你好!"}] }' ``` ## 🌐 方法二:Cloudflare 网页部署 适合新手用户或需要快速测试的场景。 ### 步骤 1:准备代码文件 1. 打开项目目录中的 `worker.js` 文件 2. 全选并复制所有代码内容(Ctrl+A, Ctrl+C) ### 步骤 2:创建 Worker 1. 登录 [Cloudflare Dashboard](https://dash.cloudflare.com/) 2. 在左侧菜单中点击 **"Workers & Pages"** 3. 点击 **"Create application"** 按钮 4. 选择 **"Create Worker"** 选项 5. 输入 Worker 名称,如:`ai-proxy-worker` 6. 点击 **"Deploy"** 按钮 ### 步骤 3:编辑代码 1. 在 Worker 页面点击 **"Edit code"** 按钮 2. 删除编辑器中的默认代码 3. 粘贴复制的 `worker.js` 内容 4. 点击 **"Save and deploy"** 按钮 ### 步骤 4:设置环境变量 1. 返回 Worker 主页面 2. 点击 **"Settings"** 标签页 3. 找到 **"Environment variables"** 部分 4. 点击 **"Add variable"** 按钮 添加以下变量: **变量 1:DEEPSEEK_API_KEY** - Variable name: `DEEPSEEK_API_KEY` - Value: 你的 DeepSeek API 密钥 - Type: **Secret** (重要:选择加密类型) **变量 2:PROXY_KEY** - Variable name: `PROXY_KEY` - Value: 自定义的访问密钥 - Type: **Secret** 5. 点击 **"Save and deploy"** 按钮 ### 步骤 5:获取部署 URL 部署完成后,你会看到 Worker 的访问 URL: ``` https://ai-proxy-worker.your-subdomain.workers.dev ``` ### 步骤 6:测试部署 使用浏览器或 curl 测试: ```bash # 健康检查 curl https://your-worker-url.workers.dev/ # API 调用测试 curl -X POST https://your-worker-url.workers.dev/chat \ -H "Authorization: Bearer YOUR_PROXY_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "deepseek-chat", "messages": [{"role": "user", "content": "Hello!"}] }' ``` ## ⚙️ 高级部署配置 ### 自定义域名 如果你有自己的域名,可以绑定到 Worker: #### 方法 1:通过 Dashboard 1. 在 Worker 页面点击 **"Triggers"** 标签 2. 点击 **"Add Custom Domain"** 3. 输入你的域名,如:`api.yourdomain.com` 4. 按照提示完成 DNS 配置 #### 方法 2:通过 wrangler.toml ```toml name = "ai-proxy-worker" main = "worker.js" compatibility_date = "2025-01-01" [[routes]] pattern = "api.yourdomain.com/*" zone_name = "yourdomain.com" ``` ### 环境配置 为不同环境设置不同的配置: ```toml name = "ai-proxy-worker" main = "worker.js" compatibility_date = "2025-01-01" # 生产环境 [env.production] name = "ai-proxy-worker-prod" vars = { ENVIRONMENT = "production" } # 开发环境 [env.development] name = "ai-proxy-worker-dev" vars = { ENVIRONMENT = "development" } ``` 部署到特定环境: ```bash # 部署到开发环境 wrangler publish --env development # 部署到生产环境 wrangler publish --env production ``` ## 📊 部署后验证 ### 1. 功能测试 **健康检查:** ```bash curl https://your-worker.workers.dev/ # 期望响应:{"status":"ok","service":"AI Proxy Worker","timestamp":"..."} ``` **API 调用测试:** ```bash 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": "你好,请介绍一下你自己"} ] }' ``` **流式响应测试:** ```bash curl -X POST https://your-worker.workers.dev/chat \ -H "Authorization: Bearer YOUR_PROXY_KEY" \ -H "Content-Type: application/json" \ -H "Accept: text/event-stream" \ -d '{ "model": "deepseek-chat", "messages": [{"role": "user", "content": "写一首短诗"}], "stream": true }' ``` ### 2. 性能测试 ```bash # 响应时间测试 curl -w "@curl-format.txt" -s -o /dev/null https://your-worker.workers.dev/ # 创建 curl-format.txt 文件: echo " time_namelookup: %{time_namelookup}\n time_connect: %{time_connect}\n time_appconnect: %{time_appconnect}\n time_pretransfer: %{time_pretransfer}\n time_redirect: %{time_redirect}\n time_starttransfer: %{time_starttransfer}\n ----------\n time_total: %{time_total}\n" > curl-format.txt ``` ### 3. 错误处理测试 ```bash # 测试未授权访问 curl -X POST https://your-worker.workers.dev/chat \ -H "Content-Type: application/json" \ -d '{"model":"deepseek-chat","messages":[]}' # 期望:401 Unauthorized # 测试无效路径 curl https://your-worker.workers.dev/invalid-path # 期望:404 Not Found # 测试无效请求体 curl -X POST https://your-worker.workers.dev/chat \ -H "Authorization: Bearer YOUR_PROXY_KEY" \ -H "Content-Type: application/json" \ -d 'invalid-json' # 期望:400 Bad Request ``` ## 🔄 更新和维护 ### 更新代码 **CLI 方式:** ```bash # 修改代码后重新部署 wrangler publish # 查看部署历史 wrangler deployments list ``` **网页方式:** 1. 在 Cloudflare Dashboard 中找到你的 Worker 2. 点击 **"Edit code"** 3. 修改代码 4. 点击 **"Save and deploy"** ### 管理环境变量 ```bash # 查看已设置的密钥(不显示值) wrangler secret list # 更新密钥 wrangler secret put DEEPSEEK_API_KEY # 删除密钥 wrangler secret delete OLD_KEY_NAME ``` ### 监控和日志 ```bash # 实时查看日志 wrangler tail # 查看部署状态 wrangler deployments list # 查看使用统计 wrangler metrics ``` ## 🚨 常见部署问题 ### 认证失败 ```bash # 重新登录 wrangler logout wrangler login ``` ### 部署超时 ```bash # 检查网络连接 curl -I https://api.cloudflare.com/ # 使用代理(如果需要) wrangler publish --proxy http://proxy.example.com:8080 ``` ### 环境变量未生效 ```bash # 确认密钥已设置 wrangler secret list # 重新设置密钥 wrangler secret put DEEPSEEK_API_KEY ``` ### Worker 无法访问 1. 检查 Worker 状态是否为 "Active" 2. 确认 URL 拼写正确 3. 查看 Cloudflare 服务状态页面 ## 🎯 下一步 部署完成后,你可以: 1. **[配置 API 使用](./API-Reference.md)** - 了解完整的 API 文档 2. **[集成到应用](./Examples.md)** - 查看各种编程语言的集成示例 3. **[监控和维护](./Monitoring.md)** - 设置监控和日志分析 4. **[性能优化](./Performance)** - 优化 Worker 性能 --- **部署成功?** 👉 [开始使用 API](./API-Reference.md)