Self-hosted service
201206030/novel-plus avatar
201206030/novel-plus

novel-plus: a Java CMS for running a serialized fiction site

novel-plus 是一个多端(PC、WAP)阅读 、功能完善的小说 CMS 系统。包括小说推荐、小说检索、小说排行、小说阅读、小说书架、小说评论、小说爬虫、会员中心、作家专区、充值订阅、新闻发布等功能。

4,745 stars1,496 forksJavaApache-2.0

At a glance

What is it?
novel-plus is an Apache-2.0 Spring Boot CMS that bundles a reader-facing portal, an author dashboard, an admin console and a crawler into one Maven multi-module project. It is built for people who want to operate a web novel site, not for people who want a reading app.
Who is it for?
Adopt novel-plus if you are a Java team that wants a working serialized-fiction site with author and admin backends, and you accept that the AI and crawler parts are experimental. Do not adopt it if you wanted a reader app for your phone or a hosted service, because it is server software you deploy and operate yourself.
Can I use it commercially?
Yes. Apache-2.0 is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 26 days ago.
What is it written in?
Mainly Java, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 30, 2026, and from our analysis. They are not legal advice.

Editorial analysis

What novel-plus actually is, and who should run it

The README describes novel-plus as a multi-terminal (PC and WAP) reading CMS for original literature. That word, CMS, is the important one. This is not a library app and not a reading client. It is the server side of a fiction site: a front portal plus an author backend, a platform admin backend, and a separate crawler subsystem, all in one repository. The feature list covers recommendations, search, rankings, reading, bookshelves, comments, a member center, an author zone, recharge and subscription, news publishing and real-time statistics reports.

So the intended user is someone standing up a serialized-fiction site: a small publisher, a developer building a niche reading site, or a team that wants a Chinese-language novel portal with the author workflow already wired in. The repository also points at two sibling projects, a learning version (novel) and a microservice version (novel-cloud), which tells you the author treats this one as the application edition, the one you would actually deploy.

The project is not archived, and the last push was on 2026-09-04. There is a 5.x release line, with v5.3.3 published on 2026-05-17. That is recent enough to treat the codebase as live, but the README itself flags the AI features as experimental, so "live" does not mean every subsystem is production-hardened.

The five-module layout and where the data goes

The repository root holds pom.xml and five directories that matter: novel-common, novel-front, novel-crawl, novel-admin and templates. novel-common is shared code. novel-front serves both the reader-facing portal and the author backend, which is why the README calls it "前台门户&作家后台". novel-admin is the platform management console. novel-crawl is the spider. templates holds the front-end themes, and the README claims custom multi-template support with a theme switcher.

Storage is the part worth reading twice. The README says content storage is extensible, with two built-in options: database sharding and storage as TXT text. The sharding is done at the code layer through Sharding-JDBC, which is listed in the technology table alongside MyBatis, PageHelper and MyBatis Generator. That combination is a deliberate choice: instead of sharding in the database, the application decides how chapter data is split. It gives you portability across MySQL instances but it also means your schema and your application code are coupled, and moving to a different store later is not a configuration change.

The rest of the stack is conventional Spring Boot: Spring Security and Apache Shiro both appear as security frameworks, JJWT for login tokens, Redis for caching, Thymeleaf for templates, Layui for the admin UI, and Aliyun OSS as a backup image store. Seeing two security frameworks in the same table is unusual and the README does not explain how responsibilities are divided between them, which is a question to answer from the code before you extend authentication.

Installing novel-plus and publishing a first work

The README does not inline install steps. It links to an installation tutorial at docs.xxyopen.com/course/novelplus/1.html and to a demonstration video, and the repository ships a config/ directory and a doc/ directory. Treat those as the authoritative source rather than anything you infer from the module list.

What the README does document concretely is the AI configuration, which lives in the novel-front module's YAML file. The project defaults to the SiliconFlow platform, whose API is compatible with OpenAI's, called through Spring AI. Two models are named: a chat model and an image model. The README gives this shape, and the api-key value in it is the placeholder the README prints:

yaml
spring:
  ai:
    openai:
      image:
        enabled: true
        base-url: https://api.siliconflow.cn
        api-key: sk-rrrupturhdofbiqzjutduuiceecpvfqlnvmgcyiaipbdikoi
        options:
          model: Kwai-Kolors/Kolors
          response_format: URL
      api-key: sk-rrrupturhdofbiqzjutduuiceecpvfqlnvmgcyiaipbdikoi
      base-url: https://api.siliconflow.cn
      chat:
        options:
          model: deepseek-ai/DeepSeek-R1-0528-Qwen3-8B

The README's instruction is to register a SiliconFlow account, create an API key, and put it in that file. Replace the printed key with your own. With the key in place, the AI editing features appear in the chapter publishing editor, and cover generation runs on the novel publishing page when the author has not uploaded a cover of their own.

Because the README gives no build or run commands, the honest first step is to follow the linked tutorial rather than guess at a Maven invocation. Once the front module is running, the workflow implied by the feature list is: create an author account, publish a work, publish chapters, and let the portal handle reading, rankings and bookshelves. The crawler module is separate and is meant for initial test data, not for filling a live catalogue.

The crawler, the AI defaults, and the parts that will bite

Two limitations are stated by the project itself, which is more than most repositories offer.

