Giter VIP home page Giter VIP logo

chatgpt-web's Introduction

Hi 👋, I'm ZhaoYu Chan

  • 💻 Front-end development
  • 🧑‍💻 Open source enthusiast
  • 🌈 Less is more, Worse is better ~

chanzhaoyu

chatgpt-web's People

Contributors

aquaratixc avatar assassinliujie avatar chanzhaoyu avatar cornerskyless avatar dwsy avatar eburnette avatar gitgitgogogo avatar hncboy avatar idawnwon avatar luckywang6 avatar marlkiller avatar mdongsheng avatar nalf3in avatar nothing1024 avatar ottocsb avatar peterdavehello avatar puppywang avatar pzcn avatar quzard avatar ryanxinone avatar shansing avatar shunyue1320 avatar simonwu53 avatar tranhungonline avatar vchenpeng avatar vulgatecnn avatar wanglong001 avatar whatwewant avatar yi-ge avatar yilozt avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

chatgpt-web's Issues

变量错误

在service中pnpm start 后出现变量错
wrong

timeout30秒太少了

如题,axios 超时时间设置的太短,问题一复杂就容易导致超时,请加长
截图_20230219155516

运行服务报错

23:57:47 ❯ pnpm run service

> [email protected] service /Users/zhangxin/work/src/github.com/Chanzhaoyu/chatgpt-web
> esno ./service/index.ts

/Users/zhangxin/work/src/github.com/Chanzhaoyu/chatgpt-web/node_modules/.pnpm/[email protected]/node_modules/chatgpt/build/index.js:15
  throw new Error("Invalid environment: global fetch not defined");
        ^

Error: Invalid environment: global fetch not defined
    at <anonymous> (/Users/zhangxin/work/src/github.com/Chanzhaoyu/chatgpt-web/node_modules/.pnpm/[email protected]/node_modules/chatgpt/build/index.js:15:9)
    at Object.<anonymous> (/Users/zhangxin/work/src/github.com/Chanzhaoyu/chatgpt-web/node_modules/.pnpm/[email protected]/node_modules/chatgpt/build/index.js:76:18)
    at Module._compile (node:internal/modules/cjs/loader:1165:14)
    at Object.F (/Users/zhangxin/work/src/github.com/Chanzhaoyu/chatgpt-web/node_modules/.pnpm/@[email protected]/node_modules/@esbuild-kit/cjs-loader/dist/index.js:1:941)
    at Module.load (node:internal/modules/cjs/loader:1043:32)
    at Function.Module._load (node:internal/modules/cjs/loader:878:12)
    at Module.require (node:internal/modules/cjs/loader:1067:19)
    at require (node:internal/modules/cjs/helpers:103:18)
    at <anonymous> (/Users/zhangxin/work/src/github.com/Chanzhaoyu/chatgpt-web/service/chatgpt.ts:2:28)
    at Object.<anonymous> (/Users/zhangxin/work/src/github.com/Chanzhaoyu/chatgpt-web/service/chatgpt.ts:48:16)
 ELIFECYCLE  Command failed with exit code 1.

关于服务器聊天记录缓存

上下文

我看这个项目的服务端也是用的https://github.com/transitive-bullshit/chatgpt-api 这个库,他的代码里聊天记录会缓存最大数量10000条的记录,所谓的“上下文”是把上一句话拼到新的请求里,大概是这个逻辑。
极端情况下,假设10000条数据存满了,现在第10001条push进来了,那第负一条数据就shift了,接下来这条数据想上下文关联就关联不起来了。

针对这个问题想到的办法是:

  • 服务器直接不缓存了,前端维护某个时间段的聊天记录,前端自己拼好了上文,连着新消息发过去,conversationId和parentMessageId都不传了。但这样页面刷新就历史记录消失了...
  • 还有就是所有数据入库,那都好说...

想听听大家的意见

Network Error

The build is complete, and the apikey is also added, why is it prompted Network Error

使用nginx反代而且开启http basic auth以后,会固定返回http 500

