允许函数接收 ChatGPT 响应

发布时间: 2023-08-26 热度: 1014

允许您挂钩 JavaScript API 并定义一个函数来接收在 chat.openai.com 上执行的对话框的响应。

使用Tampermonkey等访问chat.openai.com时执行以下脚本。或者,您可以直接从控制台运行它。

(function() { if (window.__hooked) { return; } window.__hooked = true; let msg = null; const OrigTextDecoder = TextDecoder; TextDecoder = class { constructor() { this.orig = new OrigTextDecoder(...arguments); } decode() { const res = this.orig.decode(...arguments); try { msg = JSON.parse(res).message.content.parts[0]; } catch (e) { } if (msg != null && res == "[DONE]") { if (window.ongpt) { window.ongpt(msg); } msg = null; } return res; } };})();

之后,您可以通过在全局上下文中ongpt定义函数来接收回复。

function ongpt(message) { console.log("message: " + message);}

当您想要处理原始字符串而不是渲染结果时可以使用。

当它停止移动时

由于规格变更而停止工作的可能性很大,但如果是微小的变更

msg = JSON.parse(res).message.content.parts[0];

这周围

res == "[DONE]"

我认为如果你修复了这个区域,你就可以再次使用它。通过在函数中设置断点来查看JSON结构,替换响应对应的部分,并在结束信号到来时让它流动msgongpt

如果不再TextDecoder使用,就放弃它。

请在下方留下您的评论.加入TG吹水群