wenyi 是开源长篇小说 AI 翻译工具,支持 EPUB/FB2/TXT/Markdown/HTML/PDF 等多种格式。自带全书上下文分析、滚动上下文窗口保证术语一致,AI 校对阶段确保翻译质量。Python 3.10+ 驱动,uv 包管理,AGPL-3.0 开源免费,无需注册即装即用。

🎤 引言

你有没有过这种经历:

想读一本外文书,结果发现没有中文译本,或者译本糟糕得像机翻——人名乱飞、术语不统一、上下文断裂、读起来像两个人写的。

传统的机翻工具,逐句翻译,没有上下文概念。遇到长篇连载小说,前后人名对不上、同一术语出现三四种译法,是家常便饭。

wenyi/wɛnjiː/,意为「翻译」)就是来解决这个问题的:一个专攻长篇文学 AI 翻译的开源工具,核心理念是「全书视角翻译」——不是逐句翻,而是一次性喂给 AI 一整本书,让它看到前因后果再下笔。

GitHub 上 1.8k Stars,AGPL-3.0 开源,目前是个人早期项目,但在 Reddit 机器翻译区已经有人主动安利。


⭐ 核心功能

📖 全书上下文翻译

传统机翻:一句一句来,AI 只看当前句子。
wenyi:滚动上下文窗口,把前文已翻译内容也喂给 LLM,让它在术语、风格、逻辑上保持一致。

这对于长篇连载小说特别重要——主角名字可能出现几百次,同一个法术名称可能跨越几十章,统一翻译全靠这个滚动窗口。

🔄 四阶段翻译流程

wenyi 的翻译管线分四个阶段:

阶段作用
1. 全书分析扫描全书结构、提取关键术语、建立人物/地点/事件清单
2. 滚动翻译按章节顺序翻译,同时保持上下文窗口
3. 术语表构建从全文中提取关键词汇,建立 Glossary
4. 校对阶段AI Review,修正术语不一致、格式问题、漏译

📁 多格式支持

格式支持情况
EPUB✅ 完整支持(输入/输出)
FB2✅ FictionBook 格式
TXT✅ 纯文本
Markdown✅ 含格式标签
HTML✅ 含样式
PDF✅ 需外部解析库

🛠️ 术语表管理

支持手动维护 Glossary,也支持 AI 自动从全文提取。遇到「Harry」自动翻译成「哈利」而不是「哈瑞」,遇到「Avada Kedavra」自动保持一致——这就是术语表的作用。

🤖 多 LLM 后端支持

不绑定具体模型,通过配置切换:

# config.yaml
llm:
  provider: openai  # 或 anthropic / ollama / deepseek / ...
  model: gpt-4o
  api_key: ${OPENAI_API_KEY}

支持 Ollama 本地部署,完全离线翻译,数据不出本机。


📥 安装与使用

环境要求

  • Python 3.10+
  • uv(新一代 Python 包管理,比 pip 快 10-100 倍)

安装

# 推荐用 uv 安装
uv tool install wenyi

# 或直接 pip
pip install wenyi

快速上手

# 设置 API Key
export OPENAI_API_KEY="***"

# 直接翻译一本 EPUB(输出同目录 .zh.epub)
wenyi translate book.epub --target-lang Chinese

# 指定输出格式
wenyi translate book.epub --target-lang Chinese --output-format txt

# 使用本地模型(Ollama)
export OLLAMA_HOST="http://localhost:11434"
wenyi translate book.epub --target-lang Chinese --llm-provider ollama --model llama3.1

配置文件

# 生成默认配置
wenyi init

# 编辑 config.yaml
wenyi config edit

配置里可以预设:

  • LLM provider + model
  • 输出语言
  • 术语表路径
  • 上下文窗口大小

🎯 适用场景

特别适合

  • 📚 轻小说/网络小说爱好者:追更日本/韩国/英文网文,等不及官方译本
  • 🔍 学术研究者:翻译外文专著、论文集,无需等待正式出版
  • 🌍 出海网文作者:把自己写的中文网文翻译成英/日/韩文发布
  • 🛠️ 技术文档翻译:MD/HTML 格式的技术书籍快速中文化
  • 🎮 GalGame 文本提取:FB2/EPUB 格式游戏文本翻译

不太适合

  • 📰 实时新闻翻译(wenyi 定位是长篇,慢工出细活)
  • 🧑‍💻 技术代码注释翻译(代码+文本混杂场景,目前支持不完善)
  • 📱 移动端使用(纯 CLI 工具,需要命令行环境)

🔍 对比/替代方案

工具类型长篇质量上下文格式支持部署
wenyi开源长篇翻译⭐⭐⭐⭐滚动窗口EPUB/FB2/TXT/MD/HTML/PDF本地/云端
DeepL商业翻译 API⭐⭐⭐⭐无(逐句)通用文本云端
Google Translate商业翻译 API⭐⭐⭐无(逐句)通用文本云端
LLM+Prompt DIY手动提示词⭐⭐⭐⭐依赖 Prompt通用文本任意 LLM
EPUBTranslator开源 EPUB⭐⭐⭐有限仅 EPUB本地

关键差异:wenyi 是目前唯一一个专门为长篇电子书设计上下文感知翻译的开源工具。DeepL/Google 逐句翻译无上下文,LLM+Prompt DIY 需要自己写管线,EPUBTranslator 功能单一。


⚠️ 注意事项

  1. 依赖 LLM API 成本

    • 翻译一本 30 万字的小说,Token 消耗相当可观
    • 建议使用价格低的模型(如 GPT-4o-mini、Claude 3.5 Haiku)
    • 本地部署 Ollama 可零成本,但速度慢
  2. 早期项目,偶有 bug

    • Issues 页面有 2 个 open,PR 有 12 个(社区活跃)
    • PDF 解析依赖外部库,部分 PDF 可能提取失败
    • 遇到问题建议先看 GitHub Discussions
  3. 上下文窗口有上限

    • LLM 的 context window 限制了单次喂入的翻译量
    • 长篇小说需要分批次翻译,再拼接
    • 批次衔接处可能存在轻微不一致(wenyi 会尽量通过术语表缓解)
  4. 版权提醒

    • 翻译他人受版权保护的作品涉及法律风险
    • wenyi 定位是个人学习用途,商用请谨慎

✅ 总结

wenyi 解决的是一个很垂直的需求:长篇电子书的多语言翻译,且保持术语和风格的一致性

在它之前,这个需求要么靠 DeepL 逐句翻(质量差),要么靠昂贵的专业翻译服务,要么靠自己写一堆 Prompt 搭管线。wenyi 把这套流程封装成了一个开箱即用的 CLI 工具,AGPL-3.0 开源,Python 3.10+ 就能跑。

适合人群:有外文阅读习惯、被机翻质量折磨过、愿意折腾命令行的技术用户。
不适合人群:完全不懂命令行的普通用户、急需出版级翻译质量的用户。

如果你有想读但没有中文版的书,搭一个 Ollama,跑几章试试——也许它就是你在等的那把钥匙。

推荐指数:⭐⭐⭐⭐(4/5,技术向阅读爱好者必试)


📦 项目地址:https://github.com/BigDawnGhost/wenyi
🌐 官方网站:https://blog.wenyi.org
📜 许可证:AGPL-3.0(开源免费)
💬 社区:Discord | QQ群:1055065098