Zum Hauptinhalt springen

Architektur

Das Champollion-Übersetzungsökosystem besteht aus drei unabhängigen Tools, die über klar definierte Verträge zusammenarbeiten. Keines von ihnen hängt zur Build-Zeit von einem anderen ab. Sie kommunizieren über ein gemeinsames Method-Plugin-Format und einen REST-API-Vertrag.

Die drei Komponenten

champollion (dieses Projekt)

Das quelloffene Entwickler-Tool. Übersetzt Locale-Dateien mithilfe von Plugin-fähigen Methoden. Keine Abhängigkeiten, Konfiguration optional, einsatzbereit ohne weitere Einrichtung.

Integrierte Methoden:

  • llm → OpenRouter / jedes beliebige LLM (200+ Modelle)
  • llm-coached → LLM + Grammatik-/Wörterbuch-Coaching
  • openai → Direkte OpenAI-API (GPT-4o, GPT-4o-mini)
  • anthropic → Direkte Anthropic-API (Claude Sonnet, Haiku, Opus)
  • gemini → Direkte Google-Gemini-API (Flash, Pro — kostenlose Stufe verfügbar)
  • google-translate → Google Cloud Translation API v2
  • deepl → DeepL-API mit Glossar-Unterstützung
  • microsoft-translator → Azure Cognitive Services Translator
  • libretranslate → Selbst gehostetes LibreTranslate (AGPL, kostenlos)
  • api → Schlanke Anbindung an jeden beliebigen entfernten REST-Endpunkt

Eval Harness (Begleitprojekt)

Ein Forschungs-Tool zur Entwicklung, zum Testen und zum Benchmarking von Übersetzungsmethoden. Wenn eine Methode eine akzeptable Qualität erreicht, exportiert das Harness ein Method-Plugin — ein method.json-Manifest und optionale Coaching-Datendateien.

Das Harness läuft niemals innerhalb von champollion. Es ist ein separates Tool, das statische Ausgaben (JSON-Dateien) erzeugt. Champollion liest lediglich diese Dateien.

→ Eval Harness auf GitHub

Champollion Translate (geplant)

Ein nutzungsbasierter API-Dienst, der proprietäre Übersetzungsmethoden serverseitig hostet — die Prompts, Coaching-Daten und linguistischen Pipelines verlassen niemals den Server.

Wie sie zusammenhängen

Eval Harness → champollion (einseitiger Export)

Vertrag: Plugin-Spezifikation

Champollion Translate → champollion (API zur Laufzeit)

Champollions APIMethod ist eine reine Anbindung ohne Eigenlogik. Es sendet Schlüssel hinaus und empfängt Übersetzungen zurück. Es enthält keinerlei Übersetzungslogik und keinerlei proprietäre Inhalte.

Was jede Komponente über die anderen weiß

ToolWeiß über champollion Bescheid?Weiß über Champollion Translate Bescheid?Weiß über das Harness Bescheid?
champollion(ist champollion)Ja — die api-Methode ruft es aufNein — liest lediglich Plugin-Exporte
Champollion TranslateJa — bedient dessen Anfragen(ist Champollion Translate)Nein — empfängt bereitgestellte Methoden
Eval HarnessJa — exportiert das Plugin-FormatNein — Methoden werden separat bereitgestellt(ist das Harness)

Anwendungsszenarien

Szenario 1: Kostenlos, ohne Konfiguration (die meisten Nutzer)

export OPENROUTER_API_KEY=sk-...
npx champollion sync

Verwendet die integrierte llm-Methode. Keine Plugins, kein Champollion Translate, kein Harness.

Szenario 2: Google-Translate-Baseline

export GOOGLE_TRANSLATE_API_KEY=AIza...
npx champollion sync

Verwendet die integrierte google-translate-Methode. Keine Plugins erforderlich.

Szenario 3: Offenes Plugin mit gebündeltem Coaching

champollion plugin install ./french-formal-v1/
champollion sync

Das Plugin verfügt über type: "llm-coached" → champollion verwendet den eigenen OpenRouter-Schlüssel des Nutzers. Die Coaching-Daten sind lokal (kein Serveraufruf).

Szenario 4: Selbstgemachtes Coaching (kein Plugin, kein Harness)

champollion.config.json
{
"pairs": {
"en:fr": { "method": "llm-coached" }
}
}

Der Nutzer pflegt seine eigenen Grammatikregeln und sein eigenes Wörterbuch in .champollion/coaching/fr.json.

Language Cards

Jede Sprache in champollion wird über eine Language Card konfiguriert — eine einheitliche JSON-Datei, die Register-Voreinstellungen, Formalitätsregeln, Flags zur Methodenunterstützung, Typografiekonventionen, genealogische Klassifizierung und linguistische Referenzdaten enthält.

Die Cards werden beim Import vollständig (eager) geladen. Jede Card enthält alle Metadaten, die die Übersetzungs-Engine und die Entwicklerdokumentation benötigen — es gibt keine separate Referenzebene. Die Cards werden aus maßgeblichen Quellen (IANA, CLDR, Glottolog, WALS) mithilfe von scripts/generate-language-card.mjs und scripts/build-language-tree.mjs generiert und anschließend von Menschen auf linguistische Genauigkeit kuratiert.

Designprinzipien

  1. Keine zirkulären Abhängigkeiten. Die Brücken sind einseitig.
  2. Champollion ist der schlanke Kern. Keine Abhängigkeiten, Konfiguration optional. Plugins und API sind additiv.
  3. Der Schutz geistigen Eigentums ist architektonisch verankert. Proprietäre Techniken bleiben serverseitig. Das npm-Paket liefert nichts Proprietäres aus.
  4. Das Plugin-Format ist der Vertrag. Alles fließt durch method.json.
  5. Jedes Tool hat eine Aufgabe. Harness → Methoden entwickeln. Champollion Translate → Methoden hosten. Champollion → Dateien übersetzen.

Siehe auch