Skip to content

Commit

Permalink
修复正式版不可用的问题,直接用正式版就好
Browse files Browse the repository at this point in the history
  • Loading branch information
akl7777777 committed Jun 2, 2023
1 parent 2d87f4d commit d6be39d
Show file tree
Hide file tree
Showing 3 changed files with 109 additions and 2 deletions.
5 changes: 4 additions & 1 deletion src/info.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"identifier": "com.akl.bob-plugin-akl-chatgpt-free-translate",
"version": "1.1.5",
"version": "1.1.6",
"category": "translate",
"name": "Free ChatGPT",
"summary": "免秘钥免启动任何服务调用ChatGPT",
Expand Down Expand Up @@ -83,6 +83,9 @@
{
"title": "正式版(备用2很快)",
"value": "default-back2"
},{
"title": "正式版(备用3限流3次/分)",
"value": "default-back2"
},
{
"title": "海外线路(1)",
Expand Down
6 changes: 5 additions & 1 deletion src/main.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ var orai = require('./orai.js');
var sc2e = require('./sc2e.js');
var cha = require('./cha.js');
var notag = require('./notag.js');
var space = require('./space.js');
var d8888 = require('./8888.js');
var gamma = require('./gamma.js');
var delta = require('./delta.js');
Expand Down Expand Up @@ -77,10 +78,13 @@ function translate(query, completion) {
chatResult = await of.translate(query, source_lang, target_lang, translate_text, completion)
} else if (server === 'default-back2') {
chatResult = await d8888.translate(query, source_lang, target_lang, translate_text, completion)
} else if (server === 'default-back3') {
// 限流了,每分钟3次
chatResult = await notag.translate(query, source_lang, target_lang, translate_text, completion)
} else if (server === 'oversea-1') {
chatResult = await cha.translate(query, source_lang, target_lang, translate_text, completion)
} else {
chatResult = await notag.translate(query, source_lang, target_lang, translate_text, completion)
chatResult = await space.translate(query, source_lang, target_lang, translate_text, completion)
}
let mode = $option.mode;
const configValue = readFile();
Expand Down
100 changes: 100 additions & 0 deletions src/space.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
const CryptoJS = require("crypto-js");
const {random_safe} = require("./e.js");
const {readFile,historyFileName} = require("./file");
const file = require("./file");

async function translate(query, source_lang, target_lang, translate_text, completion) {
try {
let mode = $option.mode;
let prompt = $option.prompt;
const configValue = readFile();
if (configValue.mode) {
mode = configValue.mode;
}
let A = [{"role": "user", "content": translate_text}]
// 如果是翻译模式,需要拼接
if (mode === 'translate') {
translate_text = `请将以下${source_lang}内容翻译成${target_lang}:\n${translate_text}`
A = [{"role": "user", "content": translate_text}]
} else if (mode === 'polishing') {
translate_text = `请润色以下内容:\n${translate_text}`
A = [{"role": "user", "content": translate_text}]
} else if (mode === 'custom_prompt') {
translate_text = `${prompt}\n${translate_text}`
A = [{"role": "user", "content": translate_text}]
} else {
A = readFile(historyFileName).concat(A);
}
const L = Date.now();
const resp = await $http.request({
method: "POST",
url: random_safe('aHR0cHM6Ly9jaGF0LjUuYm51MTIwLnNwYWNlL2FwaS9nZW5lcmF0ZQ=='),
body: {
messages: A,
time: L,
pass: null,
sign: await generateSignature({
t: L,
m: (A && A[A.length - 1] && A[A.length - 1].content) ? A[A.length - 1].content : ""
})
},
header: {
'Content-Type': 'application/json',
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36'
}
});
if (resp.data) {
completion({
result: {
from: query.detectFrom,
to: query.detectTo,
toParagraphs: resp.data.split('\n'),
},
});
} else {
const errMsg = resp.data ? JSON.stringify(resp.data) : '请求翻译接口失败,请检查网络'
completion({
error: {
type: 'unknown',
message: errMsg,
addtion: errMsg,
},
});
}
// 对话模式就保存
if (mode === 'conversation') {
A.push({
content: resp.data,
role: "assistant",
});
file.writeFile({
value: A,
fileName: file.historyFileName,
});
}
return resp.data;
} catch (e) {
$log.error('接口请求错误 ==> ' + JSON.stringify(e))
Object.assign(e, {
_type: 'network',
_message: '接口请求错误 - ' + JSON.stringify(e),
});
throw e;
}
}

async function digestMessage(r) {
const hash = CryptoJS.SHA256(r);
return hash.toString(CryptoJS.enc.Hex);
}

async function generateSignature(r) {
const {t: e, m: t} = r;
const n = 'you ain\'t see me...';
const a = `${e}:${t}:${n}`;
const rs = await digestMessage(a);
$log.error('==========' + rs)
return rs;
}

exports.translate = translate;

0 comments on commit d6be39d

Please sign in to comment.