SnapdragonLee / ChatGPT-weBot

Chat with ChatGPT (gpt-3.5 or newer),WeChat hook interface based
659 stars 121 forks source link

目前还可以用网页的反向代理服务器了 #33

Closed joe12801 closed 1 year ago

joe12801 commented 1 year ago

目前为止总共 3 个可用的网页版 endpoint: https://bypass.duti.tech/api/ https://gpt.pawan.krd/backend-api/

换上他就可以用了网页的chatgpt了

free-y commented 1 year ago

第一个反向代理,有时会遇到下面的错误

{"error":"Post \"https://chat.openai.com/backend-api/conversation\": dial tcp: lookup chat.openai.com: too many open files"}

free-y commented 1 year ago

第2个反向代理 我用了不行

SnapdragonLee commented 1 year ago

反向代理不稳定,这是很正常的,奈何最近时间不多,没有集中的时间重写API

现在目前我会写API调用,但是我自己的账号不知道为什么没有送的美刀,所以我得新搞个账号测 这个逆向API也可以等待更新,毕竟聊天的话这个逆向API更适合人类语言,所以我可能最后会搞两套底层接口,这也意味着config文件需要填写的项目越来越多,所以后面这个项目的配置会越来越繁琐

free-y commented 1 year ago

而且这个反向代理会回答不全,突然被截断了,比如下面这样

婴儿湿疹是常见的皮肤问题,它可以导致皮肤发红、瘙痒和干燥,甚至有可能出现水疱和渗液。以下是一些缓解婴儿湿疹的建议:

1.保持皮肤清洁和干燥。每天用温水轻轻擦洗婴儿的皮肤,并用柔软的毛巾轻轻拍干,避免磨擦。换尿布时及时更换湿润的尿布,保持臀部干燥。

2.使用温和的洗涤剂。选择温和的洗涤剂和肥皂来洗涤婴儿的衣服和床上用品。避免使用含有香料和染料的产品。

3.保持皮肤滋润。使用温和的润肤霜来保持皮肤湿润。润肤霜应该是无香料和无色素的,而且应该尽可能天然。涂抹润肤霜的时间应在洗澡后,涂抹时轻轻按摩皮肤。

4.避免触发因素。婴儿湿疹的症状有可能会因为外界的因素而加剧,例如污染、气候、热和汗水等。尽量避免这些因素,让婴儿保持舒适和凉爽。

5.咨询医生。如果婴
free-y commented 1 year ago

逆向API

逆向API这块修改,工作量大吗?如果工作量不大,我可以参与

SnapdragonLee commented 1 year ago

我看了它使用的OpenAIAuth,由于这块完全借助acheong08/chatgpt做的东西,他那里出了问题,这边就没法用了 然后有能力的兄弟可以看看他的source code,但我觉得修改起来希望不大

free-y commented 1 year ago

第一个反向代理,有时会遇到下面的错误

{"error":"Post \"https://chat.openai.com/backend-api/conversation\": dial tcp: lookup chat.openai.com: too many open files"}

这个问题,有办法解决吗?重开一个会话,还是说要重新登陆才行?

free-y commented 1 year ago

acheong08/chatgpt

他那边好像有进展

V1 Standard ChatGPT Update 2023/03/10 11:00AM - Everything works

furryaxw commented 1 year ago

而且这个反向代理会回答不全,突然被截断了,比如下面这样

婴儿湿疹是常见的皮肤问题,它可以导致皮肤发红、瘙痒和干燥,甚至有可能出现水疱和渗液。以下是一些缓解婴儿湿疹的建议:

1.保持皮肤清洁和干燥。每天用温水轻轻擦洗婴儿的皮肤,并用柔软的毛巾轻轻拍干,避免磨擦。换尿布时及时更换湿润的尿布,保持臀部干燥。

2.使用温和的洗涤剂。选择温和的洗涤剂和肥皂来洗涤婴儿的衣服和床上用品。避免使用含有香料和染料的产品。

3.保持皮肤滋润。使用温和的润肤霜来保持皮肤湿润。润肤霜应该是无香料和无色素的,而且应该尽可能天然。涂抹润肤霜的时间应在洗澡后,涂抹时轻轻按摩皮肤。

4.避免触发因素。婴儿湿疹的症状有可能会因为外界的因素而加剧,例如污染、气候、热和汗水等。尽量避免这些因素,让婴儿保持舒适和凉爽。

5.咨询医生。如果婴

好像只要说继续就好了(好像?)

free-y commented 1 year ago

这段文字其实并不长,之前这个长度的内容完全没问题的

free-y commented 1 year ago

说继续也会丢失部分信息

疫情期间,很多企业受到影响,不得不采取裁员等措施来应对。随着全球疫情逐渐得到控制,外企的招聘活动也在逐渐恢复。下面是从疫情后外企扩招的程度分析裁员概率的几个要点:

