Ir al contenido principal

Arquitectura

El ecosistema de traducción de Champollion consta de tres herramientas independientes que funcionan juntas a través de contratos bien definidos. Ninguna de ellas depende de las otras en tiempo de compilación. Se comunican a través de un formato de plugin de método compartido y un contrato de API REST.

Las Tres Piezas

champollion (este proyecto)

La herramienta de desarrollador de código abierto. Traduce archivos de configuración regional usando métodos conectables. Cero dependencias, configuración opcional, funciona de inmediato.

Métodos integrados:

  • llm → OpenRouter / cualquier LLM (200+ modelos)
  • llm-coached → LLM + coaching de gramática/diccionario
  • openai → API directa de OpenAI (GPT-4o, GPT-4o-mini)
  • anthropic → API directa de Anthropic (Claude Sonnet, Haiku, Opus)
  • gemini → API directa de Google Gemini (Flash, Pro — nivel gratuito disponible)
  • google-translate → API de Google Cloud Translation v2
  • deepl → API de DeepL con soporte de glosario
  • microsoft-translator → Azure Cognitive Services Translator
  • libretranslate → LibreTranslate autohospedado (AGPL, gratuito)
  • api → Tubería delgada a cualquier punto final REST remoto

Eval Harness (proyecto complementario)

Una herramienta de investigación para desarrollar, probar y comparar métodos de traducción. Cuando un método alcanza una calidad aceptable, el harness exporta un plugin de método — un manifiesto method.json y archivos de datos de coaching opcionales.

El harness nunca se ejecuta dentro de champollion. Es una herramienta separada que produce salida estática (archivos JSON). Champollion simplemente lee esos archivos.

→ Eval Harness en GitHub

Champollion Translate (planeado)

Un servicio de API medido que aloja métodos de traducción propietarios del lado del servidor — los prompts, datos de coaching y tuberías lingüísticas nunca salen del servidor.

Cómo Se Conectan

Eval Harness → champollion (exportación unidireccional)

Contrato: Especificación de Plugin

Champollion Translate → champollion (API en tiempo de ejecución)

El APIMethod de Champollion es una tubería sin inteligencia. Envía claves y recibe traducciones de vuelta. No contiene lógica de traducción ni contenido propietario.

Lo Que Cada Pieza Sabe Sobre Las Otras

Herramienta¿Sabe sobre champollion?¿Sabe sobre Champollion Translate?¿Sabe sobre el harness?
champollion(es champollion)Sí — api método la llamaNo — solo lee exportaciones de plugin
Champollion TranslateSí — sirve sus solicitudes(es Champollion Translate)No — recibe métodos desplegados
Eval HarnessSí — exporta formato de pluginNo — métodos desplegados por separado(es el harness)

Escenarios de Usuario

Escenario 1: Gratuito, sin configuración (la mayoría de usuarios)

export OPENROUTER_API_KEY=sk-...
npx champollion sync

Usa el método llm integrado. Sin plugins, sin Champollion Translate, sin harness.

Escenario 2: Línea base de Google Translate

export GOOGLE_TRANSLATE_API_KEY=AIza...
npx champollion sync

Usa el método google-translate integrado. No se necesitan plugins.

Escenario 3: Plugin abierto con coaching incluido

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

El plugin tiene type: "llm-coached" → champollion usa la clave OpenRouter del usuario. Los datos de coaching son locales (sin llamada al servidor).

Escenario 4: Coaching DIY (sin plugin, sin harness)

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

El usuario mantiene sus propias reglas de gramática y diccionario en .champollion/coaching/fr.json.

Tarjetas de Idioma

Cada idioma en champollion se configura a través de una Tarjeta de Idioma — un archivo JSON unificado que contiene presets de registro, reglas de formalidad, banderas de soporte de método, convenciones tipográficas, clasificación genealógica y datos de referencia lingüística.

Las tarjetas se cargan con entusiasmo en la importación. Cada tarjeta contiene todos los metadatos que el motor de traducción y la documentación del desarrollador necesitan — no hay un nivel de referencia separado. Las tarjetas se generan a partir de fuentes autorizadas (IANA, CLDR, Glottolog, WALS) usando scripts/generate-language-card.mjs y scripts/build-language-tree.mjs, luego se curan manualmente para precisión lingüística.

Principios de Diseño

  1. Sin dependencias circulares. Los puentes son unidireccionales.
  2. Champollion es el núcleo ligero. Cero dependencias, configuración opcional. Los plugins y la API son aditivos.
  3. La protección de IP es arquitectónica. Las técnicas propietarias permanecen del lado del servidor. El paquete npm no incluye nada propietario.
  4. El formato de plugin es el contrato. Todo fluye a través de method.json.
  5. Cada herramienta tiene un trabajo. Harness → desarrollar métodos. Champollion Translate → alojar métodos. Champollion → traducir archivos.

Véase También