封装 OpenAI 网页版最新 ChatGPT 接口, 不需要使用 API Key, 完全免费
修复
API 获取 access_token增加
vercel 部署说明检查
Node.js 环境对 fetch 函数的支持 #12
建议 部署在海外服务器
或 使用代理
, 否则可能无法正常调用 OpenAI
docker run -d -p 3000:3000 zhuweiyou/chatgpt-api:20230424
安装 nodejs 18.x
环境
npm install --production
npm start
程序会打印 Listening on http://localhost:3000
表示启动成功
Fork 本项目, 在 vercel.com 添加你自己的仓库, 创建一个 Node.js 应用, 即可一键完成部署
vercel 的云函数免费版限制 10 秒超时, 回答很长的内容不一定好用, 还是建议部署到你自己机器
想要快速测试? 可以将文档中的 BASE_URL
更换成我部署在 vercel 的地址
https://zhuweiyou-chatgpt-api.vercel.app
BASE_URL http://localhost:3000
POST Body 格式为 x-www-form-urlencoded
email
OpenAI 帐号 (不支持谷歌/微软授权登录)password
OpenAI 密码
成功响应
{
"access_token": "token内容"
}
获取成功之后建议缓存本地, 不用每次都调用获取
如果出现
fetch failed
大概率是墙了, 你也可以 Fork zhuweiyou/chatgpt-auth 自建 auth 服务
访问 https://chat.openai.com/chat 成功登录之后, 打开浏览器开发者工具 (F12) -> 刷新页面- > Network
找到 /api/auth/session
请求, 复制 accessToken
存到你本地配置
不消耗免费额度, 也不需要花钱
access_token
在 [第一步] 中获取的 access_tokenprompt
提问内容model
可选. 默认gpt-3.5-turbo
, 如果你是 ChatGPT Plus 账号可以传入gpt-4
来切换模型timeout
可选. 超时时间(毫秒), 默认无限等待conversation_id
可选. 前一次 /send_message 的结果中返回, 用于上下文连续会话parent_message_id
可选. 前一次 /send_message 的结果中返回, 用于上下文连续会话reverse_proxy
可选. 反向代理服务器, 用于绕过 cloudflare 人机验证https://ai.fakeopen.com/api/conversation
(当前默认)https://api.pawan.krd/backend-api/conversation
{
"text": "ChatGPT的回答",
"conversation_id": "xxx",
"parent_message_id": "yyy"
}
HTTP Status Code: 500
{
"message": "错误消息"
}