开源轻小说机翻机器人:架构解析与快速部署
这是一个基于 Kotlin 后端与 Vue3 前端的开源日语小说翻译系统。它不仅能自动抓取 Kakuyomu、小説家になろう等日本主流平台的内容,还支持百度、OpenAI、Sakura 等多种翻译引擎切换,最终提供在线阅读及 EPUB/TXT 导出功能。
系统核心能力
自动化采集
系统内置了对多个日本小说平台的适配逻辑。在 crawler/src/lib/domain/ 目录下,可以看到针对不同网站结构的解析实现,例如 kakuyomu.ts 和 syosetu.ts。只需输入小说名称或 URL,即可智能抓取章节内容。
多引擎翻译集成
为了满足不同阅读场景的需求,翻译模块支持灵活切换。相关代码位于 web/src/domain/translate/,包含了 TranslatorBaidu.ts、TranslatorOpenAi.ts 等具体实现。你可以从快速浏览的免费接口切换到深度阅读的付费 API。
阅读生态构建
除了翻译本身,系统还关注阅读体验。前端页面 web/src/pages/reader/ 提供了进度记忆、字体调整等功能,配合书架管理(web/src/pages/bookshelf/),让已翻译的小说便于整理和二次分发。
环境准备与部署
项目采用 Docker Compose 进行容器化编排,依赖包括 MongoDB 和 ElasticSearch。确保本地已安装 Docker 环境后,可以直接拉取代码并启动服务。
git clone https://github.com/GitHub_Trending/au/auto-novel
cd auto-novel
docker compose up -d
启动完成后,访问 http://localhost 即可进入系统。后续操作分为在线小说抓取和本地文件处理两种模式,用户可根据需求选择翻译参数并开始任务。
进阶使用技巧
术语表定制
对于专业术语较多的作品,建议在 web/src/pages/novel/WenkuNovelEdit.vue 中维护自定义词汇表。比如将特定名词映射为中文习惯用语,能显著提升翻译的一致性。
批量任务管理
如果需要处理大量资源,可以利用工作区功能(GptWorkspace.vue 等)并行监控多个翻译任务的进度。设置优先级后,系统会按序调度翻译请求。
阅读体验优化
在阅读界面通过设置面板调整背景色、行间距等参数,这些配置保存在 web/src/stores/useSettingStore.ts 中。此外,EPUB 导出功能允许你将翻译后的内容同步到 Kindle 或其他阅读器上。
技术架构概览
整个系统采用前后端分离设计:
- 前端:Vue3 + TypeScript + Vite,位于
web/目录,负责交互与展示。 - 后端:Kotlin + Spring Boot,位于
server/目录,处理业务逻辑与爬虫调度。 - 存储:MongoDB 用于文档存储,ElasticSearch 用于全文检索,配置均在
docker-compose.yml中定义。
核心模块分工明确,爬虫负责数据获取,翻译模块调用外部 API,存储层负责持久化。这种架构保证了系统的可扩展性,也方便后续接入新的翻译源或小说站点。

