fix: custom apis

This commit is contained in:
Gabe
2025-11-12 00:56:27 +08:00
parent 3d2eac8772
commit e50387a796
3 changed files with 41 additions and 4 deletions

View File

@@ -5,6 +5,37 @@
如果接口的请求数据和返回数据符合以下规范,
则无需填写 `Request Hook``Response Hook`
### 非聚合翻译 (v2.0.9)
Request body
```json
{
"text": "hello", // 需要翻译的文本列表
"from":"auto", // 原文语言
"to": "zh-CN" // 目标语言
}
```
Response
```json
{
"text": "你好", // 译文
"src": "en" // 原文语言
}
// 或者
{
"text": "你好", // 译文
"from": "en" // 原文语言
}
```
### 聚合翻译
Request body
```json

View File

@@ -589,8 +589,10 @@ const genCloudflareAI = ({ texts, from, to, url, key }) => {
return { url, body, headers };
};
const genCustom = ({ texts, fromLang, toLang, url, key }) => {
const body = { texts, from: fromLang, to: toLang };
const genCustom = ({ texts, fromLang, toLang, url, key, useBatchFetch }) => {
const body = useBatchFetch
? { texts, from: fromLang, to: toLang }
: { text: texts[0], from: fromLang, to: toLang };
const headers = {
"Content-type": "application/json",
Authorization: `Bearer ${key}`,
@@ -810,6 +812,8 @@ export const parseTransRes = async (
history.add(userMsg, hookResult.modelMsg);
}
return hookResult.translations;
} else if (Array.isArray(hookResult)) {
return hookResult;
}
} catch (err) {
kissLog("run res hook", err);
@@ -912,7 +916,10 @@ export const parseTransRes = async (
}
return parseAIRes(modelMsg?.content, useBatchFetch);
case OPT_TRANS_CUSTOMIZE:
return (res?.translations ?? res)?.map((item) => [item.text, item.src]);
if (useBatchFetch) {
return (res?.translations ?? res)?.map((item) => [item.text, item.src]);
}
return [[res.text, res.src || res.from]];
default:
}

View File

@@ -559,7 +559,6 @@ const defaultApiOpts = {
},
[OPT_TRANS_CUSTOMIZE]: {
...defaultApi,
url: "https://translate.googleapis.com/translate_a/single?client=gtx&dj=1&dt=t&ie=UTF-8&q={{text}}&sl=en&tl=zh-CN",
reqHook: defaultRequestHook,
resHook: defaultResponseHook,
},