Naar hoofdinhoud gaan

Architectuur

Het Champollion-vertaalecosysteem bestaat uit drie onafhankelijke tools die samenwerken via goed gedefinieerde contracten. Geen van hen is afhankelijk van de andere tijdens het bouwen. Ze communiceren via een gedeeld methode-pluginformaat en een REST API-contract.

De Drie Onderdelen

champollion (dit project)

De open-source ontwikkelaarstool. Vertaalt localisatiebestanden met behulp van uitwisselbare methoden. Geen afhankelijkheden, configuratie optioneel, werkt direct uit de doos.

Ingebouwde methoden:

  • llm → OpenRouter / elke LLM (200+ modellen)
  • llm-coached → LLM + grammatica-/woordenboekbegeleiding
  • openai → Directe OpenAI API (GPT-4o, GPT-4o-mini)
  • anthropic → Directe Anthropic API (Claude Sonnet, Haiku, Opus)
  • gemini → Directe Google Gemini API (Flash, Pro — gratis laag beschikbaar)
  • google-translate → Google Cloud Translation API v2
  • deepl → DeepL API met woordenlijstondersteuning
  • microsoft-translator → Azure Cognitive Services Translator
  • libretranslate → Zelf-gehoste LibreTranslate (AGPL, gratis)
  • api → Dunne doorvoer naar elk extern REST-eindpunt

Eval Harness (begeleidend project)

Een onderzoekstool voor het ontwikkelen, testen en benchmarken van vertaalmethoden. Wanneer een methode een aanvaardbare kwaliteit bereikt, exporteert de harness een methode-plugin — een method.json-manifest en optionele begeleidingsdatabestanden.

De harness wordt nooit uitgevoerd binnen champollion. Het is een afzonderlijke tool die statische uitvoer produceert (JSON-bestanden). Champollion leest enkel die bestanden.

→ Eval Harness op GitHub

Champollion Translate (gepland)

Een API-dienst met verbruiksvergoeding die propriëtaire vertaalmethoden server-side host — de prompts, begeleidingsdata en linguïstische pipelines verlaten de server nooit.

Hoe Ze Verbonden Zijn

Eval Harness → champollion (eenrichtingsexport)

Contract: Pluginspecificatie

Champollion Translate → champollion (API tijdens uitvoering)

Champollions APIMethod is een domme doorvoer. Het verstuurt sleutels en ontvangt vertalingen terug. Het bevat geen enkele vertaallogica en geen enkele propriëtaire inhoud.

Wat Elk Onderdeel Weet Over de Anderen

ToolWeet over champollion?Weet over Champollion Translate?Weet over harness?
champollion(is champollion)Ja — api-methode roept het aanNee — leest enkel plugin-exports
Champollion TranslateJa — bedient zijn verzoeken(is Champollion Translate)Nee — ontvangt geïmplementeerde methoden
Eval HarnessJa — exporteert pluginformaatNee — methoden worden afzonderlijk geïmplementeerd(is de harness)

Gebruikersscenario's

Scenario 1: Gratis, zonder configuratie (de meeste gebruikers)

export OPENROUTER_API_KEY=sk-...
npx champollion sync

Gebruikt de ingebouwde llm-methode. Geen plugins, geen Champollion Translate, geen harness.

Scenario 2: Google Translate als basislijn

export GOOGLE_TRANSLATE_API_KEY=AIza...
npx champollion sync

Gebruikt de ingebouwde google-translate-methode. Geen plugins vereist.

Scenario 3: Open plugin met gebundelde begeleiding

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

Plugin heeft type: "llm-coached" → champollion gebruikt de eigen OpenRouter-sleutel van de gebruiker. Begeleidingsdata is lokaal (geen serveraanroep).

Scenario 4: Zelfgemaakte begeleiding (geen plugin, geen harness)

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

Gebruiker beheert zijn eigen grammaticaregels en woordenboek in .champollion/coaching/fr.json.

Taalkaarten

Elke taal in champollion wordt geconfigureerd via een Taalkaart — een uniform JSON-bestand dat registervoorinstellingen, formaliteitsregels, methode-ondersteuningsvlaggen, typografische conventies, genealogische classificatie en linguïstische referentiedata bevat.

Kaarten worden gretig geladen bij import. Elke kaart bevat alle metadata die de vertaalengine en de ontwikkelaarsdocumentatie nodig hebben — er is geen afzonderlijke referentielaag. Kaarten worden gegenereerd uit gezaghebbende bronnen (IANA, CLDR, Glottolog, WALS) met behulp van scripts/generate-language-card.mjs en scripts/build-language-tree.mjs, en vervolgens door mensen gecureerd voor linguïstische nauwkeurigheid.

Ontwerpprincipes

  1. Geen circulaire afhankelijkheden. De bruggen zijn eenrichtingsverkeer.
  2. Champollion is de lichtgewicht kern. Geen afhankelijkheden, configuratie optioneel. Plugins en API zijn additief.
  3. IP-bescherming is architecturaal. Propriëtaire technieken blijven server-side. Het npm-pakket bevat niets propriëtairs.
  4. Het pluginformaat is het contract. Alles verloopt via method.json.
  5. Elke tool heeft één taak. Harness → methoden ontwikkelen. Champollion Translate → methoden hosten. Champollion → bestanden vertalen.

Zie Ook