[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-72258":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":18,"compositeScore":20,"rankGlobal":10,"rankLanguage":10,"license":21,"archived":22,"fork":22,"defaultBranch":23,"hasWiki":24,"hasPages":22,"topics":25,"createdAt":10,"pushedAt":10,"updatedAt":26,"readmeContent":27,"aiSummary":28,"trendingCount":16,"starSnapshotCount":16,"syncStatus":29,"lastSyncTime":30,"discoverSource":31},72258,"chat2api","lanqian528\u002Fchat2api","lanqian528","A service that can convert ChatGPT on the web to OpenAI API format.","",null,"Python",3699,712,19,31,0,7,21,89,93.96,"MIT License",false,"main",true,[],"2026-06-12 04:01:04","# CHAT2API\n\n🤖 一个简单的 ChatGPT TO API 代理\n\n🌟 无需账号即可使用免费、无限的 `GPT-3.5`\n\n💥 支持 AccessToken 使用账号，支持 `O3-mini\u002Fhigh`、`O1\u002Fmini\u002FPro`、`GPT-4\u002F4o\u002Fmini`、`GPTs`\n\n🔍 回复格式与真实 API 完全一致，适配几乎所有客户端\n\n👮 配套用户管理端[Chat-Share](https:\u002F\u002Fgithub.com\u002Fh88782481\u002FChat-Share)使用前需提前配置好环境变量（ENABLE_GATEWAY设置为True，AUTO_SEED设置为False）\n\n\n## 交流群\n\n[https:\u002F\u002Ft.me\u002Fchat2api](https:\u002F\u002Ft.me\u002Fchat2api)\n\n要提问请先阅读完仓库文档，尤其是常见问题部分。\n\n提问时请提供：\n\n1. 启动日志截图（敏感信息打码，包括环境变量和版本号）\n2. 报错的日志信息（敏感信息打码）\n3. 接口返回的状态码和响应体\n\n## 功能\n\n### 最新版本号存于 `version.txt`\n\n### 逆向API 功能\n> - [x] 流式、非流式传输\n> - [x] 免登录 GPT-3.5 对话\n> - [x] GPT-3.5 模型对话（传入模型名不包含 gpt-4，则默认使用 gpt-3.5，也就是 text-davinci-002-render-sha）\n> - [x] GPT-4 系列模型对话（传入模型名包含: gpt-4，gpt-4o，gpt-4o-mini，gpt-4-moblie 即可使用对应模型，需传入 AccessToken）\n> - [x] O1 系列模型对话（传入模型名包含 o1-preview，o1-mini 即可使用对应模型，需传入 AccessToken）\n> - [x] GPT-4 模型画图、代码、联网\n> - [x] 支持 GPTs（传入模型名：gpt-4-gizmo-g-*）\n> - [x] 支持 Team Plus 账号（需传入 team account id）\n> - [x] 上传图片、文件（格式为 API 对应格式，支持 URL 和 base64）\n> - [x] 可作为网关使用，可多机分布部署\n> - [x] 多账号轮询，同时支持 `AccessToken` 和 `RefreshToken`\n> - [x] 请求失败重试，自动轮询下一个 Token\n> - [x] Tokens 管理，支持上传、清除\n> - [x] 定时使用 `RefreshToken` 刷新 `AccessToken` \u002F 每次启动将会全部非强制刷新一次，每4天晚上3点全部强制刷新一次。\n> - [x] 支持文件下载，需要开启历史记录\n> - [x] 支持 `O3-mini\u002Fhigh`、`O1\u002Fmini\u002FPro` 等模型推理过程输出\n\n### 官网镜像 功能\n> - [x] 支持官网原生镜像\n> - [x] 后台账号池随机抽取，`Seed` 设置随机账号\n> - [x] 输入 `RefreshToken` 或 `AccessToken` 直接登录使用\n> - [x] 支持 `O3-mini\u002Fhigh`、`O1\u002Fmini\u002FPro`、`GPT-4\u002F4o\u002Fmini`\n> - [x] 敏感信息接口禁用、部分设置接口禁用\n> - [x] \u002Flogin 登录页面，注销后自动跳转到登录页面\n> - [x] \u002F?token=xxx 直接登录, xxx 为 `RefreshToken` 或 `AccessToken` 或 `SeedToken` (随机种子)\n> - [x] 支持不同 SeedToken 会话隔离\n> - [x] 支持 `GPTs` 商店\n> - [x] 支持 `DeepReaserch`、`Canvas` 等官网独有功能\n> - [x] 支持切换各国语言\n\n\n> TODO\n> - [ ] 暂无，欢迎提 `issue`\n\n## 逆向API\n\n完全 `OpenAI` 格式的 API ，支持传入 `AccessToken` 或 `RefreshToken`，可用 GPT-4, GPT-4o, GPT-4o-Mini, GPTs, O1-Pro, O1, O1-Mini, O3-Mini, O3-Mini-High：\n\n```bash\ncurl --location 'http:\u002F\u002F127.0.0.1:5005\u002Fv1\u002Fchat\u002Fcompletions' \\\n--header 'Content-Type: application\u002Fjson' \\\n--header 'Authorization: Bearer {{Token}}' \\\n--data '{\n     \"model\": \"gpt-3.5-turbo\",\n     \"messages\": [{\"role\": \"user\", \"content\": \"Say this is a test!\"}],\n     \"stream\": true\n   }'\n```\n\n将你账号的 `AccessToken` 或 `RefreshToken` 作为 `{{ Token }}` 传入。\n也可填写你设置的环境变量 `Authorization` 的值, 将会随机选择后台账号\n\n如果有team账号，可以传入 `ChatGPT-Account-ID`，使用 Team 工作区：\n\n- 传入方式一：\n`headers` 中传入 `ChatGPT-Account-ID`值\n\n- 传入方式二：\n`Authorization: Bearer \u003CAccessToken 或 RefreshToken>,\u003CChatGPT-Account-ID>`\n\n如果设置了 `AUTHORIZATION` 环境变量，可以将设置的值作为 `{{ Token }}` 传入进行多 Tokens 轮询。\n\n> - `AccessToken` 获取: chatgpt官网登录后，再打开 [https:\u002F\u002Fchatgpt.com\u002Fapi\u002Fauth\u002Fsession](https:\u002F\u002Fchatgpt.com\u002Fapi\u002Fauth\u002Fsession) 获取 `accessToken` 这个值。\n> - `RefreshToken` 获取: 此处不提供获取方法。\n> - 免登录 gpt-3.5 无需传入 Token。\n\n## Tokens 管理\n\n1. 配置环境变量 `AUTHORIZATION` 作为 `授权码` ，然后运行程序。\n\n2. 访问 `\u002Ftokens` 或者 `\u002F{api_prefix}\u002Ftokens` 可以查看现有 Tokens 数量，也可以上传新的 Tokens ，或者清空 Tokens。\n\n3. 请求时传入 `AUTHORIZATION` 中配置的 `授权码` 即可使用轮询的Tokens进行对话\n\n![tokens.png](docs\u002Ftokens.png)\n\n## 官网原生镜像\n\n1. 配置环境变量 `ENABLE_GATEWAY` 为 `true`，然后运行程序, 注意开启后别人也可以直接通过域名访问你的网关。\n\n2. 在 Tokens 管理页面上传 `RefreshToken` 或 `AccessToken`\n\n3. 访问 `\u002Flogin` 到登录页面\n\n![login.png](docs\u002Flogin.png)\n\n4. 进入官网原生镜像页面使用\n\n![chatgpt.png](docs\u002Fchatgpt.png)\n\n## 环境变量\n\n每个环境变量都有默认值，如果不懂环境变量的含义，请不要设置，更不要传空值，字符串无需引号。\n\n| 分类   | 变量名               | 示例值                                                         | 默认值                   | 描述                                                           |\n|------|-------------------|-------------------------------------------------------------|-----------------------|--------------------------------------------------------------|\n| 安全相关 | API_PREFIX        | `your_prefix`                                               | `None`                | API 前缀密码，不设置容易被人访问，设置后需请求 `\u002Fyour_prefix\u002Fv1\u002Fchat\u002Fcompletions` |\n|      | AUTHORIZATION     | `your_first_authorization`,\u003Cbr\u002F>`your_second_authorization` | `[]`                  | 你自己为使用多账号轮询 Tokens 设置的授权码，英文逗号分隔                             |\n|      | AUTH_KEY          | `your_auth_key`                                             | `None`                | 私人网关需要加`auth_key`请求头才设置该项                                    |\n| 请求相关 | CHATGPT_BASE_URL  | `https:\u002F\u002Fchatgpt.com`                                       | `https:\u002F\u002Fchatgpt.com` | ChatGPT 网关地址，设置后会改变请求的网站，多个网关用逗号分隔                           |\n|      | PROXY_URL         | `http:\u002F\u002Fip:port`,\u003Cbr\u002F>`http:\u002F\u002Fusername:password@ip:port`    | `[]`                  | 全局代理 URL，出 403 时启用，多个代理用逗号分隔                                 |\n|      | EXPORT_PROXY_URL  | `http:\u002F\u002Fip:port`或\u003Cbr\u002F>`http:\u002F\u002Fusername:password@ip:port`    | `None`                | 出口代理 URL，防止请求图片和文件时泄漏源站 ip                                   |\n| 功能相关 | HISTORY_DISABLED  | `true`                                                      | `true`                | 是否不保存聊天记录并返回 conversation_id                                 |\n|      | POW_DIFFICULTY    | `00003a`                                                    | `00003a`              | 要解决的工作量证明难度，不懂别设置                                            |\n|      | RETRY_TIMES       | `3`                                                         | `3`                   | 出错重试次数，使用 `AUTHORIZATION` 会自动随机\u002F轮询下一个账号                      |\n|      | CONVERSATION_ONLY | `false`                                                     | `false`               | 是否直接使用对话接口，如果你用的网关支持自动解决 `POW` 才启用                           |\n|      | ENABLE_LIMIT      | `true`                                                      | `true`                | 开启后不尝试突破官方次数限制，尽可能防止封号                                       |\n|      | UPLOAD_BY_URL     | `false`                                                     | `false`               | 开启后按照 `URL+空格+正文` 进行对话，自动解析 URL 内容并上传，多个 URL 用空格分隔           |\n|      | SCHEDULED_REFRESH | `false`                                                     | `false`               | 是否定时刷新 `AccessToken` ，开启后每次启动程序将会全部非强制刷新一次，每4天晚上3点全部强制刷新一次。  |\n|      | RANDOM_TOKEN      | `true`                                                      | `true`                | 是否随机选取后台 `Token` ，开启后随机后台账号，关闭后为顺序轮询                         |\n| 网关功能 | ENABLE_GATEWAY    | `false`                                                     | `false`               | 是否启用网关模式，开启后可以使用镜像站，但也将会不设防                                  |\n|      | AUTO_SEED          | `false`                                                     | `true`               | 是否启用随机账号模式，默认启用，输入`seed`后随机匹配后台`Token`。关闭之后需要手动对接接口，来进行`Token`管控。    |\n\n## 部署\n\n### Zeabur 部署\n\n[![Deploy on Zeabur](https:\u002F\u002Fzeabur.com\u002Fbutton.svg)](https:\u002F\u002Fzeabur.com\u002Ftemplates\u002F6HEGIZ?referralCode=LanQian528)\n\n### 直接部署\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002FLanQian528\u002Fchat2api\ncd chat2api\npip install -r requirements.txt\npython app.py\n```\n\n### Docker 部署\n\n您需要安装 Docker 和 Docker Compose。\n\n```bash\ndocker run -d \\\n  --name chat2api \\\n  -p 5005:5005 \\\n  lanqian528\u002Fchat2api:latest\n```\n\n### (推荐，可用 PLUS 账号) Docker Compose 部署\n\n创建一个新的目录，例如 chat2api，并进入该目录：\n\n```bash\nmkdir chat2api\ncd chat2api\n```\n\n在此目录中下载库中的 docker-compose.yml 文件：\n\n```bash\nwget https:\u002F\u002Fraw.githubusercontent.com\u002FLanQian528\u002Fchat2api\u002Fmain\u002Fdocker-compose-warp.yml\n```\n\n修改 docker-compose-warp.yml 文件中的环境变量，保存后：\n\n```bash\ndocker-compose up -d\n```\n\n\n## 常见问题\n\n> - 错误代码：\n>   - `401`：当前 IP 不支持免登录，请尝试更换 IP 地址，或者在环境变量 `PROXY_URL` 中设置代理，或者你的身份验证失败。\n>   - `403`：请在日志中查看具体报错信息。\n>   - `429`：当前 IP 请求1小时内请求超过限制，请稍后再试，或更换 IP。\n>   - `500`：服务器内部错误，请求失败。\n>   - `502`：服务器网关错误，或网络不可用，请尝试更换网络环境。\n\n> - 已知情况：\n>   - 日本 IP 很多不支持免登，免登 GPT-3.5 建议使用美国 IP。\n>   - 99%的账号都支持免费 `GPT-4o` ，但根据 IP 地区开启，目前日本和新加坡 IP 已知开启概率较大。\n\n> - 环境变量 `AUTHORIZATION` 是什么？\n>   - 是一个自己给 chat2api 设置的一个身份验证，设置后才可使用已保存的 Tokens 轮询，请求时当作 `APIKEY` 传入。\n> - AccessToken 如何获取？\n>   - chatgpt官网登录后，再打开 [https:\u002F\u002Fchatgpt.com\u002Fapi\u002Fauth\u002Fsession](https:\u002F\u002Fchatgpt.com\u002Fapi\u002Fauth\u002Fsession) 获取 `accessToken` 这个值。\n\n\n## License\n\nMIT License\n\n","CHAT2API 是一个能够将网页版 ChatGPT 转换为 OpenAI API 格式的代理服务。其核心功能包括支持流式和非流式传输、多种模型对话（如 GPT-3.5、GPT-4 系列及 O1 系列等）、上传图片与文件、多账号轮询以及定时刷新访问令牌等。此外，它还提供了官网原生镜像功能，支持敏感信息接口禁用、随机账号抽取等功能。该项目适合需要在不直接使用 OpenAI 官方 API 的情况下调用 ChatGPT 功能的开发者或团队使用，尤其适用于那些希望利用现有免费资源进行开发测试的场景。",2,"2026-06-11 03:41:05","high_star"]