kat
(kat)
1
最近我在用一个实用的翻译油猴脚本,它按需翻译,不像「沉浸翻译」把整个页面翻译,这个小巧灵活的特性可以节省资源,尤其在使用 AI 翻译的时候。
但是遇到了一个的障碍。这个脚本只支持 OpenAI 官方和其他少数几个 API 地址,这就让我有点小失望了。在 Issue 区也看到有小伙伴提过这个问题,但一直没有解决。我在想,如果能把自己的 API 地址填进去就完美了!
自己动手尝试了修改源码,让它支持自己的 API 地址。但是不起作用
const customGPT = {
//openai: "https://api.openai.com/v1/chat/completions",
openai: "https://api.myopenai.org",
所以向各位求助,应该在源码的哪个部分进行修改,才能把自己的 OpenAI API 填进去,并让代码正常工作。
Qingwa
(青小蛙)
2
如果它调用上游 api 的话,可能就不是改代码了,你要去上游改
dms
(稻米鼠)
7
这后面有一个对 API 地址的验证,修改了地址结果过不了验证。(脚本 line 378~401)
// 自定义 GPT地址
const customGPT = {
openai: "https://api.openai.com/v1/chat/completions",
setGPTUrl(model, url) {
url = url.trim(); // 去除首尾空格
// 解析 url,确保为 cloudflare 代理或 openai 官方地址
let cloudflareReg = /https:\/\/gateway.ai.cloudflare.com\/v1\/\w+\/\w+\/openai\/chat\/completions/;
if (url === this.openai
|| url === "https://api.chatanywhere.com.cn/v1/chat/completions"
|| cloudflareReg.test(url)
// 是 127.0.0.1 或 localhost
|| url.indexOf("127.0.0.1") !== -1
|| url.indexOf("localhost") !== -1
) {
GM_setValue(model + '_url', url)
return true
}
return false
},
getGPTUrl(model) {
if (!model) model = util.getValue('model');
return GM_getValue(model + '_url', this.openai)
}
}
你尝试在上面的 url = url.trim(); // 去除首尾空格
下面加这样两行试试看
GM_setValue(model + '_url', url)
return true
kat
(kat)
8
谢谢。
写入这两行代码后修改配置不报错了,但依然无法翻译。
想放弃了,刚才研究了一下「沉浸翻译」,可以设置为只翻译选择的段落