1. 外企扩招的程度与行业相关。不同行业在疫情期间受到的影响不同,扩招的程度也会因此有所不同。例如,医疗保健和科技行业的外企在疫情期间增长迅速,扩招的程度可能较大;而餐饮、旅游等行业的外企受到的影响较大,扩招的程度可能较小。

2. 外企扩招的程度与企业规模相关。规模较大的外企在疫情期间可能更具备抵御危机的能力,扩招的程度可能较大;而规模较小的外企可能面临更大的困难,扩招的程度可能较小。

3. 外企扩招的程度与地区相关。不同地区在疫情期间受到的影响也不同,扩招的程度也会因此有所不同。例如,中国在疫情期间成功控制疫情,外企在中国的扩招可能

然后我说了继续

速;而某些国家疫情控制不力,外企在该国的扩招可能较为缓慢。

4. 外企扩招的程度与市场需求相关。如果市场需求强劲,外企可能需要更多的人力资源来满足市场需求,扩招的程度可能较大;如果市场需求不足,外企可能需要缩减成本,裁员的概率可能较高。

基于以上要点,可以得出以下结论:

如果外企在疫情期间受到的影响较小,企业规模较大,位于市场需求强劲的地区,且行业前景良好,那么扩招的程度可能较大,裁员的概率较小。反之,如果外企在疫情期间受到的影响较大,企业规模较小,位于市场需求疲软的地区,且行业前景不明朗,那么裁员的概率可能较高。

需要注意的是,以上结论只是一个大致的参考,实际情况可能因企业的具体情况而异。
free-y commented 1 year ago

截断的问题,不知道是不是买plus会员可以解决?没用这个反向代理之前,没有发生过内容截断输出的情况。

free-y commented 1 year ago

截断的问题,不知道是不是买plus会员可以解决?没用这个反向代理之前,没有发生过内容截断输出的情况。

内容截断是代理问题,第二个代理不会截断内容,但是第一个代理会

SnapdragonLee commented 1 year ago

反代服务器已经进行了临时更新

SnapdragonLee commented 1 year ago

反代服务器已经临时更新,顺便修复了可能的bug:

  1. websocket可能无缘无故卡住
  2. 不再自动打印websocket的debug信息,精简命令行显示
  3. 尝试修复了chunkedlength 0 error,通过阅读代码,取消stream流失传输可能引发的握手失败、连接中断等引发的顶层报错
  4. 多账户功能依然没有引入,会在明后天引入这个功能

另外有兴趣开发机器人或想贡献代码的同志可以联系我,主页有我联系方式

tommyxps commented 1 year ago

出现新的error message 我估计是方向代理那做了rate 限制,一旦太多message 就触发

“Rate limit at 5 requests / 10 seconds due to small server (I ran out of budget.)“

