change file upload to txt

This commit is contained in:
被遗忘的记忆
2024-10-13 22:51:59 +08:00
committed by GitHub
parent 50c0d47a40
commit c41950661b
+17 -11
View File
@@ -4,7 +4,7 @@ import {v4 as uuidV4} from "uuid";
import path from "path"; import path from "path";
import fs from "fs"; import fs from "fs";
import {fileURLToPath} from "url"; import {fileURLToPath} from "url";
import {createDirectoryIfNotExists, createDocx, extractCookie, getSessionCookie, sleep} from "./utils.mjs"; import {createDirectoryIfNotExists, extractCookie, getSessionCookie, sleep} from "./utils.mjs";
import {exec, execSync} from 'child_process'; import {exec, execSync} from 'child_process';
import os from 'os'; import os from 'os';
import './proxyAgent.mjs'; import './proxyAgent.mjs';
@@ -665,22 +665,28 @@ class YouProvider {
let lastUpdate = true; let lastUpdate = true;
messages.forEach((msg) => { messages.forEach((msg) => {
let content = msg.content;
if (msg.role === "system" && content.startsWith("system:")) {
content = content.substring(7).trim();
}
if (msg.role === "system" || msg.role === "user") { if (msg.role === "system" || msg.role === "user") {
if (lastUpdate) { if (lastUpdate) {
userMessage[userMessage.length - 1].question += msg.content + "\n"; userMessage[userMessage.length - 1].question += content + "\n";
} else if (userMessage[userMessage.length - 1].question === "") { } else if (userMessage[userMessage.length - 1].question === "") {
userMessage[userMessage.length - 1].question += msg.content + "\n"; userMessage[userMessage.length - 1].question += content + "\n";
} else { } else {
userMessage.push({question: msg.content + "\n", answer: ""}); userMessage.push({question: content + "\n", answer: ""});
} }
lastUpdate = true; lastUpdate = true;
} else if (msg.role === "assistant") { } else if (msg.role === "assistant") {
if (!lastUpdate) { if (!lastUpdate) {
userMessage[userMessage.length - 1].answer += msg.content + "\n"; userMessage[userMessage.length - 1].answer += content + "\n";
} else if (userMessage[userMessage.length - 1].answer === "") { } else if (userMessage[userMessage.length - 1].answer === "") {
userMessage[userMessage.length - 1].answer += msg.content + "\n"; userMessage[userMessage.length - 1].answer += content + "\n";
} else { } else {
userMessage.push({question: "", answer: msg.content + "\n"}); userMessage.push({question: "", answer: content + "\n"});
} }
lastUpdate = false; lastUpdate = false;
} }
@@ -754,7 +760,7 @@ class YouProvider {
for (let i = 0; i < length; i++) { for (let i = 0; i < length; i++) {
result += validChars.charAt(Math.floor(Math.random() * validChars.length)); result += validChars.charAt(Math.floor(Math.random() * validChars.length));
} }
return result + '.docx'; return result + '.txt';
} }
// 生成随机长度(6-16)的文件名 // 生成随机长度(6-16)的文件名
@@ -766,7 +772,7 @@ class YouProvider {
console.log("Using file upload mode"); console.log("Using file upload mode");
// 应用格式化逻辑 // 应用格式化逻辑
const formattedMessages = formatMessages(messages); const formattedMessages = formatMessages(messages, proxyModel);
// 将格式化后的消息转换为纯文本 // 将格式化后的消息转换为纯文本
let previousMessages = formattedMessages.map((msg) => `${msg.role}: ${msg.content}`).join("\n\n"); let previousMessages = formattedMessages.map((msg) => `${msg.role}: ${msg.content}`).join("\n\n");
@@ -786,12 +792,12 @@ class YouProvider {
if (!nonce) throw new Error("Failed to get nonce"); if (!nonce) throw new Error("Failed to get nonce");
// POST https://you.com/api/upload to upload user message // POST https://you.com/api/upload to upload user message
var messageBuffer = await createDocx(previousMessages); var messageBuffer = Buffer.from(previousMessages, 'utf-8');
var uploadedFile = await page.evaluate( var uploadedFile = await page.evaluate(
async (messageBuffer, nonce, randomFileName) => { async (messageBuffer, nonce, randomFileName) => {
try { try {
let blob = new Blob([new Uint8Array(messageBuffer)], { let blob = new Blob([new Uint8Array(messageBuffer)], {
type: "application/vnd.openxmlformats-officedocument.wordprocessingml.document", type: "text/plain",
}); });
let form_data = new FormData(); let form_data = new FormData();
form_data.append("file", blob, randomFileName); form_data.append("file", blob, randomFileName);