DeepLX ist eine serverlose (serverless) Anwendung, die auf Cloudflare Workers bereitgestellt wird und den Nutzern eine kostenlose und leistungsstarke Schnittstelle zu DeepL und Google Translation Services bietet. Das Projekt löst effektiv den HTTP 429-Fehler (zu viele Anfragen), der bei der Verwendung herkömmlicher Übersetzungs-APIs häufig auftritt, durch intelligentes Proxy-Routing, fortschrittliche Algorithmen zur Ratenbegrenzung und einen Meltdown-Mechanismus. Im Vergleich zur offiziellen API bietet DeepLX eine höhere Begrenzung der Anfragerate und eine geringere Netzwerklatenz. Da DeepLX völlig kostenlos ist und keine API-Schlüssel oder Lizenzgebühren anfallen, haben Benutzer mit einer einzigen Bereitstellung unbegrenzten Zugriff auf die Übersetzungsfunktionen. Das Projekt zeichnet sich außerdem durch hohe Stabilität und zahlreiche Sicherheitsfunktionen aus und soll Entwicklern und allgemeinen Nutzern eine zuverlässige, kostengünstige Übersetzungslösung bieten.
Referenzprojekt: https://github.com/OwO-Network/DeepLX
Funktionsliste
- Unterstützung mehrerer Übersetzungsdienste: Unterstützt auch DeepL (
/deepl
) und Google Translate (/google
) zwei gängige Übersetzungsprogramme. - hohe LeistungBereitstellung eines globalen Edge-Netzwerks auf der Grundlage von Cloudflare Workers für niedrige Latenzzeiten und eine Reaktionsfähigkeit ohne Kaltstart.
- Hohe AnfragezahlenUnterstützt mehr gleichzeitige Anfragen als die offizielle API durch intelligente Lastverteilung und mehrere Proxy-Endpunkte.
- hohe Stabilität:: Mit einem Fusionsmechanismus und einer exponentiellen Back-Off-Retry-Strategie, die fehlgeschlagene Proxy-Endpunkte automatisch erkennt und zwischen ihnen umschaltet, wird ein Ausfall fast vollständig vermieden.
429
Fehler, um die Kontinuität des Dienstes zu gewährleisten. - Intelligenter CacheEingebautes zweischichtiges Caching-System aus Memory und KV-Speicher kann wiederholte Übersetzungsanfragen für denselben Inhalt effektiv reduzieren und die Effizienz verbessern.
- Völlig kostenlosKeine Notwendigkeit, einen API-Schlüssel zu beantragen, keine Abonnementgebühren und keine Nutzungsbeschränkungen.
- SicherheitFunktionen wie Eingabevalidierung, mehrdimensionale Ratenbegrenzung, CORS-Unterstützung und Sicherheitsheader gewährleisten einen sicheren Dienst.
- Leicht zu integrierenAusführliche API-Dokumentation und Anwendungsbeispiele in mehreren Programmiersprachen (cURL, JavaScript, Python) zur einfachen Integration in verschiedene Anwendungen.
Hilfe verwenden
DeepLX kann auf zwei Arten genutzt werden: direkt über die vom Autor bereitgestellte öffentliche Dienstadresse, oder die Nutzer können die Dinge selbst in die Hand nehmen und sie auf ihren Cloudflare-Konten bereitstellen.
1. schneller Start (Nutzung öffentlicher Dienste)
Für die meisten Nutzer ist es am einfachsten und schnellsten, die offiziellen öffentlichen Dienste direkt zu nutzen.
Adresse des öffentlichen Dienstes: https://dplx.xi-xu.me
Sie können die Übersetzungsfunktion aufrufen, indem Sie eine POST-Anfrage an den entsprechenden Pfad senden.
Code-Beispiel
Bei der Anfrage müssen die Kopfzeilen der Anfrage angegeben werden Content-Type: application/json
und fügen Sie den zu übersetzenden Text, die Ausgangssprache und die Zielsprache in den Anfragetext ein.
cURL Beispiel.
- Übersetzt mit DeepL (empfohlen).
curl -X POST https://dplx.xi-xu.me/deepl \
-H "Content-Type: application/json" \
-d '{
"text": "Hello, world!",
"source_lang": "EN",
"target_lang": "ZH"
}'
- Google Translate verwenden.
curl -X POST https://dplx.xi-xu.me/google \
-H "Content-Type: application/json" \
-d '{
"text": "Hello, world!",
"source_lang": "EN",
"target_lang": "ZH"
}'
Beispiel für JavaScript.
async function translateWithDeepL(text, sourceLang = 'auto', targetLang = 'zh') {
const response = await fetch('https://dplx.xi-xu.me/deepl', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({
text: text,
source_lang: sourceLang,
target_lang: targetLang
})
});
const result = await response.json();
return result.data;
}
// 调用示例
translateWithDeepL('Hello, world!', 'en', 'zh')
.then(result => console.log(result))
.catch(error => console.error(error));
Python-Beispiel.
import requests
import json
def translate_with_deepl(text, source_lang='auto', target_lang='zh'):
url = 'https://dplx.xi-xu.me/deepl'
data = {
'text': text,
'source_lang': source_lang,
'target_lang': target_lang
}
response = requests.post(url, json=data)
result = response.json()
if result['code'] == 200:
return result['data']
else:
raise Exception(f"Translation failed: {result.get('message', 'Unknown error')}")
# 调用示例
try:
result = translate_with_deepl('Hello, world!', 'en', 'zh')
print(result)
except Exception as e:
print(f"Error: {e}")
2. die Integration mit Tools von Drittanbietern
DeepLX lässt sich leicht in viele gängige Übersetzungs- oder akademische Tools integrieren. Im Folgenden finden Sie Konfigurationen für einige gängige Tools:
- Pot (plattformübergreifende Wortübersetzungssoftware)
- Pot herunterladen und installieren.
- Gehen Sie zu den Service-Einstellungen des Topfes.
- Konfigurieren Sie den Diensttyp DeepL auf
DeepLX
und setzen Sie die benutzerdefinierte URL aufhttps://dplx.xi-xu.me/deepl
.
- Zotero (Werkzeug zur Dokumentationsverwaltung)
- Installieren Sie Zotero.
- Laden Sie das Plugin Translate for Zotero herunter und installieren Sie es.
- Konfigurieren Sie den Übersetzungsdienst auf der Registerkarte "Übersetzungen" Ihrer Zotero-Einstellungen wie folgt
DeepLX (API)
. - Klicken Sie auf die Schaltfläche Configure, um den Endpunkt auf
https://dplx.xi-xu.me/deepl
.
- Immersive Translate (Immersive Translate Browser-Plugin)
- Gehen Sie nach der Installation des Plugins zu den "Entwicklereinstellungen" und aktivieren Sie den Beta-Test.
- Hinzufügen eines benutzerdefinierten Übersetzungsdienstes in den Übersetzungsdiensten
DeepLX
. - Konfigurieren Sie die API-URL als
https://dplx.xi-xu.me/deepl
. - Setzen Sie die "Maximale Anzahl von Anfragen pro Sekunde" auf
80
wird die "Maximale Textlänge pro Anfrage" auf5000
für optimale Leistung.
3. selbständiger Einsatz
Wenn Sie höhere Anforderungen an den Datenschutz haben oder einen stabileren Dienst wünschen, können Sie die folgenden Schritte befolgen, um DeepLX in Ihrem eigenen Cloudflare-Konto bereitzustellen.
Vorbedingungen:
- Ein Cloudflare-Konto.
- Node.js 18+ ist installiert.
- Das Wrangler CLI (Kommandozeilentool für Cloudflare) ist installiert.
Prozess der Bereitstellung:
- Klon-Lager
git clone https://github.com/xixu-me/DeepLX.git cd DeepLX
- Installation von Abhängigkeiten
npm install
- Konfiguration der Umgebung
Öffnen Sie das Stammverzeichnis des Projektswrangler.jsonc
Datei, ändern Sie Ihreaccount_id
im Gesang antwortenname
(Name der Anwendung des Arbeitnehmers).{ "account_id": "你的CLOUDFLARE_ACCOUNT_ID", "name": "你的WORKER名称", ... }
- Erstellen eines KV-Namensraumes
DeepLX verwendet KV-Speicher für Caching und Ratenbegrenzung. Sie müssen zwei KV-Namespaces erstellen.# 创建缓存 KV npx wrangler kv:namespace create "CACHE_KV" # 创建速率限制 KV npx wrangler kv:namespace create "RATE_LIMIT_KV"
Nach der Ausführung des Befehls wird die zurückgegebene
id
Aktualisiert aufwrangler.jsonc
Dokumentationkv_namespaces
Teil. - Bereitstellen bei Cloudflare
# 部署到生产环境 npx wrangler deploy
Nach erfolgreichem Einsatz erhalten Sie eine eigene DeepLX-Dienstadresse.
Anwendungsszenario
- Integration von Übersetzungswerkzeugen für Mitarbeiter und Entwickler
Benutzer können DeepLX als Back-End-Dienst in Anwendungen, Skripte oder Bots integrieren, die sie für freie Textübersetzungsfunktionen entwickeln, z. B. Chatbots, Content-Aggregatoren und mehr. - Akademische Forschung und Lesen von Dokumenten
Für Studenten und Wissenschaftler, die viel fremdsprachige Literatur lesen müssen, kann DeepLX in Software wie Zotero, PDF-Übersetzungstools (z. B. PDFMathTranslate) und andere Software integriert werden, um PDF-Dokumente und wissenschaftliche Arbeiten mit einem Klick zu übersetzen. - Plattformübergreifende Desktop-Anwendungen
DeepLX kann als Back-End-API verwendet werden, um Unterstützung für plattformübergreifende Desktop-Übersetzungssoftware wie Pot, Bob usw. zu bieten, so dass Benutzer jederzeit problemlos Texte auf ihren Computern übersetzen können. - Browser Web-Übersetzung
Durch die Verwendung des Immersives Übersetzen Durch die Konfiguration der DeepLX-Dienstadresse in Browser-Plug-ins können die Nutzer beim Surfen auf fremdsprachigen Websites eine reibungslose und kostenlose zweisprachige Übersetzung genießen.
QA
- Warum erhalte ich immer noch die Fehlermeldung HTTP 429 (zu viele Anfragen), wenn ich es verwende?
Dies kann auf eine falsche oder unzureichende Konfiguration des Proxy-Endpunkts zurückzuführen sein. Bitte überprüfen Sie diePROXY_URLS
Die Umgebungsvariablen sind korrekt gesetzt. Um eine optimale Leistung zu erzielen, wird empfohlen, so viele Instanzen des XDPL-Agenten wie möglich bereitzustellen und hinzuzufügen. Sie können auch eine neue Instanz des XDPL-Agenten zumsrc/lib/config.ts
Datei, um die Konfiguration der Ratenbegrenzung anzupassen. - Was sind die Gründe für ungenaue Übersetzungsergebnisse?
Vergewissern Sie sich zunächst, dass der von Ihnen angegebene Code der Ausgangs- und Zielsprache korrekt ist. Wenn die Ausgangssprache auf automatische Erkennung eingestellt ist (AUTO
), vergewissern Sie sich, dass der eingegebene Text lang genug ist, um von dem Dienst richtig erkannt zu werden. Auch das Format, in dem der Text kodiert ist, kann die Qualität der Übersetzung beeinflussen. - Was ist, wenn die Selbsteinführung scheitert?
Einsätze scheitern in der Regel aus mehreren Gründen: Überprüfen Sie zunächst, ob Ihre Cloudflare-Konto-ID in der Dateiwrangler.jsonc
Datei korrekt ausgefüllt ist; zweitens, bestätigen Sie, dass dieCACHE_KV
im Gesang antwortenRATE_LIMIT_KV
beide KV-Namensräume und konfigurieren Sie deren IDs korrekt; stellen Sie schließlich sicher, dass Ihre Netzwerkumgebung ordnungsgemäß auf den Cloudflare-Dienst zugreifen kann. - Was ist der Unterschied zwischen DeepLX und der offiziellen DeepL API?
Die Hauptunterschiede sind Kosten und Leistung. Die offizielle API DeepL ist kostenpflichtig und hat strenge Beschränkungen für die Häufigkeit der Anfragen. DeepLX ist völlig kostenlos und bietet durch Lastausgleichs- und Multiproxy-Mechanismen höhere Obergrenzen für die Anfragerate und geringere Latenzzeiten, während die Stabilität des Dienstes durch intelligente Wiederholungsversuche und Meltdowns gewährleistet wird.