novel-plus 5.0.0 发布:架构全面升级,新增 AI 写作功能


novel-plus 5.0.0 已发布,主要改变如下:

架构升级

  • Java 版本:从旧版本升级到 Java 21。
  • Spring Boot 版本:从旧版本升级到 3.4.0。
  • ShardingSphere-JDBC:从旧版本升级到 5.5.1。
  • 其他依赖:同步更新了多个相关依赖库以确保兼容性和安全性。

前台功能增强

  • 作家专区:新增 AI 写作功能,提升创作效率。

爬虫功能改进

  • 代理 IP 设置:增加了支持用户名密码的代理 IP 配置。
  • 编码支持:新增对非 UTF-8 编码网站的采集支持。
  • 分类与流程优化:改进了分类规则和采集流程,增强了对更多网站的支持。
  • 修复失效规则:修正了若干已失效的爬虫规则。

其他

  • Bug 修复与优化:解决了多个已知问题,并进行了性能优化。

项目介绍

novel-plus 是一个多端(PC、WAP)阅读,功能完善的原创文学 CMS
系统。由前台门户系统、作家后台管理系统、平台后台管理系统和爬虫管理系统等多个子系统构成,包括小说推荐、作品检索、小说排行、小说阅读、小说评论、会员中心、作家专区等功能,支持自定义多模版、可拓展的多种小说内容存储方式(内置数据库分表存储和
TXT 文本存储)、阅读主题切换、多爬虫源自动采集和更新数据、AI 写作、会员充值、订阅模式、新闻发布和实时统计报表。

AI 编辑器

项目结构

1
2
3
4
5
6
novel-plus -- 父工程
├── novel-common -- 通用模块
├── novel-front -- 前台门户&作家后台
├── novel-crawl -- 爬虫
├── novel-admin -- 管理后台
└── templates -- 前端模版

技术选型

技术 说明
Spring Boot Spring 应用快速开发脚手架
Spring AI Spring 官方 AI 框架
MyBatis 持久层 ORM 框架
MyBatis Dynamic SQL Mybatis 动态 sql
PageHelper MyBatis 分页插件
MyBatis Generator 持久层代码生成插件
Sharding-JDBC 代码层分库分表中间件
JJWT JWT 登录支持
Spring Security 安全框架
Apache Shiro 安全框架
Redis 缓存方案
Aliyun OSS 阿里云对象存储服务(图片存储备选方案)
Lombok 简化对象封装工具
Docker 应用容器引擎
MySQL 数据库服务
Thymeleaf 模板引擎
Layui 前端 UI 框架

项目演示

https://www.bilibili.com/video/BV1Zo4y187Mi

AI写作说明

novel-plus 5.x 版本已集成 Spring 官方最新发布的 Spring AI 框架,在小说章节发布页面的文本编辑器中推出了多项智能编辑功能,包括 AI 扩写、缩写、续写及文本润色等。这些功能的设计灵感来源于百家号文章编辑器中的 AI 助手。

目前,AI 编辑功能仍处于实验阶段,仅实现了基础的核心功能。我们非常重视用户的实际使用体验和反馈,未来将根据用户需求和使用情况,持续优化和调整该功能。如果用户反馈积极,我们计划进一步开发更高级的 AI 功能,例如自动生成有声小说、智能情节推荐等,以全面提升 novel-plus 的创作能力和用户体验。

我们将持续关注 AI 技术的发展,并致力于将其与小说创作场景深度融合,为用户带来更智能、更便捷的创作工具。

由于 DeepSeek 官方 API 目前不可用,novel-plus 项目默认使用的是第三方硅基流动提供的 API,采用的 AI 模型为:deepseek-ai/DeepSeek-R1-Distill-Llama-8B(DeepSeek-R1 的蒸馏版本,免费使用)。只需注册一个硅基流动账号,创建一个 API 密钥,并将其添加到 novel-plus 项目 novel-front 模块的 yaml 配置文件中,即可体验 novel-plus 项目的 AI 写作功能。

1
2
3
4
5
6
7
8
spring:
ai:
openai:
api-key: sk-rrrupturhdofbiqzjutduuiceecpvfqlnvmgcyiaipbdikoi
base-url: https://api.siliconflow.cn
chat:
options:
model: deepseek-ai/DeepSeek-R1-Distill-Llama-8B

安装教程在老版本教程的基础上做如下修改:

  1. JDK安装时请选择版本21
  2. MySQL的连接配置请修改shardingsphere-jdbc.yml文件
  3. Redis的连接配置请修改application.yml文件

注意:老版本教程中提到的配置文件application-common-prod.ymlapplication-prod.yml统一更名为application.yml