配置教程:把自己的翻译引擎接上,一步一步来

一套能从头跑到尾的配置——端点写什么、模型写什么,以及为什么是这个选择(附实测)。

这个版本没有内置的免费通道,翻译从第一步起就要用你自己的 API Key。这不是少给了什么:Key 在你手上,意味着请求由你的设备直接发往你选择的服务商,中间没有我们的服务器,也就没有一个能看到你在读什么的地方。代价是你要自己去开一个账号,这份教程就是把那几步说清楚。

这份教程配出来的组合

做什么引擎模型为什么
翻译DeepSeekdeepseek-v4-flash便宜,整页翻译够快
朗读设备内置语音免费、离线、不需要 Key
转写自建端点只有做「说」这一档才需要

1. 装好,并把扩展启用

从 App Store 装好之后,还要手动把 Safari 扩展打开一次。iPhone 上这一步在「设置」里;打开 belliedmonkey.com/setup.html,那一页会自己检测,成功了它会变绿告诉你。

2. 拿一个 API Key

在 https://platform.deepseek.com 注册并创建一个 API Key。支持的引擎都可以,这份教程用 DeepSeek:便宜、整页翻译够快,而且不需要额外的网络条件。

3. 填进设置,点「测试连接」

打开扩展设置,翻译引擎选 DeepSeek,粘贴 Key,点「测试连接」。端点与模型已经替你填好 —— https://api.deepseek.com/v1/chat/completions,模型 deepseek-v4-flash —— 只有当你要指向中转、网关或换一个模型时才需要改它们。

地址是「你存什么就用什么」,我们不做任何拼接。不会替你补路径,也不会猜。所以中转、网关、自建服务只要把完整地址(含路径)粘进去就能用;也正因如此,少了路径的地址一定失败:https://your-endpoint.example 不是一个端点,https://your-endpoint.example/v1/chat/completions 才是。

4. 朗读

设备内置语音(免费 · 离线):不需要 Key、不联网、不花钱,这是正确的默认。想换更好的声音,可以填一个自建的语音端点,地址形如 http://127.0.0.1:8880/v1/audio/speech

5. 要做「说」这一档,需要一个转写端点

说题要听见你,也就需要一个转写接口。中国版不内置云端转写,只有自建这一条路:把地址填成 http://127.0.0.1:18790/v1/audio/transcriptions 这个形状即可,仓库里带了一个可直接跑的桥接脚本。好处是录音根本不出你这台机器。

6. 翻一页确认

打开一篇你读不懂的外文页面,打开翻译,确认每段原文下方都出现了译文。某一段失败时它现在会明说,并给一个可以点的重试,而不是一直停在「翻译中」。

把复习卡打开

不打开也能翻译,所以它不算在那六步里。采集默认是关的;打开之后,你**停下来读过**的句子才会变成复习卡 —— 扩展设置 →「采集学习材料」。它只记你停留过的句子,不记你划过去的一切;在你主动登录之前,卡片一直只在这台设备上。

这个开关在扩展里,不在 App 里。两边的存储是分开的,在 App 里画一个开关,写下去的地方扩展根本不读 —— 所以 App 把你送到这一页,而不是假装它能设。

为什么是这个引擎,以及为什么你不用自己调参

推理模型是这里最大的坑。不管它的话,DeepSeek 的 deepseek-v4-flash 会为**每一个段落**思考一遍:2026-08-20 实测,一段话用了 3549 毫秒、烧掉 278 个思考 token。把思考关掉之后,同一段 1126 毫秒回来,快 3.2 倍,而译文读起来没有区别。

这个参数由扩展按「主机 + 模型」替你发出去,依据是一张**实测**出来的表,不是文档摘抄。必须实测的原因是文档预测不了它:同样的情况在另一个引擎上是 24833 毫秒变 1410 毫秒(17.6 倍);而在第三个引擎上,按文档发那个参数会得到 HTTP 200 加一个空正文——看起来就像扩展坏了,其实不是。

表里没见过的主机,只会收到协议最小集,别的一个字段都不发。这正是公司内网的网关能一次就通的原因——它不会被一个自己没实现的参数噎住。

全部引擎与它们的准确地址

下面这张表和软件里用的是同一份注册表,所以它不会和 App 的实际行为走散。

引擎端点地址默认模型去哪开 Key
DeepSeekhttps://api.deepseek.com/v1/chat/completionsdeepseek-v4-flashplatform.deepseek.com
智谱 GLMhttps://open.bigmodel.cn/api/paas/v4/chat/completionsglm-4-flashopen.bigmodel.cn
通义千问https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completionsqwen-plusbailian.console.aliyun.com
通义千问·翻译版https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completionsqwen-mt-turbobailian.console.aliyun.com
Kimihttps://api.moonshot.cn/v1/chat/completionsmoonshot-v1-8kplatform.moonshot.cn

只要说得通这两种请求格式,别的服务同样可以用——地址完全由你自己填:

条目地址形状
自定义 · Chat Completions 格式https://your-endpoint.example/v1/chat/completions
自定义 · Messages 格式https://your-endpoint.example/v1/messages

不工作的时候

Key 明明是对的却报鉴权失败

有的服务商按区域发 Key,并且为不同区域跑不同的主机;在一个控制台里开的 Key,拿去打另一个地址是认不出来的。核对一下端点的域名和你开 Key 的那个控制台是不是同一边。

什么都没发生,也没有报错

返回 HTTP 200 但正文是空的,几乎总是推理模型把输出预算全花在思考上了。扩展对它认识的模型会规避这一点;如果你手动换过模型,换回去,或者改成一个不思考的模型。

这台机器能用,另一台不能

设置存在本机,不会自动跑到别的设备上。在另一台上重新填一次即可。

还没启用扩展?从这里开始 →
三步,大约一分钟。那一页会自己检测,成功了它会告诉你。