DeepLX Serverless 自架免費 DeepL API,本機實測與部署建議

DeepLX Serverless 是把 DeepL 網頁版翻譯包成 HTTP API 的開源專案,不用申請金鑰,本機三個指令就能架起來。實測從台灣家用網路 12 連發全數成功、延遲不到 1.2 秒,但目標語言填 zh 會拿到簡體中文,繁體要明確指定 ZH-HANT,單次請求上限 1,500 字元。README 最顯眼的一鍵 Vercel 部署,正是維護者公告會撞 429 的那條路;上游專案上季才因 DeepL 商標通知改名,條款也明文禁止未經許可使用內部 API。

用 AI 摘要這篇文章:

把整個專案抓下來、裝好相依套件、啟動服務,三個指令,前後不到一分鐘。瀏覽器打開本機的 6119 埠,畫面上出現一行歡迎訊息,告訴你翻譯功能就住在 /translate 這個路徑。接著把一句中文丟進去,1.19 秒後,英文翻譯回來了。整個過程沒有申請帳號,沒有產生金鑰,沒有填信用卡。這是 DeepLX Serverless 這個開源專案給出的承諾:把 DeepL 網頁版的免費翻譯,包裝成任何程式都能呼叫的 HTTP 端點。端點(endpoint)說白話一點,就是一個網址,程式把文字丟進去,翻好的文字跳出來。

本機瀏覽器開啟 localhost:6119,DeepLX Serverless 服務回傳的 JSON 歡迎訊息,提示翻譯功能位於 /translate 路徑Pin
服務啟動後打開本機 6119 埠,得到的歡迎訊息:翻譯功能住在 /translate 路徑,POST 進去就翻。

這種東西的典型使用者有兩種。一種是裝了沉浸式翻譯這類雙語瀏覽器擴充套件的人,想把翻譯引擎換成自己架的免費端點;另一種是會寫程式的人,想在自己的小工具裡加翻譯功能,不想為了幾千個字去申請付費 API。專案 2024 年 8 月出現在 GitHub(帳號 guobao2333 下的 DeepLX-Serverless),MIT 授權,累積 556 顆星,2026 年 10 月 6 日剛發布 3.1.0 版,維護算是活的。但「免費」兩個字後面掛著幾件事:目標語言的繁簡行為、部署位置的選擇、還有 DeepL 官方條款畫下的線。這些全部實測與翻讀原始碼之後,下面逐一攤開。

GitHub 上 guobao2333/DeepLX-Serverless 儲存庫頁面,顯示 556 顆星、MIT 授權與最新版本 v3.1.0Pin
guobao2333/DeepLX-Serverless 儲存庫:556 顆星、MIT 授權,Releases 最新一版是 2026 年 10 月 6 日的 v3.1.0。

先設好繁中:目標語言填 zh,拿到的是簡體

台灣讀者最先該知道的一個行為,花三十秒就能驗證。把同一句英文丟進去兩次,只改一個參數。目標語言填 zh,回來的是簡體中文,字是對岸的寫法,連措辭都換成了對岸的慣用口語;目標語言填 ZH-HANT,回來的才是繁體:「今天天氣很好。我和朋友們去了夜市。」同一個引擎,兩種參數,兩個世界。

原因寫在原始碼裡。translate.js 這支檔案在把參數標準化的時候,做了幾個預設對應:zh 對應到 zh-Hans(簡體中文的語言代碼)、en 對應到 en-US、pt 對應到 pt-BR。換句話說,偷懶不填區域變體,它就替你選簡體。想要繁體輸出,參數必須明確寫 ZH-HANT,大小寫不拘。它支援的目標語言共 33 個,繁簡兩種中文都在清單上,這點比很多同類工具交代得清楚。

另一個該先知道的限制是長度。單次請求的文字上限是 1,500 字元,這個數字是原始碼裡的常數,不是文件上的建議值。實測丟進 1,518 字元,伺服器直接回 HTTP 500,錯誤訊息把帳算得很明白:Text too long: 1518 > 1500。把字數砍到剛好 1,500,同樣的請求就通過了。使用現成的整頁翻譽工具時不用煩惱這件事,工具自己會分段;但自己寫程式呼叫的人,分段邏輯要自己處理。回應格式倒是親切:一份 JSON,翻好的文字放在 data 欄位,附上偵測到的來源語言、目標語言,method 欄位固定標 Free,接程式的時候不需要多作猜測。

家用網路實測能跑,但官方文件不建議接沉浸式翻譯

沉浸式翻譯的接法不難,上游生態的官方文件寫得很清楚:打開擴充套件的設定頁,進左下角的開發者設定,啟用 Beta 實驗功能,然後在翻譯服務裡選 DeepLX,網址填自己端點的位置。跑在本機就填 127.0.0.1 開頭的位址,架在別台機器上就換成那台機器的位址。設定到此完成。