server {
    listen 443 ssl;
    listen [::]:443 ssl;
    server_name chatgpt.baidu.com; 
    ssl_certificate      /opt/cert/chatgpt.baidu.com.cer; 
    ssl_certificate_key  /opt/cert/chatgpt.baidu.com.key; 
    client_max_body_size 50M;
    auth_basic 'chatgpt';
    auth_basic_user_file /etc/a.pw; 
    location / {
        proxy_hide_header Authorization;
        proxy_redirect off;
        proxy_pass http://127.0.0.1:3002;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }    
}

加上basic auth就会固定http 500,去掉就正常,即使加了proxy_hide_header Authorization也还是一样。

框架建议

  1. 加上compression 来压缩,压缩率80%左右
  2. 拆分node_modules 的包
  3. 框架代码格式化没必要prettier(可能方便),直接plugins: [eslint({ fix: true, include: ['/*.ts', '/*.vue'] })],自定义风格
  4. 如果只是娱乐,全当没说

Error: Network Error

在服务器上搭建
后端服务/service pnpm start 后IP:3002 得到的页面是 Cannot GET / 如何解决?
网页端报错Error: Network Error

是后端没开成功导致的网络报错吗?

Docker 部署,Nginx反代,点设置按钮没反应。

Client: Docker Engine - Community
Version: 20.10.18
API version: 1.41
Go version: go1.18.6
Git commit: b40c2f6
Built: Thu Sep 8 23:11:45 2022
OS/Arch: linux/amd64
Context: default
Experimental: true

nginx version: nginx/1.20.2

auth_subrequest_error

ChatGPT error 500: {
"error": {
"message": "Internal server error",
"type": "auth_subrequest_error",
"param": null,
"code": "internal_error"
}
}

移动端情况下侧边栏自动隐藏

请教一下作者,因为本人是Java后端开发,请问侧边栏如何增加对移动端设备监听,实现在移动端下自动隐藏侧边栏。

其次,还有一个小样式问题,侧边栏关闭情况下,箭头按钮的位置有点隐藏了

image

关于ESLint的报错

这两天提交的代码中,IDEA总是会莫名奇妙报错EsLint
TypeError: Cannot read properties of undefined (reading 'type')

导致ESLint失效,请问知道是什么原因吗,是否是配置有问题

Request failed with status code 502

我在页面大约三秒就会返回Request failed with status code 502.但是docker logs 里面是有应答的。

app_1 | Server is running on port 3002
app_1 | upsertMessage 3e4eda8e-8a4d-4534-b9a7-e8c8916c2de2 {
app_1 | role: 'user',
app_1 | id: '3e4eda8e-8a4d-4534-b9a7-e8c8916c2de2',
app_1 | parentMessageId: undefined,
app_1 | conversationId: '841f86c7-4cdd-4996-87ca-f337286f88f9',
app_1 | text: '你知道tiktok吗?'
app_1 | }
app_1 | upsertMessage cmpl-6kppdi7YrxjLR7pIpmkbM5DZDBHdp {
app_1 | role: 'assistant',
app_1 | id: 'cmpl-6kppdi7YrxjLR7pIpmkbM5DZDBHdp',
app_1 | parentMessageId: '3e4eda8e-8a4d-4534-b9a7-e8c8916c2de2',
app_1 | conversationId: '841f86c7-4cdd-4996-87ca-f337286f88f9',
app_1 | text: '当然! TikTok是一个流行的社交媒体应用,它可以让你创建和共享精彩视频。',
app_1 | detail: {
app_1 | id: 'cmpl-6kppdi7YrxjLR7pIpmkbM5DZDBHdp',
app_1 | object: 'text_completion',
app_1 | created: 1676620349,
app_1 | model: 'text-davinci-003',
app_1 | choices: [ [Object] ],
app_1 | usage: { prompt_tokens: 72, completion_tokens: 70, total_tokens: 142 }
app_1 | }
app_1 | }

Docker compose yml 编写 有误吧

version: '3'
services:
  app:
    image: chenzhaoyu94/chatgpt-web
    ports:
      - 3002:3002
    environment:
      OPENAI_API_KEY: xxxxx

service: 改为 services:

刷新页面后404

本地dev没有问题,前端build后发布到服务器后
包含/chat
chat/16769007713
不刷新功能正常,一刷新就404

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.