项目概述
最近接触到一个很有意思的开源项目,专门针对日语轻小说的阅读场景。对于很多喜欢追更日本网络小说的朋友来说,语言障碍一直是痛点。这个工具的核心思路很直接:自动抓取、多引擎翻译、构建阅读生态。
它支持 Kakuyomu、小説家になろう等主流平台的内容采集,也能处理本地的 EPUB 或 TXT 文件。最吸引人的地方在于它的扩展性,集成了百度、有道以及 OpenAI 类 API 等多种翻译服务,用户可以根据需求切换引擎。
核心功能与实现逻辑
自动化采集
爬虫部分是整个系统的基石。在 crawler/src/lib/domain/ 目录下,你可以看到针对不同平台的适配代码,比如 kakuyomu.ts 和 syosetu.ts。这些模块负责解析不同网站的 HTML 结构,提取章节内容。只要输入小说名称或 URL,系统就能智能完成抓取。
翻译引擎集成
翻译逻辑封装在 web/src/domain/translate/ 目录中。这里定义了多个接口,实现了 TranslatorBaidu.ts、TranslatorOpenAi.ts 等具体策略。这种设计让切换翻译源变得非常简单,无论是追求速度的快速浏览,还是需要精度的深度阅读,都能找到合适的配置。
阅读体验优化
前端部分位于 web/ 目录,基于 Vue3 + TypeScript + Vite 构建。阅读界面在 web/src/pages/reader/ 下,包含了 Reader.vue 及相关组件。除了基础的在线阅读,它还支持进度记忆和书架管理,相关逻辑在 web/src/pages/bookshelf/ 中。
快速部署指南
考虑到环境配置的复杂性,项目采用了 Docker Compose 进行编排。确保本地已安装 Docker 后,可以直接拉取代码并启动服务。
git clone https://github.com/auto-novel/auto-novel
cd auto-novel
docker compose up -d
启动完成后,访问 http://localhost 即可进入系统。主流程非常直观:选择在线或本地模式,输入信息或上传文件,设定翻译参数,剩下的交给系统处理。
技术架构分析
整体采用前后端分离架构,数据持久化依赖 MongoDB 和 ElasticSearch,配置都集成在根目录的 docker-compose.yml 文件中。
- 后端:Kotlin + Spring Boot,位于
server/目录,负责业务逻辑和数据存储。 - 前端:Vue3 + TypeScript,位于
web/目录,提供交互界面。 - 核心模块:爬虫模块在
crawler/src/lib/domain/,翻译模块在web/src/domain/translate/,数据存储逻辑在server/src/main/kotlin/infra/。
进阶使用技巧
术语表定制
通用翻译往往无法准确处理专有名词。通过 web/src/pages/novel/WenkuNovelEdit.vue 中的术语管理功能,可以创建专属词汇对照表。比如将'魔法'固定映射为特定译名,或者统一'剣士'的翻译风格,这样能显著提升长篇小说的阅读连贯性。
批量任务处理
如果你手头有大量资源需要转换,可以利用工作区功能。web/src/pages/workspace/ 下的 GptWorkspace.vue 和 SakuraWorkspace.vue 允许同时处理多个任务,设置优先级并监控进度,避免重复劳动。

