Closed sena-nana closed 1 year ago
❌ Merging this PR will decrease code quality in the affected files by 5.20%.
Quality metrics | Before | After | Change |
---|---|---|---|
Complexity | 4.47 ⭐ | 6.61 ⭐ | 2.14 👎 |
Method Length | 63.44 🙂 | 72.62 🙂 | 9.18 👎 |
Working memory | 7.41 🙂 | 7.51 🙂 | 0.10 👎 |
Quality | 70.49% 🙂 | 65.29% 🙂 | -5.20% 👎 |
Other metrics | Before | After | Change |
---|---|---|---|
Lines | 291 | 355 | 64 |
Changed files | Quality Before | Quality After | Quality Change |
---|---|---|---|
nonebot_plugin_chatgpt/__init__.py | 74.83% 🙂 | 75.08% ⭐ | 0.25% 👍 |
nonebot_plugin_chatgpt/chatgpt.py | 65.91% 🙂 | 59.33% 🙂 | -6.58% 👎 |
Here are some functions in these files that still need a tune-up:
File | Function | Complexity | Length | Working Memory | Quality | Recommendation |
---|---|---|---|---|---|---|
nonebot_plugin_chatgpt/chatgpt.py | Chatbot.login | 13 🙂 | 138 😞 | 10 😞 | 51.86% 🙂 | Try splitting into smaller methods. Extract out complex expressions |
nonebot_plugin_chatgpt/__init__.py | ai_chat | 7 ⭐ | 186 😞 | 10 😞 | 52.62% 🙂 | Try splitting into smaller methods. Extract out complex expressions |
nonebot_plugin_chatgpt/chatgpt.py | Chatbot.get_cf_cookies | 11 🙂 | 178 😞 | 8 🙂 | 53.86% 🙂 | Try splitting into smaller methods |
nonebot_plugin_chatgpt/chatgpt.py | Chatbot.get_chat_response | 10 🙂 | 215 ⛔ | 7 🙂 | 54.24% 🙂 | Try splitting into smaller methods |
nonebot_plugin_chatgpt/chatgpt.py | Chatbot.refresh_session | 9 🙂 | 170 😞 | 8 🙂 | 56.41% 🙂 | Try splitting into smaller methods |
The emojis denote the absolute quality of the code:
The 👍 and 👎 indicate whether the quality has improved or gotten worse with this pull request.
Please see our documentation here for details on how these metrics are calculated.
We are actively working on this report - lots more documentation and extra metrics to come!
Help us improve this quality report!
了解,我现在在尝试解决Bearer问题,可以稍等一下再合并
了解,我现在在尝试解决Bearer问题,可以稍等一下再合并
这是同一个问题引发的么
了解,我现在在尝试解决Bearer问题,可以稍等一下再合并
这是同一个问题引发的么
似乎是,目前猜测是refresh_session没能正常获取到accessToken导致请求头里这个值为空导致的。原因可能是cf需要人工检查、playwright没能正常运行等。我打算在加入最多三次的重试来解决偶发原因导致的获取session失败,但是由于我这里一直都是顺利运行,我不确定这样是否真的有效 我会先把我的版本发给我这边的用户让他们试一试
目前来看是已经解决了偶发性的问题,我的几个用户都成功跑起来了,其中还包括了无GUI服务器的用户
目前来看是已经解决了偶发性的问题,我的几个用户都成功跑起来了,其中还包括了无GUI服务器的用户
试了一下, ubuntu20.04, 无 GUI, 遇到如下报错, 该如何判断是 遇到cf人工校验
还是其他问题导致的?
目前来看是已经解决了偶发性的问题,我的几个用户都成功跑起来了,其中还包括了无GUI服务器的用户
试了一下, ubuntu20.04, 无 GUI, 遇到如下报错, 该如何判断是
遇到cf人工校验
还是其他问题导致的?
你多试两次看看,另外是不是开了代理? 目前似乎开了代理会存在反复刷新的问题,这个还不清楚原因,似乎是ip变化导致的
目前来看是已经解决了偶发性的问题,我的几个用户都成功跑起来了,其中还包括了无GUI服务器的用户
试了一下, ubuntu20.04, 无 GUI, 遇到如下报错, 该如何判断是
遇到cf人工校验
还是其他问题导致的?你多试两次看看,另外是不是开了代理? 目前似乎开了代理会存在反复刷新的问题,这个还不清楚原因,似乎是ip变化导致的
代理确实会导致无法获取cf_clearance且反复刷新,我这边也复现了
你多试两次看看,另外是不是开了代理? 目前似乎开了代理会存在反复刷新的问题,这个还不清楚原因,似乎是ip变化导致的
代理确实会导致无法获取cf_clearance且反复刷新,我这边也复现了
这个BUG可能超出我的能力范围了,看了好久看不出什么头绪。只能假设是playwright和httpx对于代理的处理方式不同,导致哪里被改了对不上。本来想着抓包看看但是会导致直接访问不了…… 可能需要等一个了解代理机制的大佬来解决了
你多试两次看看,另外是不是开了代理? 目前似乎开了代理会存在反复刷新的问题,这个还不清楚原因,似乎是ip变化导致的
代理确实会导致无法获取cf_clearance且反复刷新,我这边也复现了
这个BUG可能超出我的能力范围了,看了好久看不出什么头绪。只能假设是playwright和httpx对于代理的处理方式不同,导致哪里被改了对不上。本来想着抓包看看但是会导致直接访问不了…… 可能需要等一个了解代理机制的大佬来解决了
取消 ChatBot
的代理后能跑了, 但是不挂梯子的稳定性不知道会不会很糟糕..
从梯子日志来看, 除了证书网站, 其他都是走的同一个节点, 不知道为啥会出现异常
你多试两次看看,另外是不是开了代理? 目前似乎开了代理会存在反复刷新的问题,这个还不清楚原因,似乎是ip变化导致的
代理确实会导致无法获取cf_clearance且反复刷新,我这边也复现了
这个BUG可能超出我的能力范围了,看了好久看不出什么头绪。只能假设是playwright和httpx对于代理的处理方式不同,导致哪里被改了对不上。本来想着抓包看看但是会导致直接访问不了…… 可能需要等一个了解代理机制的大佬来解决了
取消
ChatBot
的代理后能跑了, 但是不挂梯子的稳定性不知道会不会很糟糕.. 从梯子日志来看, 除了证书网站, 其他都是走的同一个节点, 不知道为啥会出现异常
其实还好,不用代理基本正常用。至于为什么会出现异常……只能先等别人解答了
把这段判断删掉就行,nonebot_plugin_htmlrender 加载时会自动执行 playwright 安装 https://github.com/A-kirami/nonebot-plugin-chatgpt/blob/master/nonebot_plugin_chatgpt/__init__.py#L22
目前我这边测试还是会跳到人工,在同网络ip下firefox打开是正常的:
服务器输出:
也有可能是我网络的原因,我再想办法换几个网络环境测一下看能不能解决
另:可以在session更新失败的时候对playwright窗口离屏渲染一次然后保存截图到data目录吗,现在这种情况我也很难判断是遇到了人工校验还是出了其它问题
(Linux服务器) 将提交给playwright的UA前半部分改为 Mozilla/5.0 (X11; Linux x86_64; rv:108.0)
解决了无法更新cf_clearance的问题
但是目前出现了循环更新cf_clearance的问题,怀疑是路由器自动走代理导致的,还在调查
这个 PR 带来了什么样的更改?
这个 PR 是否存在破坏性变更?
描述
动机和背景
其他信息
检查工作