📖 服务说明
Clotho Relay 是一个基于 Cloudflare Pages Functions 构建的 AI API 代理服务,帮助国内用户解决访问 OpenAI、Anthropic Claude 和 Google Gemini API 的网络问题。
✅ 核心特性:
- 支持 OpenAI、Anthropic Claude、Google Gemini 三大 AI 提供商
- 完整的 CORS 跨域支持,可从浏览器直接调用
- 支持流式响应(SSE streaming)
- 无需在服务器存储 API 密钥,安全可靠
- 部署在 Cloudflare 边缘网络,低延迟高可用
🚀 支持的 API 提供商
OpenAI GPT
端点:
/api/openai/*
认证方式:
请求头 Authorization: Bearer YOUR_API_KEY
Anthropic Claude
端点:
/api/anthropic/*
认证方式:
请求头 x-api-key: YOUR_API_KEY
Google Gemini
端点:
/api/gemini/*
认证方式:
请求头 x-goog-api-key: YOUR_KEY 或查询参数 ?key=YOUR_KEY
💡 使用示例
OpenAI 聊天补全
curl -X POST https://YOUR_DOMAIN/api/openai/v1/chat/completions \
-H "Authorization: Bearer sk-YOUR_OPENAI_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-4",
"messages": [{"role": "user", "content": "Hello!"}],
"stream": true
}'Anthropic Claude 消息
curl -X POST https://YOUR_DOMAIN/api/anthropic/v1/messages \
-H "x-api-key: sk-ant-YOUR_ANTHROPIC_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "claude-3-sonnet-20240229",
"messages": [{"role": "user", "content": "Hello!"}],
"max_tokens": 1024
}'Google Gemini 生成内容
curl -X POST "https://YOUR_DOMAIN/api/gemini/v1beta/models/gemini-pro:generateContent?key=YOUR_GEMINI_KEY" \
-H "Content-Type: application/json" \
-d '{
"contents": [{
"parts": [{"text": "Hello!"}]
}]
}'JavaScript 使用示例(浏览器)
// OpenAI API 调用
const response = await fetch('https://YOUR_DOMAIN/api/openai/v1/chat/completions', {
method: 'POST',
headers: {
'Authorization': 'Bearer sk-YOUR_OPENAI_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
model: 'gpt-4',
messages: [{ role: 'user', content: 'Hello!' }],
stream: true
})
});
// 处理流式响应
const reader = response.body.getReader();
const decoder = new TextDecoder();
while (true) {
const { done, value } = await reader.read();
if (done) break;
const chunk = decoder.decode(value);
console.log(chunk);
}⚙️ 路由规则
| 代理路径 | 目标 API |
|---|---|
/api/openai/* |
https://api.openai.com/* |
/api/anthropic/* |
https://api.anthropic.com/* |
/api/gemini/* |
https://generativelanguage.googleapis.com/* |
/health |
服务健康检查 |
🔒 安全说明
- API 密钥安全:您的 API 密钥通过请求头传递,代理服务不会存储任何密钥
- HTTPS 加密:所有请求通过 HTTPS 加密传输(Cloudflare 自动提供)
- 无日志记录:不记录 API 密钥或请求/响应内容,仅记录元数据用于调试
- CORS 支持:允许跨域请求,方便浏览器端直接调用
📊 性能指标
- 延迟:< 50ms(代理层增加的延迟)
- 可用性:99.9%+(基于 Cloudflare 边缘网络)
- 并发:10,000+ 请求/分钟(免费套餐)
- 全球节点:部署在 Cloudflare 全球边缘网络
🛠️ 故障排除
401 错误 - 缺少 API 密钥
请确保在请求中包含正确的认证信息:
- OpenAI:
Authorization: Bearer YOUR_KEY - Anthropic:
x-api-key: YOUR_KEY - Gemini:
x-goog-api-key: YOUR_KEY或?key=YOUR_KEY
CORS 错误
本服务已启用完整的 CORS 支持。如果仍遇到 CORS 错误,请检查:
- 是否使用了正确的域名
- 浏览器是否阻止了跨域请求
- 是否包含了所有必需的请求头
流式响应问题
确保:
- 请求中包含
"stream": true - 使用
ReadableStream或fetchAPI 读取响应 - 正确处理 SSE 格式的数据
📝 许可证
本项目基于 MIT 许可证开源。