ChatGPT:回复内容过长需点击“继续”按钮,你厌烦了吗?
作者: 浮之静 来源: [浮之静](https://mp.weixin.qq.com/s/CzBbBRe7-pHx3uN0GqVGwg)
背景
ChatGPT 现在支持更长的回复上下文了,但是每次接口能返回内容的最大长度是有限的,所以如果内容过长经常会出现一个 Continue generating 按钮,需要手动点击一次,才可以触发接下来的内容回复。那么有没有什么方法可以自动化呢(懒有懒的道理,想偷懒,才能真正思考如何提效),简单来说就是通过注入 js 脚本来解决。
解决方案
想要自动点击,而且它本身是一个按钮,那注入一段脚本来模拟点击不就可以了吗?废话不多说,直接上代码:
function autoContinue() {
// 创建一个观察者(observer)实例
const observer = new MutationObserver((mutationsList) => {
for (let mutation of mutationsList) {
if (mutation.type === 'childList') {
// 发现 Continue generating 按钮
const btn = Array.from(mutation.target.querySelectorAll('button.btn')).find((btn) =>
btn.innerText.includes('Continue generating'),
);
// 如果发现按钮则在 1 秒后自动点击
if (btn) {
console.log("Found the button of 'Continue generating'");
setTimeout(() => {
console.log('Clicked it to continue generating after 1 second');
btn.click();
}, 1000);
return;
}
}
}
});
// 如果未检测到 form 表单,则轮询 DOM
const interval = setInterval(() => {
if (document.forms[0]) {
// Start observing the dom change of the form
observer.observe(document.forms[0], {
attributes: false,
childList: true,
subtree: true,
});
// 发现 from 后移除定时器
clearInterval(interval);
}
}, 1000);
}
// 执行方法
autoContinue();
如何使用脚本,其实有很多方式,比如安装 Tampermonkey[1] 浏览器插件,新创建一个脚本,将以上代码贴入(自行查阅文档,方法很简单,这里就不介绍了,对 Tampermonkey 感兴趣的话,我后面可以专门写一篇文章来介绍)。这种方式对编程小白略微有点门槛。但是如果你正在使用 ChatGPT 桌面应用,那么恭喜你,这个功能已经被内置了。
ChatGPT 桌面应用
下载安装包:https://github.com/lencx/ChatGPT[2]。如果已安装,可以通过如下方式更新脚本。
- 重启应用,就可以看到这个弹窗提示,点击 Yes 可以直接跳转到脚本管理界面(没有看到也不影响)。
- 如果在 Version 字段下发现类似 0.1.0 -> 0.1.3 之类的东西,则表示此脚本有更新,点击 Sync 可以对脚本进行同步(注意:如果未发现 Version 信息,点击 Sync 按钮也可以同步脚本,如果脚本同步失败,可以点击 Remote File 复制里面的内容,然后点击 Edit 按钮将复制的内容粘贴到编辑区域)。
- 手动重启应用,脚本生效(可以直接退出,也可以点击菜单中的 Restart ChatGPT ,注意所有脚本内容的变更都需要重启应用才可以生效)。
注意:以上这些步骤是脚本更新的通用方法,如果你想自己编写特定的脚本,只需点击脚本管理界面中的 Edit 按钮即可(适合编程资深玩家,如果脚本编写错误,只需要再次点击 Sync 按钮即可恢复默认,总之桌面应用除了时不时更新一些不痛不痒的小功能外,也适合编程玩家 DIY,如果你有好的想法或者脚本,想分享给更多人,也可以为项目提 PR)。
OpenAI 修复了之前的一个漏洞,无限使用移动端 GPT-4 脚本已经失效。如果不想显示过多选项,可以编辑 chat.js 脚本,搜索 gpt4Mobile() 直接删除,或者注释即可。
视频演示:
References
[1]
Tampermonkey: https://www.tampermonkey.net
[2]
https://github.com/lencx/ChatGPT: https://github.com/lencx/ChatGPT