但同一份官方文件,在說明裡留了一句警告:不建議把 DeepLX 服務用在沉浸式翻譯上,理由是它會在短時間內發出大量請求,你的 IP 可能因此被 DeepL 封鎖。這句警告值得對著實測結果看。我從家用網路連續打了 12 個短句請求,12 個全部成功,零次 429(請求過於頻繁的錯誤代碼),每則耗時 0.48 到 1.11 秒。短句連發完全沒問題。可是沉浸式翻譯跑一個長頁面的雙語對照,一次就是幾十段文字、幾十個請求,量級完全是另一回事。官方的警告不是嚇唬人:請求量越大,觸發封鎖的機率越高,而封鎖落在 IP 上,也就是你家裡的網路位址。

所以實務上的建議是:接沉浸式翻譯可以,把它當成輕量使用下的免費引擎,讀讀文件、翻翻單頁沒問題;要翻整本書、整批資料,請換別的路線,文末會給替代方案。順帶一個實測中表現不錯的細節:來源語言可以放 AUTO 讓它自動判斷,我丟了一句法文進去,它正確偵測語言並翻成繁體中文,耗時約一秒,這對不知道原文是什麼語言的場景很實用。

README 上的一鍵 Vercel 部署,和那則還開著的 429 公告

這個專案最受矚目的入口,是 README 最上方那顆 Deploy to Vercel 按鈕。賣點聽起來很順:雲端函數的請求 IP 不固定,所以能避開 429。一鍵把翻譯服務部署到 Vercel,得到一個公用的網址,聽起來比在家裡跑一台機器優雅得多。

問題是,這個專案討論區裡唯一一則還開著的公告,講的正好是這條路。2025 年 8 月,維護者發了一則公告說明「在 Vercel 部署後無法正常取得翻譯」:大量使用者拿著沒有更新過請求格式的舊部署,反覆對 DeepL 發出無效請求,結果 DeepL 把 Vercel 的伺服器 IP 段封鎖了。被封鎖之後的症狀是所有翻譯請求只回 429,什麼都拿不到;維護者特別註明,他本地的部署測試一切正常。公告給出的建議排序也很有意思:自己重新部署一次 Vercel 試試(不管用就看下兩條)、本地部署走家用網路(推薦)、部署在伺服器上走機房網路(推薦)。兩個「推薦」都給了 Vercel 以外的路。

DeepLX-Serverless 儲存庫 issue 48 公告頁面,標題為關於在 Vercel 部署後無法正常取得翻譯,狀態開啟中Pin
儲存庫裡唯一還開著的公告 issue:Vercel 部署後所有翻譯只回 429,維護者建議本地或伺服器部署。

從程式碼面看,Vercel 這條路還有一層疑慮。Vercel 部署的進入點 api/index.js,從 2.x 時代到現在的 3.1.0,整個版本歷史裡都找不到匯出 app 的語法,而這是 Vercel 官方對 Express 專案的標準要求;這支檔案裡的路由碼還會把同一個回應寫兩次。這顆按鈕按下去會得到什麼,沒有人掛保證;把「一鍵部署」當成主路徑之前,先讀過那則公告再決定,是比較穩的順序。

真正穩的路其實是平凡的兩條。第一條是本機跑:抓下專案、安裝、啟動,三個指令,我的全部實測都是這樣跑出來的;安裝了 97 個相依套件只花三秒,服務預設聽 6119 埠,連接埠可以用 .env 設定檔改;要開放跨域連線給網頁或擴充套件直接呼叫,啟動參數要連引號和星號一起下,README 上單打一個 -c 的範例寫法實測無效,是文件跟不上程式碼的一個小坑。第二條是 Docker:官方提供預建映像檔,一行指令把服務跑在任何有 Docker 的機器上,NAS、樹莓派、租來的 VPS 都行。差別在於 IP 的歸屬:跑在家裡,用的是你自己的家用網路位址,流量自己控制;跑在 Vercel 這類共享平台上,你和幾千個陌生人的部署共用 IP 段,別人的濫用會連累你,這正是那則公告的劇本。

免費的代價,分別寫在協議、公告和條款裡

這個工具為什麼能免費?因為它根本沒有呼叫任何付費服務。翻開 3.1.0 的原始碼,它打的位址是 DeepL 網頁版翻譯背後的免費通道,請求裡帶的授權欄位直接寫著 None。DeepL 的網頁版對一般使用者免費,這個專案做的事,就是把那個免費通道包上一層 API 外皮。這也解釋了它的穩定度從何而來、又為何脆弱。

脆弱的證據就在版本時間線裡。2.x 世代一邊呼叫 DeepL 的 jsonrpc 舊通道,一邊把自己偽裝成 DeepL 的手機 App;3.0 把偽造的身分換成瀏覽器擴充套件、改了請求方法,位址沒動;2026 年 10 月 6 日的 3.1.0 才真正換掉位址,整個改用 DeepL 的新版 oneshot 介面,提交說明寫的是「fix」,也就是說舊通道壞了、不改就不能用。維護節奏也反映了這種追著跑的狀態:前一個正式版 3.0.2 停在 2025 年 1 月,之後超過一年八個月沒有發版,2026 年 9 月底才恢復活動、十天內連發更新。這種工具的壽命,取決於 DeepL 什麼時候再改規格。上游權威文件也證實了這次遷移:新介面的限流池比舊協議寬鬆,代價是備選翻譯全面消失,回應裡的 alternatives 欄位從此是空的。

