原文地址:ttps://www.v2ex.com/t/1204217?p=2
这是一个部署在 Replit 上的 OpenAI 兼容反向代理网关,基于 Replit AI Integrations 免费调用 OpenAI 和 Anthropic 的模型,无需用户自备 API Key。
核心功能:
统一入口:通过单一 Base URL 同时访问 OpenAI(gpt-5.2、gpt-5-mini、gpt-5-nano、o4-mini、o3)和 Anthropic(claude-opus-4-6、claude-sonnet-4-6、claude-haiku-4-5)共 8 个模型。
双格式端点:/v1/chat/completions(OpenAI 兼容)和 /v1/messages(Anthropic 原生),适配所有主流 AI 客户端。
完整功能支持:流式输出(SSE)、Tool/Function Calling(两种格式间自动互转)、多轮对话、thinking 参数。
双重认证:同时支持 Authorization: Bearer 和 x-api-key 两种请求头。
性能优化:TCP 无延迟(禁用 Nagle 算法)、5 秒 keepalive 心跳,确保长连接稳定。
前端门户:深色主题的 API 文档页面,展示端点、模型列表、认证方式及第三方工具接入指南,所有内容支持一键复制。
根据该帖子的讨论内容,利用 Replit 免费额度获取 Claude 模型API的具体操作步骤可以细化为以下几个环节:
第一步:获取 Replit Pro 订阅(薅额度核心)
准备环境:建议使用干净的代理 IP(避免被秒封)和非主流邮箱(如 Gmail/Outlook 小号)。
使用邀请链接:通过评论区分享的特定邀请链接进入 Replit。这类链接通常带有 coupon=AGENT… 后缀,可以激活“0元购”Pro 会员的界面。
绑定支付方式:
页面会显示 0 刀订阅 Pro 一个月。
关键点:需要绑定信用卡。楼主建议使用 0 额度的虚拟卡(如某些海外虚拟卡平台生成的卡片),或者使用自己的 Visa/Mastercard 实体卡。
风险注意:如果用自己的实体卡,订阅成功后需注意解绑或取消自动续费,否则下月会产生 20 刀及以上的扣费。
确认额度:成功后,账号通常会有 20 刀的基础额度,加上该活动可能赠送的超额信用(Total 约 120 刀)。
第二步:部署反代项目(将 Replit 转为标准 API)
由于 Replit 内部的模型不能直接给外部软件用,需要部署一个“中转站”:
获取代码:寻找 GitHub 上的开源项目,如 Replit2Api 或类似的 CLIProxyAPI。如果原项目 404,可以搜索关键词找备份或类似实现。
创建 Repl:在 Replit 面板点击 Import from GitHub,填入项目地址。
配置 Secrets(环境变量):
在 Replit 左侧边栏找到 Secrets (🔒) 选项。
添加一个名为 PROXY_API_KEY 的变量,值由你自己定义(这就是你以后在 Cherry Studio 等软件里要填的 API Key)。
根据项目要求,可能还需要设置 SESSION_SECRET 等。
运行项目:点击顶部的 Run 按钮。Replit 会开始安装环境并启动 Web 服务。
第三步:获取并测试接口地址
获取 URL:项目运行后,Replit 界面上方会显示一个预览窗口,地址类似于 https://项目名–用户名.replit.app。
拼接 API 地址:最终的 Base URL 通常需要在末尾加上 /v1。
连接性测试:
在浏览器打开该地址,如果项目带有控制面板,可以直接看到模型列表(如 claude-3-opus-20240229)。
确认接口返回正常。
第四步:接入客户端工具
以 Cherry Studio 或 Cursor 为例:
服务商选择:选择 “OpenAI 兼容 (OpenAI Compatible)”。
![图片[1]-Replit 免费 Claude 3 Opus/Sonnet 教程-共赢传播|小程序源码付费版下载](https://buket2024ayuren.oss-accelerate.aliyuncs.com/wp-content/upload/2026/04/20260410092543101-800x460.jpg)
Base URL:填入你在第三步获取的地址(含 /v1)。
API Key:填入你在第二步 Secrets 中设置的 PROXY_API_KEY。
模型映射:手动添加或通过“获取模型列表”按钮拉取模型。
附带完整提示词
请帮我在 Replit pnpm monorepo 中从零构建一套完整的 OpenAI 兼容反向代理项目。
## 参考资料
本项目的代理核心逻辑参考并整合自以下开源仓库:
- **主要参考**:https://github.com/SilentFlower/replit2api
- 重点参考文件:`artifacts/api-server/src/routes/proxy.ts`(消息格式转换、流式处理、Tool Calling 实现)
- 前端门户参考:`artifacts/api-portal/src/App.tsx`
- 构建配置参考:`artifacts/api-server/build.mjs`(esbuild 打包策略,openai/@anthropic-ai/sdk 不作为 external)
在实现过程中,请先通过 webFetch 拉取上述仓库的关键文件作为实现基础,再结合以下要求集成到当前 Replit 项目中。
## 项目结构
使用 pnpm workspace monorepo,包含两个 artifact:
1. `artifacts/api-server` — Express 后端代理服务
2. `artifacts/api-portal` — React + Vite 前端文档门户
## 第一步:初始化环境
1. 开启 Replit AI Integrations:OpenAI 和 Anthropic 两个集成
2. 请求用户提供一个自定义 `PROXY_API_KEY` 密钥(用于保护代理入口),存入 Replit Secrets
3. 确保 SESSION_SECRET 也已设置
## 第二步:api-server 后端(artifacts/api-server)
技术栈:TypeScript + Express 5 + esbuild 打包
依赖:`openai@^6`、`@anthropic-ai/sdk`、`express@^5`、`pino`、`pino-http`、`cors`、`cookie-parser`
### app.ts
- 使用 express,body limit 50mb
- 挂载 cors(允许所有来源)
- 挂载 `/api/healthz` 健康检查路由,返回 `{ ok: true }`
- 挂载 `/v1` 路由指向 proxy router
- 启动监听 `process.env.PORT`
### routes/proxy.ts
实现以下功能(以参考仓库的 proxy.ts 为基础):
**模型列表**(硬编码):
- OpenAI 模型:gpt-5.2、gpt-5-mini、gpt-5-nano、o4-mini、o3
- Anthropic 模型:claude-opus-4-6、claude-sonnet-4-6、claude-haiku-4-5
**认证**(verifyBearer 函数):
- 同时支持 `Authorization: Bearer <key>` 和 `x-api-key: <key>` 两种请求头
- key 与 `process.env.PROXY_API_KEY` 比对,不匹配返回 401
**模型路由判断**:
- `model.startsWith("gpt-") || model.startsWith("o")` → OpenAI
- `model.startsWith("claude-")` → Anthropic
**prepareStreaming 函数**:
- 设置响应头:Content-Type: text/event-stream,Cache-Control: no-cache no-store,Connection: keep-alive,X-Accel-Buffering: no
- 调用 `res.flushHeaders()`
- 调用 `req.socket?.setNoDelay(true)` 禁用 TCP Nagle 算法,确保每个 token 立即发送
**OpenAI SDK 初始化**:
```ts
const openai = new OpenAI({
baseURL: process.env.AI_INTEGRATIONS_OPENAI_BASE_URL,
apiKey: process.env.AI_INTEGRATIONS_OPENAI_API_KEY ?? "dummy",
});






暂无评论内容