Skip to content

Latest commit

 

History

History
183 lines (123 loc) · 6.44 KB

chatapi-gateway.md

File metadata and controls

183 lines (123 loc) · 6.44 KB

自建网关 API

如果只需使用API,或希望重新开发管理后台,可选择仅部署网关服务。

docker run -p 50002:8787 dairoot/chatgpt-gateway:latest

环境变量

变量名 类型 默认值 描述
ADMIN_PASSWORD String None API请求秘钥
ENABLE_MIRROR_API Boolean true 是否开启 API 访问
MIRROR_API_PREFIX String None API 访问前缀,建议配置
API_HATD Boolean false API 开启临时聊天(不保存聊天记录)
WEB_HATD Boolean false WEB 开启临时聊天(不保存聊天记录)
PROXY_URL_POOL String None 代理池链接,多个代理用逗号分隔
http://username@password@ip:port,
socks5://username@password@ip:port,
socks5h://username@password@ip:port
VOICE_PROXY_URL String None 语音代理地址 点击自建
若不配置,则用户需要翻墙才能使用语音功能

API

聊天 API

POST: /v1/chat/completions

  • 请求头:

    字段 类型 默认值 必填 描述
    Authorization string None Bearer ${Access Token} 或者
    Bearer ${ Mirror Token } 或者
    Bearer ${Session Token} 或者
    Bearer ${ Refresh Token }
    Chatgpt-Account-Id string None Team 账号 ID
  • 提交参数:

    字段 类型 默认值 必填 描述
    model string None 模型名称
    gpt-4o-mini gpt-4o gpt-4 gpt-4-mobile
    o1-mini o1
    messages array None 消息内容
    stream boolean None 是否流式返回
    conversation_id string 自动匹配 会话 ID
    parent_message_id string 自动匹配 父消息 ID
    hatd boolean 默认同环境变量 开启临时聊天(不保存聊天记录)
    同上述环境变量的 API_HATD

语音聊天

GET: /api/livekit

  • 请求头:
    字段 类型 默认值 必填 描述
    Authorization string None Bearer ${Access Token} 或者
    Bearer ${ Mirror Token } 或者
    Bearer ${Session Token} 或者
    Bearer ${ Refresh Token }

语音转文本

GET: /v1/audio/speech

  • 请求头:

    字段 类型 默认值 必填 描述
    Authorization string None Bearer ${Access Token} 或者
    Bearer ${ Mirror Token } 或者
    Bearer ${Session Token} 或者
    Bearer ${ Refresh Token }
  • 提交参数:

    字段 类型 默认值 必填 描述
    voice string None cove, orbit, breeze, fathom, glimmer, vale, juniper, ember, maple
    input string None 文本

登录

参数详情请参考网关服务的 admin 登录页面

POST: /api/login

  • 请求头:

    字段 类型 描述
    Authorization string Bearer ${环境变量的 ADMIN_PASSWORD}
  • 请求参数

    字段 类型 描述
    access_token string 仅支持 Access Token
    limits obj[] 模型限制
    user_name string 用户名称
    isolated_session bool 独立会话

登出

POST: /api/logout

  • 请求头:

    字段 类型 描述
    Authorization string Bearer ${环境变量的 ADMIN_PASSWORD}
  • 请求参数

    字段 类型 描述
    user_name string 用户名称

获取长期有效 Mirror Token

Mirror Token 是一个固定值,不会发生变更,用于映射最新的 Access Token 以进行 API 访问。

因此,Mirror Token 本身不会过期,除非最新的 Access Token 失效。

POST: /api/get-mirror-token

  • 请求头:

    字段 类型 描述
    Authorization string Bearer ${环境变量的 ADMIN_PASSWORD}
  • 请求参数

    字段 类型 描述
    user_name string 用户名称
    isolated_session bool 独立会话
    limits obj[] 模型限制
    chatgpt_list string[] ChatGPT 登录邮箱列表

获取 ChatGPT 账号信息

作用于 token 录入 和 刷新

POST: /api/get-user-info

  • 请求头:

    字段 类型 描述
    Authorization string Bearer ${环境变量的 ADMIN_PASSWORD}
  • 请求参数

    字段 类型 描述
    chatgpt_token string 支持的 token 类型
    - Access Token
    - Session Token
    - Refresh Token

获取用户使用次数

POST: /api/get-user-use-count

  • 请求头:

    字段 类型 描述
    Authorization string Bearer ${环境变量的 ADMIN_PASSWORD}
  • 请求参数

    字段 类型 描述
    username_list string[] 用户列表

获取 ChatGPT 使用次数

POST: /api/get-chatgpt-use-count

  • 请求头:

    字段 类型 描述
    Authorization string Bearer ${环境变量的 ADMIN_PASSWORD}
  • 请求参数

    字段 类型 描述
    chatgpt_list string[] ChatGPT 登录邮箱列表

免登地址

GET: /api/not-login?user_gateway_token=<mirror_token>

鸣谢

感谢 rquest 项目作者。