順著這條線還能看到更大的動作。這個專案的原型、8,732 顆星的上游 OwO-Network/DeepLX,在 2026 年 7 月收到 GitHub 平台轉發的商標通知:DeepL 公司認為「DeepLX」這個名字包含註冊商標 DeepL,可能讓人誤以為是官方授權的產品。上游的回應是把整個專案改名成 DLX、移除所有 DeepL 品牌字樣,並在說明文件裡聲明與 DeepL 公司毫無關係。被自架社群暱稱為免費 DeepL 引擎的這條生態系,權利人已經盯上了,名字和協議都可能再變。

最後是條款。DeepL 免費服務的使用條款寫得相當直白:未經書面許可使用內部 API,條款明文禁止;免費版送出的內容,DeepL 保留用來訓練與改進系統的權利;條款還明文禁止用免費版處理機密資料與個人資料。把這三條對照到自架端點的使用上,結論很清楚:翻網頁、翻文件、做個人工具,風險自己衡量;但合約、客戶資料、任何沾到機密二字的內容,不該走這條路。另外提醒一件部署安全的事:這個端點沒有金鑰機制,也沒有流量限制,誰拿到網址誰就能用,架在 VPS 上記得用防火牆把它鎖起來。

跟站內幾條自架翻譯路線怎麼互相搭配

把它放回自架翻譯的小地圖上,位置更好理解。DeepLX Serverless 是引擎本體:它提供翻譯能力本身,不提供介面。想要現成介面的人,站上先前實測過的 DeeplxFile 正好是互補的另一半:那是翻譯 Word、Excel 大檔的前端,引擎要自己養,你把 DeepLX Serverless 架起來,就是替它把引擎準備好了。瀏覽器端的雙語閱讀,沉浸式翻譯之外還有 FluentRead 這類開源擴充套件可選。

如果讀完條款後對這條免費通道有疑慮,站內也實測過兩條不吃 DeepL 服務的路:MTranServer 把翻譯模型整個裝進自己的機器,完全離線,內容不出門;LibreTranslate 同樣是開源引擎自架,授權乾淨,翻譯品質取決於它自己的模型。桌面端劃詞翻譯的 Pot 則可以同時接多種引擎,把上述任一條路變成隨手可用的工具。這幾條路各有各的實測文,這裡不重複結論,只交代一件事:它們與 DeepLX Serverless 的差別是根本性的,前者是自己的引擎,後者是借來的通道。

再補一個原始碼與設定檔對不起眼的小校正。專案的 .env 設定檔裡有一個 ALTERNATIVE 開關,註解的意思是「要不要回傳備選翻譯」。實際翻遍程式碼,沒有任何一行讀取這個設定,回應裡的 alternatives 欄位是寫死的空陣列。同一份設定檔裡的連接埠與跨域設定是真的有作用的,對照之下更看得出這個開關只是殘留:3.1.0 換到新介面後,新協議不提供備選翻譯,設定檔沒跟著更新。期待拿到多個候選譯法的人,這個版本給不了。

誰適合架一台,誰應該走別條路

綜合實測與這些邊界,判斷可以收得很緊。適合架的人:想用自己的家用網路跑一個免費翻譯端點的自用者、想在個人小工具裡加翻譯功能的開發者、願意接受「通道隨時可能改規格」這個前提的人。部署位置選本機或自己的機器,顧好 1,500 字元的分段,繁中輸出記得指名,這台免費引擎就能穩穩服役。

不適合的人也一樣清楚。要把產品或服務押在翻譯品質上的團隊,不該依賴一個協議三天兩頭在改、上游正被商標執法、條款明文禁止的通道;手上有機密或個人資料要翻的人,條款已經替你回答了。這兩種情況,DeepL 官方 API 有免費方案:官方支援文件寫明每個月 50 萬字元免額,用申請來的金鑰走正式介面,條款、穩定度、法律責任全部回到正軌,需要更多再往上加。免費的自架通道和免費的官方額度,後者的免費是簽了約的。

回到開頭那三個指令。DeepLX Serverless 把「免費的 DeepL 翻譯 API」這件事做到了三分鐘就能驗證的程度,這是它值得認識的地方;而它的限制,從繁簡參數、部署位置到條款邊界,全部都有跡可循。把它當個人手邊的方便工具,它是稱職的;把它當產品的地基,它隨時可能從你腳下換走。免費的東西不一定貴,但這一個,代價寫得很清楚。

Sliven 褚崇名
Sliven 褚崇名

每日分享科技新知、免費資源以及 WordPress、虛擬主機相關主題,任何問題歡迎在科技月球下方留言,或是發送 Email 至 [email protected] 與我聯繫。

文章: 1770

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *


Share to...