🌐 Clotho Relay

多提供商 AI API 代理服务

📖 服务说明

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
  • 使用 ReadableStreamfetch API 读取响应
  • 正确处理 SSE 格式的数据

📝 许可证

本项目基于 MIT 许可证开源。