The first is the crawler. The README's disclaimer says the crawling tool is provided only for collecting test data in the early stage of a project and should not be used for commercial profit, and that users bear all consequences for anything illegal they do with the system. That is a legal boundary, not a technical one, and it means novel-plus does not ship you a lawful content pipeline. If your business model depends on aggregated content, this project gives you the mechanism and explicitly disclaims the responsibility.

The second is the AI layer. The README says the AI features are still experimental and implement only basic core functionality. It also warns that the default models are free ones and that generation quality is limited, recommending paid models if you need better output. The default chat model is described as a distilled DeepSeek-R1 variant and the image model as Kwai-Kolors, both free to use on SiliconFlow. So the AI writing assistant, the AI cover generation, and any future features are a starting point, not a finished product, and the quality ceiling is set by whichever model you pay for.

There is a third, quieter limitation in the storage design. Choosing database sharding through Sharding-JDBC or TXT file storage is a decision you make early, and the README presents both as built-in options without describing migration between them. Whichever you pick shapes your backup strategy and your ability to move hosting later.

How novel-plus differs from a general-purpose CMS

The obvious alternative is WordPress or another general-purpose CMS with a membership plugin. The difference is domain modelling. A general CMS gives you posts, categories and users; you would build chapters, volumes, serialization state, a bookshelf, a subscription gate and an author royalty view yourself, or assemble them from plugins that were not designed to fit together. novel-plus ships those as first-class concepts across three backends, which is the whole reason to accept a Java and MySQL deployment instead of a PHP one.

The second alternative is the project's own microservice edition, novel-cloud, which the README links alongside this one. That is the same domain split into services, and it is the right comparison if you expect to scale the crawler, the portal and the admin console independently. novel-plus keeps them in one Maven build, which is simpler to run and harder to scale piecemeal. If you do not yet know which parts of the system will be under load, the monolith is the cheaper place to find out.

The third alternative is a hosted reading platform, which is what most of the search traffic around this name is actually looking for. Those give you a reader app and a storefront with no server to run. novel-plus gives you the opposite: full control of the catalogue and the code, and the operational work that comes with it.

Licence, upkeep and what a version bump costs

The licence is Apache-2.0, which permits commercial use, modification and redistribution provided you keep the notices and state changes, and it includes a patent grant. It does not require you to publish your own modifications. This is not legal advice; read the LICENSE file in the repository root before you build a business on it.

The upkeep picture is mixed. The last push was on 2026-09-04 and the most recent release is v5.3.3 from 2026-05-17, so the project is not dormant. But the release cadence is uneven: v5.2.6 in October 2025, v5.3.0 later the same month, then v5.3.3 in May 2026. Upgrades are not trivial either, because the AI integration arrived in the 5.x line, and the README ties specific features to specific versions: AI text editing in v5.0.0, AI cover generation in v5.1.0. Jumping from a 4.x deployment to 5.x therefore means adopting Spring AI and the configuration block above, not just pulling a tag.

There is also a commercial layer the README does not hide. It links a value-added services page, a WeChat account that publishes new templates and crawler rules, and an appreciation/donation section. New front-end templates and new crawler rules arrive through those channels, which means the crawler's usefulness over time depends partly on a feed you do not control.

Editorial conclusion

Adopt novel-plus if you are a Java team that wants a working serialized-fiction site with author and admin backends, and you accept that the AI and crawler parts are experimental. Do not adopt it if you wanted a reader app for your phone or a hosted service, because it is server software you deploy and operate yourself. Before committing, check the install tutorial at docs.xxyopen.com against your MySQL and Redis versions, confirm which of the five Maven modules you actually need, and read the disclaimer on crawler use. The licence is Apache-2.0, so redistribution and commercial hosting are permitted subject to its terms, but the project also sells paid value-added services and paid AI models are recommended for better output, which is a cost line the README leaves open.

Frequently asked questions

What is novel-plus?

It is a multi-terminal (PC and WAP) reading CMS for original literature, built on Spring Boot and split into a front portal, an author backend, a platform admin backend and a crawler. The README lists recommendations, search, rankings, reading, bookshelves, comments, a member center, an author zone, recharge and subscription, news publishing and statistics reports as its features.

How do you install novel-plus?

The README does not give build or run commands. It links to an installation tutorial at docs.xxyopen.com/course/novelplus/1.html and to a demonstration video, and the repository includes a config/ directory and a doc/ directory.

Which AI models does novel-plus use by default?

The README says the default provider is SiliconFlow, called through Spring AI with an OpenAI-compatible interface. The named models are deepseek-ai/DeepSeek-R1-0528-Qwen3-8B for chat and Kwai-Kolors/Kolors for image generation, both free to use, and the README warns that free models give limited output quality.

Can novel-plus store chapters as text files instead of in the database?

Yes. The README describes extensible content storage with two built-in options: database sharding through Sharding-JDBC, and TXT text storage. It does not document how to migrate between the two.

Does novel-plus come with a reader app for phones?

The README describes a multi-terminal (PC and WAP) reading CMS, meaning browser-based reading rather than a native app. The project also links a learning edition and a microservice edition, but no mobile application is mentioned.

Official sources

  1. 201206030/novel-plus on GitHub
  2. License: Apache-2.0
  3. Project website
  4. README
  5. Releases
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/201206030-novel-plus.svg)](https://hysenlabs.com/projects/201206030-novel-plus)