reverse longcat into openai
一个基于 Deno 的代理服务器,将 OpenAI API 格式的请求转换为 LongCat API 的请求格式。
- ✅ 支持 OpenAI 兼容的聊天补全接口
- ✅ 支持流式和非流式响应
- ✅ 多账户 Cookie 轮询机制
- ✅ 自动会话管理(创建后自动删除)
- ✅ 随机 User-Agent 轮换
- ✅ 随机延迟保护机制
- 一键部署: 使用 Docker Compose 快速启动服务
- Node.js 运行时: 基于 Bun 运行时,性能优异
- 自动重启: 容器异常退出时自动重启
- 轮询机制: 每个 Cookie 使用 3 次后自动切换到下一个
- 循环使用: 按顺序循环使用所有可用的 Cookie
- 自动跳过: 自动跳过失效的 Cookie
- 轮询失败检测: 记录每次轮询失败的次数
- 永久禁用: 连续 5 次轮询失败后永久禁用 Cookie
- 优雅降级: 单个 Cookie 失败时不影响用户体验
- 状态接口:
/stats接口查看所有 Cookie 状态 - 详细日志: 完整的成功/失败日志记录
- 统计信息: 成功率、失败次数、轮询失败计数等
原版运行:
- Deno 1.30.0 或更高版本
Docker 运行:
- Docker 和 Docker Compose
- 克隆或下载项目文件
- 配置环境变量(可选)
- 自行选合适的部署方式
# 直接运行
deno run --allow-net --allow-env deno.ts
# 或指定端口运行
deno run --allow-net --allow-env deno.ts --port=8000新建playground,复制deno.ts代码并粘贴,保存运行设置环境变量即可 具体如下:
- 将代码推送到 GitHub 仓库
- 连接到 Deno Deploy
- 配置环境变量
- 部署项目
修改Dockerfile-Deno为Dockerfile,自行构建镜像设置环境变量并运行
cf新建worker,复制worker.js代码并粘贴,保存并设置环境变量即可
# 复制环境变量模板
cp .env.example .env
# 编辑环境变量文件,设置 Cookie
nano .env- 启动服务:
# 构建并启动服务
docker-compose up -d
# 查看日志
docker logs -f longchat-proxy- 测试服务:
# 测试模型列表
curl http://localhost:8000/v1/models
# 测试聊天接口
curl -X POST http://localhost:8000/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "LongCat",
"messages": [{"role": "user", "content": "Hello!"}]
}'| 变量名 | 描述 | 默认值 |
|---|---|---|
API_BASEURL |
LongCat API 基础地址 | https://longcat.chat |
AUTH_COOKIES |
认证 Cookie,多个使用英文逗号分隔 | 复制cookie中的passport_token_key值 |
设置环境变量:
export AUTH_COOKIES="your_cookie_1,your_cookie_2"
export API_BASEURL="https://your-longcat-instance.com"
deno run --allow-net --allow-env main.tscurl http://localhost:8000/v1/modelscurl http://localhost:8000/stats响应示例:
{
"totalCookies": 3,
"currentCookie": 1,
"currentRequests": 2,
"cookies": [
{
"index": 1,
"successCount": 15,
"failureCount": 2,
"requestCount": 17,
"rotationFailures": 0,
"permanentlyDisabled": false,
"successRate": "88.2%",
"isActive": true
},
{
"index": 2,
"successCount": 12,
"failureCount": 1,
"requestCount": 13,
"rotationFailures": 3,
"permanentlyDisabled": false,
"successRate": "92.3%",
"isActive": false
},
{
"index": 3,
"successCount": 0,
"failureCount": 5,
"requestCount": 5,
"rotationFailures": 5,
"permanentlyDisabled": true,
"successRate": "0.0%",
"isActive": false
}
]
}字段说明:
index: Cookie 索引successCount: 成功次数failureCount: 失败次数requestCount: 总请求次数rotationFailures: 轮询失败次数permanentlyDisabled: 是否永久禁用successRate: 成功率isActive: 是否当前活跃
响应示例:
{
"object": "list",
"data": [
{
"id": "LongCat",
"object": "model",
"created": 1672531200,
"owned_by": "longcat"
},
{
"id": "LongCat-Search",
"object": "model",
"created": 1753777714,
"owned_by": "longcat"
}
]
}curl http://localhost:8000/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer your_cookie" \
-d '{
"model": "LongCat",
"messages": [
{"role": "user", "content": "你好,请介绍一下自己"}
],
"stream": false
}'curl http://localhost:8000/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer your_cookie" \
-d '{
"model": "LongCat",
"messages": [
{"role": "user", "content": "你好,请介绍一下自己"}
],
"stream": true
}'在请求头中提供 Cookie 信息:
Authorization: Bearer your_cookie_value或多个 Cookie(使用逗号分隔):
Authorization: Bearer cookie1,cookie2,cookie3特别说明:当Bearer null,false,none其中任意一个时,支持使用内置的cookie环境变量
- 本项目与LongCat官方无关
- 使用者需要自行获取Cookie并承担使用责任
- 项目仅用于学习和技术交流目的,禁止用于商业用途和滥用。
- 滥用可能导致账户无法正常使用。
目前个人觉得deno.ts完全够用,故暂不将更加智能化的cookie轮询禁用策略机制兼容到deno.ts中,除bun.ts代码,其他均采用随机轮询策略,如需体验更完善功能,可使用bun.ts运行,或自行参考bun.ts修改deno.ts或worker.ts代码,不过如果你尝试合入智能化cookie轮询及禁用策略,并经过测试没问题后,欢迎PR改进项目
- 顺序使用: Cookie1 → Cookie2 → Cookie3 → Cookie1 → ...
- 使用次数: 每个 Cookie 连续使用 3 次
- 自动切换: 使用完 3 次后自动切换到下一个
- 单次失败: 当前 Cookie 失败,立即尝试其他可用 Cookie
- 轮询失败: 每次轮询到某个 Cookie 时失败,增加轮询失败计数
- 成功重置: Cookie 成功时重置轮询失败计数
- 永久禁用: 轮询失败达到 5 次后永久禁用
[DEBUG] 使用 Cookie [1/3] (第1/3次, 轮询失败:0/5)
[DEBUG] Cookie 成功计数: 16/18 (重置轮询失败计数)
[DEBUG] 使用 Cookie [2/3] (第1/3次, 轮询失败:3/5)
[DEBUG] Cookie 轮询失败计数: 4/18 (轮询失败: 4/5)
[ERROR] Cookie [2] 轮询失败5次,已永久禁用
- 使用限制: 不推荐大量滥用,账户可能有被封禁的风险
- 延迟机制: 会话删除前会有 3-5 秒的随机延迟,避免请求过于频繁
- cookie获取: 目前cookie只能登陆账号后,从cookie中获取passport_token_key,故直接与你的美团账号挂钩,滥用可能会影响账号使用
- Cookie 安全: 不要公开分享你的 Cookie 信息
- 模型支持: 目前支持
LongCat和LongCat-Search(支持搜索)两种模型 - Docker 部署: 支持使用 Docker 部署,便于管理和监控
欢迎提交 Issue 和 Pull Request 来改进这个项目 感谢参与PR的贡献者