跳转到主要内容

架构

Champollion 翻译生态系统由三个独立工具组成,通过明确定义的契约相互协作。它们在构建时互不依赖。它们通过共享的方法插件格式REST API 契约进行通信。

三个组件

champollion(本项目)

开源开发者工具。使用可插拔方法翻译语言文件。零依赖、配置可选、开箱即用。

内置方法:

  • llm → OpenRouter / 任意 LLM(200+ 模型)
  • llm-coached → LLM + 语法/词典指导
  • openai → 直接 OpenAI API(GPT-4o、GPT-4o-mini)
  • anthropic → 直接 Anthropic API(Claude Sonnet、Haiku、Opus)
  • gemini → 直接 Google Gemini API(Flash、Pro — 免费层可用)
  • google-translate → Google Cloud Translation API v2
  • deepl → DeepL API 及词汇表支持
  • microsoft-translator → Azure 认知服务翻译器
  • libretranslate → 自托管 LibreTranslate(AGPL、免费)
  • api → 连接任意远程 REST 端点的瘦管道

Eval Harness(配套项目)

用于开发、测试和基准测试翻译方法的研究工具。当方法达到可接受的质量时,harness 导出一个方法插件 — 一个 method.json 清单和可选的指导数据文件。

Harness 永远不在 champollion 内部运行。它是一个独立工具,生成静态输出(JSON 文件)。Champollion 只是读取这些文件。

→ GitHub 上的 Eval Harness

Champollion Translate(计划中)

一个计量 API 服务,在服务器端托管专有翻译方法 — 提示词、指导数据和语言学管道永远不会离开服务器。

它们如何连接

Eval Harness → champollion(单向导出)

契约插件规范

Champollion Translate → champollion(运行时 API)

Champollion 的 APIMethod 是一个哑管道。它发送密钥并接收翻译结果。它不包含任何翻译逻辑和专有内容。

每个组件对其他组件的了解

工具了解 champollion?了解 Champollion Translate?了解 harness?
champollion(就是 champollion)是 — api 方法调用它否 — 仅读取插件导出
Champollion Translate是 — 服务其请求(就是 Champollion Translate)否 — 接收已部署的方法
Eval Harness是 — 导出插件格式否 — 方法单独部署(就是 harness)

用户场景

场景 1:免费、零配置(大多数用户)

export OPENROUTER_API_KEY=sk-...
npx champollion sync

使用内置 llm 方法。无插件、无 Champollion Translate、无 harness。

场景 2:Google Translate 基线

export GOOGLE_TRANSLATE_API_KEY=AIza...
npx champollion sync

使用内置 google-translate 方法。无需插件。

场景 3:开放插件与捆绑指导

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

插件有 type: "llm-coached" → champollion 使用用户自己的 OpenRouter 密钥。指导数据是本地的(无服务器调用)。

场景 4:DIY 指导(无插件、无 harness)

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

用户在 .champollion/coaching/fr.json 中维护自己的语法规则和词典。

语言卡

Champollion 中的每种语言都通过语言卡进行配置 — 一个统一的 JSON 文件,包含寄存器预设、正式程度规则、方法支持标志、排版约定、系统分类和语言学参考数据。

卡在导入时急切加载。每张卡包含翻译引擎和开发者文档所需的所有元数据 — 没有单独的参考层。卡从权威来源(IANA、CLDR、GlottologWALS)生成,使用 scripts/generate-language-card.mjsscripts/build-language-tree.mjs,然后由人工审核以确保语言学准确性。

设计原则

  1. 无循环依赖。 桥接是单向的。
  2. Champollion 是轻量级核心。 零依赖、配置可选。插件和 API 是附加的。
  3. IP 保护是架构性的。 专有技术保留在服务器端。npm 包不包含任何专有内容。
  4. 插件格式是契约。 一切都通过 method.json 流动。
  5. 每个工具有一个职责。 Harness → 开发方法。Champollion Translate → 托管方法。Champollion → 翻译文件。

另见