From 0a3302fc36489af53e7c44e2e011ea2011ca0a38 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=A2=AB=E9=81=97=E5=BF=98=E7=9A=84=E8=AE=B0=E5=BF=86?= <32097237+YIWANG-sketch@users.noreply.github.com> Date: Fri, 1 Nov 2024 20:27:02 +0800 Subject: [PATCH] enhance text and response control --- you_providers/youProvider.mjs | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/you_providers/youProvider.mjs b/you_providers/youProvider.mjs index bf87fbe..bb4fe2e 100644 --- a/you_providers/youProvider.mjs +++ b/you_providers/youProvider.mjs @@ -11,6 +11,7 @@ import {formatMessages} from '../formatMessages.mjs'; import NetworkMonitor from '../networkMonitor.mjs'; import robot from 'robotjs'; import {detectBrowser} from '../utils/browserDetector.mjs'; +import {insertGarbledText} from './garbledText.mjs'; const __filename = fileURLToPath(import.meta.url); const __dirname = path.dirname(__filename); @@ -695,6 +696,9 @@ class YouProvider { // 将格式化后的消息转换为纯文本 let previousMessages = formattedMessages.map((msg) => `${msg.role}: ${msg.content}`).join("\n\n"); + // 插入乱码(如果启用) + previousMessages = insertGarbledText(previousMessages); + // 创建本地副本(用于调试) const localCopyPath = path.join(__dirname, 'local_copy_formatted_messages.txt'); // fs.writeFileSync(localCopyPath, messages.map((msg) => `${msg.role}: ${msg.content}`).join("\n\n")); @@ -789,7 +793,10 @@ class YouProvider { switch (event) { case "youChatToken": data = JSON.parse(data); - const tokenContent = data.youChatToken; + let tokenContent = data.youChatToken; + + // 对接收到的内容进行转义处理 + tokenContent = unescapeContent(tokenContent); if (!responseStarted) { responseStarted = true; @@ -1091,3 +1098,19 @@ class YouProvider { } export default YouProvider; + +function unescapeContent(content) { + // 将 \" 替换为 " + content = content.replace(/\\"/g, '"'); + + // 将 \n 替换为 实际的换行 + content = content.replace(/\\n/g, '\n'); + + // 将 \r 替换为 空字符串 + content = content.replace(/\\r/g, ''); + + // 将 「 和 」 替换为 " + content = content.replace(/[「」]/g, '"'); + + return content; +}