ask: how to write a cnn network with golang Exception in thread Thread-5: Traceback (most recent call last): File "C:\Users\tommy\anaconda3\lib\site-packages\urllib3\connectionpool.py", line 703, in urlopen httplib_response = self._make_request( File "C:\Users\tommy\anaconda3\lib\site-packages\urllib3\connectionpool.py", line 386, in _make_request self._validate_conn(conn) File "C:\Users\tommy\anaconda3\lib\site-packages\urllib3\connectionpool.py", line 1042, in _validate_conn conn.connect() File "C:\Users\tommy\anaconda3\lib\site-packages\urllib3\connection.py", line 414, in connect self.sock = ssl_wrapsocket( File "C:\Users\tommy\anaconda3\lib\site-packages\urllib3\util\ssl.py", line 449, in ssl_wrap_socket ssl_sock = _ssl_wrap_socketimpl( File "C:\Users\tommy\anaconda3\lib\site-packages\urllib3\util\ssl.py", line 493, in _ssl_wrap_socket_impl return ssl_context.wrap_socket(sock, server_hostname=server_hostname) File "C:\Users\tommy\anaconda3\lib\ssl.py", line 501, in wrap_socket return self.sslsocket_class._create( File "C:\Users\tommy\anaconda3\lib\ssl.py", line 1041, in _create self.do_handshake() File "C:\Users\tommy\anaconda3\lib\ssl.py", line 1310, in do_handshake self._sslobj.do_handshake() ConnectionResetError: [WinError 10054] An existing connection was forcibly closed by the remote host

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "C:\Users\tommy\anaconda3\lib\site-packages\requests\adapters.py", line 489, in send resp = conn.urlopen( File "C:\Users\tommy\anaconda3\lib\site-packages\urllib3\connectionpool.py", line 787, in urlopen retries = retries.increment( File "C:\Users\tommy\anaconda3\lib\site-packages\urllib3\util\retry.py", line 550, in increment raise six.reraise(type(error), error, _stacktrace) File "C:\Users\tommy\anaconda3\lib\site-packages\urllib3\packages\six.py", line 769, in reraise raise value.with_traceback(tb) File "C:\Users\tommy\anaconda3\lib\site-packages\urllib3\connectionpool.py", line 703, in urlopen httplib_response = self._make_request( File "C:\Users\tommy\anaconda3\lib\site-packages\urllib3\connectionpool.py", line 386, in _make_request self._validate_conn(conn) File "C:\Users\tommy\anaconda3\lib\site-packages\urllib3\connectionpool.py", line 1042, in _validate_conn conn.connect() File "C:\Users\tommy\anaconda3\lib\site-packages\urllib3\connection.py", line 414, in connect self.sock = ssl_wrapsocket( File "C:\Users\tommy\anaconda3\lib\site-packages\urllib3\util\ssl.py", line 449, in ssl_wrap_socket ssl_sock = _ssl_wrap_socketimpl( File "C:\Users\tommy\anaconda3\lib\site-packages\urllib3\util\ssl.py", line 493, in _ssl_wrap_socket_impl return ssl_context.wrap_socket(sock, server_hostname=server_hostname) File "C:\Users\tommy\anaconda3\lib\ssl.py", line 501, in wrap_socket return self.sslsocket_class._create( File "C:\Users\tommy\anaconda3\lib\ssl.py", line 1041, in _create self.do_handshake() File "C:\Users\tommy\anaconda3\lib\ssl.py", line 1310, in do_handshake self._sslobj.do_handshake() urllib3.exceptions.ProtocolError: ('Connection aborted.', ConnectionResetError(10054, 'An existing connection was forcibly closed by the remote host', None, 10054, None))

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "C:\Users\tommy\anaconda3\lib\threading.py", line 980, in _bootstrap_inner self.run() File "C:\ChatGPT-weBot\ChatGPT-weBot-0.99-fix\ChatGPT-weBot-0.99-fix\multithread\threads.py", line 23, in run item.play() File "C:\ChatGPT-weBot\ChatGPT-weBot-0.99-fix\ChatGPT-weBot-0.99-fix\basic\task.py", line 50, in play for data in self.bot.ask( File "C:\ChatGPT-weBot\ChatGPT-weBot-0.99-fix\ChatGPT-weBot-0.99-fix\revChat\revChatGPT.py", line 179, in ask response = self.session.post( File "C:\Users\tommy\anaconda3\lib\site-packages\requests\sessions.py", line 635, in post return self.request("POST", url, data=data, json=json, kwargs) File "C:\Users\tommy\anaconda3\lib\site-packages\requests\sessions.py", line 587, in request resp = self.send(prep, send_kwargs) File "C:\Users\tommy\anaconda3\lib\site-packages\requests\sessions.py", line 701, in send r = adapter.send(request, **kwargs) File "C:\Users\tommy\anaconda3\lib\site-packages\requests\adapters.py", line 547, in send raise ConnectionError(err, request=request) requests.exceptions.ConnectionError: ('Connection aborted.', ConnectionResetError(10054, 'An existing connection was forcibly closed by the remote host', None, 10054, None))

SnapdragonLee commented 1 year ago

是的,现在这个速度已经可以了,毕竟之前是1h,50request

tommyxps commented 1 year ago

感觉又挂了 :

(base) PS C:\ChatGPT-weBot\ChatGPT-weBot-0.99-fix\ChatGPT-weBot-0.99-fix> python main.py <websocket._app.WebSocketApp object at 0x000002477CEE1A30> [WinError 10061] No connection could be made because the target machine actively refused it <websocket._app.WebSocketApp object at 0x000002477CEE1A30> closed

SnapdragonLee commented 1 year ago

我这里显示可以使用的 @tommyxps

tommyxps commented 1 year ago

我的错 忘开dll 注入了

另外 怎么给你买咖啡?

SnapdragonLee commented 1 year ago

You wanna buy me coffee? I'll give QR code soon, thank you for raising

tommyxps commented 1 year ago

You wanna buy me coffee? I'll give QR code soon, thank you for raising sure!

tommyxps commented 1 year ago

You wanna buy me coffee? I'll give QR code soon, thank you for raising

另外大佬有时间尝试一个bing wechat bot 么?

https://github.com/acheong08/EdgeGPT

SnapdragonLee commented 1 year ago

You wanna buy me coffee? I'll give QR code soon, thank you for raising

另外大佬有时间尝试一个bing wechat bot 么?

https://github.com/acheong08/EdgeGPT

令人遗憾的是,我一直处在等候清单qwq

tommyxps commented 1 year ago

太遗憾了!大佬记得写在todo list上,我很期待 bing 和 chatgpt 在微信里撕逼

joe12801 commented 1 year ago

我已经有两个了bing了

joe12801 commented 1 year ago

要的话,可以借你测试开发

SnapdragonLee commented 1 year ago

好的,我会记得这个事情

AtomRun-Code commented 1 year ago

https://gpt.pawan.krd/backend-api/

貌似新注册一个账号就好。地区选美国就行了,我老板就是这样帮我搞了一个可以用NB的号。