轻小说机翻机器人:基于 Kotlin 与 Vue3 的开源翻译方案
对于喜欢阅读日本轻小说的朋友来说,语言障碍往往是个头疼的问题。最近接触到一个开源项目,提供了一个完整的解决方案:自动抓取、多引擎翻译以及阅读管理。这套系统支持 Docker 部署,上手成本很低。
核心功能概览
这个工具的核心在于打通了从内容获取到阅读的全流程。
全自动采集
内置了对 Kakuyomu、小説家になろう等主流平台的适配。代码层面通过 crawler/src/lib/domain/ 下的模块(如 kakuyomu.ts)解析不同网站的 HTML 结构,输入名称或 URL 即可抓取章节。
多引擎翻译
不局限于单一接口,集成了百度、有道、OpenAI 类 API 以及 Sakura 等引擎。相关逻辑封装在 web/src/domain/translate/ 目录中,你可以根据需求切换,平衡速度与质量。
阅读生态 不仅仅是翻译,还考虑了阅读体验。支持在线阅读进度记忆,并能导出 EPUB 或 TXT 格式。书架功能允许对已翻译作品进行分类收藏,实现本地化管理。
技术架构拆解
项目采用前后端分离的设计,技术选型比较现代:
- 后端:Kotlin + Spring Boot,位于
server/目录,负责业务逻辑和数据持久化。 - 前端:Vue3 + TypeScript + Vite,位于
web/目录,提供交互界面。 - 存储:MongoDB 配合 ElasticSearch,配置在
docker-compose.yml中,兼顾文档存储与检索性能。
快速部署指南
依赖环境主要是 Docker 和 Docker Compose。克隆仓库后,进入项目目录执行启动命令即可。
git clone <项目仓库地址>
cd auto-novel
docker compose up -d
启动成功后访问 localhost 即可进入系统。界面分为'在线小说'和'本地文件'两种模式,分别对应网络抓取和本地 EPUB/TXT 上传。
进阶使用建议
如果想获得更好的翻译效果,可以关注以下两点:
- 术语表定制:在编辑页面创建专属词汇对照表,比如将特定专有名词固定映射,避免上下文不一致。
- 批量处理:利用工作区功能同时提交多个任务,设置优先级并监控进度,适合一次性导入大量资源。
此外,阅读界面的字体、背景等个性化设置都保存在状态管理中,方便在不同设备间同步偏好。整体来看,这是一个非常适合技术爱好者折腾的开源项目,既能满足阅读需求,又能学习其架构设计。

