chatgpt-web-dev / chatgpt-web

A third-party ChatGPT Web UI page built with Express and Vue3, through the official OpenAI completion API. / 用 Express 和 Vue3 搭建的第三方 ChatGPT 前端页面, 基于 OpenAI 官方 completion API.
https://chatgpt-web.dev
MIT License
1.54k stars 437 forks source link

对话失败|怎么设置代理地址? #534

Closed EsqerYasen closed 1 month ago

EsqerYasen commented 1 month ago

设置代理地址之后对话失败,一直显示超时。我同next-web使用的代理和accessKey都是一样的,能正常使用。

Screenshot 2024-05-14 at 11 55 55 Screenshot 2024-05-14 at 11 57 27

应该怎么设置?我看到有这一段代码

    if (isNotEmptyString(OPENAI_API_BASE_URL))
      options.apiBaseUrl = `${OPENAI_API_BASE_URL}/v1`

    await setupProxy(options)

    return new ChatGPTAPI({ ...options })
  }
  else {
    const options: ChatGPTUnofficialProxyAPIOptions = {
      accessToken: key.key,
      apiReverseProxyUrl: isNotEmptyString(key.baseUrl)
        ? key.baseUrl
        : isNotEmptyString(config.reverseProxy)
          ? config.reverseProxy
          : 'https://ai.fakeopen.com/api/conversation',
      model,
      debug: !config.apiDisableDebug,
    }
EsqerYasen commented 1 month ago
  if (key.keyModel === 'ChatGPTAPI') {
    // const OPENAI_API_BASE_URL = isNotEmptyString(key.baseUrl) ? key.baseUrl : config.apiBaseUrl
    const OPENAI_API_BASE_URL = "https://api.xty.app"

    let contextCount = 0
    const options: ChatGPTAPIOptions = {
      apiKey: key.key,
      completionParams: { model },
      debug: !config.apiDisableDebug,
      messageStore: undefined,
      getMessageById: async (id) => {
        if (contextCount++ >= maxContextCount)
          return null
        return await getMessageById(id)
      },
    }

这样之内写死了,不知道为什么从.env没有获取到。