Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

newChat2Api

基于 xiaoY233/Chat2API 改造的 OpenAI 兼容代理服务:通过登录 DeepSeek / Qwen / Z.ai 官方网页版,把网页端能力封装成标准 OpenAI API,实现"零成本"调用主流模型。

与原项目的区别

  • 原项目是 Electron 桌面工具(Koa 本地代理);本仓库将核心代理改为 Java (Spring Boot) 后端服务,可独立部署在服务器上,配合 Web 管理后台 + Electron 上报客户端使用,部署、运维更方便。
  • 模型提供商只保留三个:DeepSeek、Qwen AI、Z.ai(原项目的 GLM、Kimi、MiniMax、Mimo、Perplexity 等已移除)。

架构(三层)

模块 说明
backend-java Spring Boot 3.3 / Java 17 后端:OpenAI 兼容接口(/v1/*)、账号 / API Key / 模型映射管理、请求日志、会话、工具调用、上报接口
admin-web React + Vite 管理后台:账号管理、API Key 发放、模型映射、代理配置、日志查询
reporter-electron Electron 客户端:登录三家官方网页版,自动提取 token/cookie 并上报到后端

支持的提供商

  • DeepSeekchat.deepseek.com
  • Qwen AIchat.qwen.ai(支持思考模式 enable_thinking
  • Z.aichat.z.ai

快速开始

环境要求

  • JDK 17
  • MySQL 8(连接串带 createDatabaseIfNotExist=true,首次启动自动建库)

1. 启动后端

cd backend-java

# 构建可执行 jar
./gradlew bootJar            # Windows: gradlew.bat bootJar
java -jar build/libs/*.jar

开发模式直接运行:./gradlew bootRun(或 Windows gradlew.bat bootRun)。

2. 环境变量

变量 说明 默认值
CHAT2API_SERVER_PORT 服务端口 8080
CHAT2API_DB_URL MySQL 连接串 jdbc:mysql://127.0.0.1:3306/chat2api?...
CHAT2API_DB_USERNAME 数据库用户名 root
CHAT2API_DB_PASSWORD 数据库密码
CHAT2API_ENCRYPTION_KEY 账号凭据 AES 加密密钥 dev-only-change-this-secret-key
CHAT2API_ADMIN_USERNAME 管理后台用户名 admin
CHAT2API_ADMIN_PASSWORD 管理后台密码 admin123456
CHAT2API_JWT_SECRET JWT 签名密钥 dev-only-change-this-jwt-secret
CHAT2API_LOG_LEVEL 日志级别 INFO

⚠️ 生产环境务必修改 CHAT2API_ENCRYPTION_KEYCHAT2API_JWT_SECRETCHAT2API_ADMIN_PASSWORD

3. 启动管理后台

cd admin-web
npm install
npm run build        # 产物在 dist/

开发模式:npm run dev(默认 http://localhost:5174)。

生产环境建议用 Nginx 托管 dist/ 静态资源,并将 /api/v1 反向代理到后端(如 http://127.0.0.1:8080)。

4. 上报客户端(添加平台账号)

cd reporter-electron
npm install
npm run dev

工作流:

  1. 配置后端地址
  2. 注册上报客户端
  3. 选择提供商(DeepSeek / Qwen / Z.ai),打开官方登录页并登录
  4. 自动提取凭据(或手动粘贴凭据 JSON)
  5. 上报账号到后端

使用方法

  1. 管理员登录管理后台(默认 admin / admin123456)。
  2. 用 reporter-electron 登录并上报各平台账号;支持多账号,后端按负载均衡策略(轮询 / 优先填充 / 故障转移)自动分配。
  3. 在管理后台创建 API Keyc2a_xxx 格式),按需配置模型映射。
  4. 在任意 OpenAI 兼容客户端(OpenAI SDK、Chatbox、NextChat、One API、Cursor 等)中填写:
Base URL: http://127.0.0.1:8080/v1
API Key:  c2a_xxx

经域名部署时把 Base URL 换成 https://你的域名/v1

curl 示例

# 普通对话
curl -X POST 'http://127.0.0.1:8080/v1/chat/completions' \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer c2a_xxx' \
  -d '{
    "model": "模型名称",
    "messages": [{"role": "user", "content": "你好"}]
  }'

# 流式对话
curl -N -X POST 'http://127.0.0.1:8080/v1/chat/completions' \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer c2a_xxx' \
  -d '{
    "model": "模型名称",
    "stream": true,
    "messages": [{"role": "user", "content": "请写一段简短介绍"}]
  }'

# 查询可用模型
curl 'http://127.0.0.1:8080/v1/models' -H 'Authorization: Bearer c2a_xxx'

Qwen 思考模式参数

请求体可携带 enable_thinking 控制 Qwen 是否使用思考模式:

  • enable_thinking: true — 思考模式
  • enable_thinking: false — 快速模式
  • 不传 — 使用管理后台配置的默认值

致谢

本仓库基于 xiaoY233/Chat2API 修改,感谢原作者的开源贡献。

About

基于 Chat2API 改造的 OpenAI 兼容 API 代理:登录 DeepSeek / Qwen / Z.ai 官方网页版,零成本调用主流模型。Java 后端 + Web 管理台 + Electron 上报客户端。

Topics

Resources

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages