# AINoval: a Flutter and Spring Boot writing platform for Chinese webnovels

> MaliangAINovalWriter, also called AINoval or Maliang Writer, is a Chinese webnovel writing platform that pairs a Flutter web editor with a Spring Boot backend and multi-agent model orchestration. It gives authors three-level outlines, a worldbuilding tree and a knowledge graph for consistency, and it gives platform operators an LLM observability console, but the repository publishes only a README, so you read the design rather than the code.

**Deng-m1/MaliangAINovalWriter** — 马良写作 AINoval — AI novel writer for Chinese webnovels（网文）| 多智能体AI小说创作平台：三级大纲、知识图谱一致性、30万字连载

- Repository: https://github.com/Deng-m1/MaliangAINovalWriter
- Website: https://maliangwriter.com/
- Stars: 897 · Forks: 247
- Language: Unknown
- License: not declared
- Published: 2026-10-20 · Updated: 2026-10-20 · Language: en
- Canonical page: https://hysenlabs.com/projects/deng-m1-maliangainovalwriter

## The repository is a README, not a codebase

The first thing to establish is that this repository contains a README and nothing else. The top level has a single entry, README.md, and the primary language is recorded as unknown, and the licence field on the repository is not identified either. Everything that can be said about the project comes from that document, which is long and detailed about features and thin on implementation. There is no source tree to browse, no package manifest, no container file and no build instructions, and the release history records a 1.0.0 in November 2025 with two earlier tags from September 2025. The last push was on 2026-08-20. So this is a project you read about rather than one you build, and for an engineer the useful question is what the documented design tells you about how such a platform is put together. The screenshots in the README, which cover the start page, the editor, the outline and chat view, the prompt management screen and the analytics screens, are the closest thing to a walkthrough.

## A Flutter editor over a Spring Boot backend

The stack is stated in the badges and in the opening description: Flutter for the web, Spring Boot for the back end, Java, MongoDB and Docker, with an Apache 2.0 licence badge. The interesting architectural decision is that the administrator back end is a separate Flutter web application with its own entry point, lib/admin_main.dart, and that it is composed of named screens assembled by AdminDashboardScreen into a single side navigation. That is a deliberate split between two front ends, one for authors and one for operators, both talking to the same Spring Boot services, and it explains why the admin feature set is described in terms of specific screen classes such as UserManagementScreen, RoleManagementScreen, PublicModelManagementScreen, ModelPricingManagementScreen, BillingAuditScreen and LLMObservabilityScreen. It also means the repository layout, when there is one, would have to hold two Flutter applications, and the naming convention in the README suggests the code uses explicit screen classes with repositories behind them rather than a single large component.

## Three-level outlines and a four-level content tree

The content model is the part an author would feel first, and it has two shapes. The English summary describes a three-level outline, novel to volume to chapter, and the Chinese feature list describes a four-level structure of work, volume, chapter and scene. Those are not contradictory, they are the plan and the writing, and a scene sits inside a chapter the way a chapter sits inside a volume. On top of that sits an outline overview for seeing the whole shape at once, and a chapter tree in the side bar for jumping around. Import is handled separately, with txt import that parses the table of contents automatically, and the platform runs a background model job while importing to generate a chapter outline for each chapter, which is how an existing work is migrated without writing those outlines by hand. The editor itself is built on Flutter Quill and is described as supporting a thousand chapters of continuous scrolling, which is a specific enough engineering claim to be worth taking seriously.

## A worldbuilding tree with relationships and history snapshots

The worldbuilding side is where this platform differs from a text editor with a chat sidebar. Settings are structured entries, and the types listed include characters, locations, items and factions, and you can define relationships between them, with parent and child, alliance, hostility and subordination among the relationship kinds. That is a small knowledge graph rather than a flat tag list, and it is what makes the consistency story possible. Settings generation is driven by AI, either from a core idea or a story background, producing a tree of structured settings, and the system ships built-in generation strategies, with a Chinese webnovel settings template named as an example. The tree can then be adjusted by hand or regenerated locally by AI, and every generation session is saved as a historical snapshot that supports version comparison, copying and restoring. Incremental iteration is the point: you refine one node rather than regenerating the whole world and losing the parts you liked.

## Next Outline, multiple models and the draw-a-card mechanism

The plot reasoning feature is called Next Outline, and the English summary calls the knowledge graph the mechanism that enforces consistency across characters, plotlines and foreshadowing. Next Outline itself analyses the current chapter content, the character relationships, the worldbuilding settings and the existing outline, then generates several possible directions for what comes next, with each branch that is not satisfying regenerable on its own. The most interesting detail is the multi-model draw-a-card mechanism, which calls several different models at once to produce competing proposals, so the author can compare them the way you compare pulls from a gacha game. For a long serial this is a reasonable way to break a writer's block, since the alternatives are structurally different rather than a single model paraphrasing one idea. The related knowledge base features cover extracting books into structured reference notes, and the admin side has a screen for managing those extraction tasks, plus a content review screen for user submitted public content.

## The writing tools are a fixed set of operations on a cursor

The AI writing operations are described as a small vocabulary applied to a selection or a cursor. Continuation writes on from the current cursor position. Polishing optimises selected text for style, grammar and expression. Expansion turns a summary or an outline into full scene content, and scene summarisation runs the other way, producing a condensed summary of long scene content. There is also translation, character definition, outline generation, and a chat panel for talking to the model while you work. What the platform adds on top of the model is context management: the settings library in the side bar holds every worldbuilding entry associated with the current work, and a snippets panel records inspiration fragments, source notes and to-do items. The useful framing is that these are not prompts you write yourself but named operations with the project context already attached, which is the difference between a useful tool and a chat box you have to prompt carefully every time.

## Model pool, private keys and presets are separate concerns

The configuration story has three layers, and separating them is what allows the same build to serve an author with their own key and an operator with a shared pool. Administrators configure a public pool of large models that all users can draw on, and users can configure private API keys to use their own models, with the platform supporting OpenAI, Anthropic, Gemini and other providers, plus an API key validity test. The Chinese list names GPT, Claude, Gemini and OpenRouter compatible models, and the English summary repeats that set. Prompts are managed at two levels as well, with administrators creating system level prompt presets and users maintaining their own prompt library, with the point made explicitly that prompts are sent to the model natively rather than being wrapped in some intermediate format. Presets are the third layer, tying a prompt together with the remaining instructions, the context and the model parameters, so a preset is a reusable way of working rather than a saved prompt. The model management screen also carries tags such as jsonify, cheap and fast, and the README says those tags give the back end routing a signal, which is a nice piece of plumbing to have in the open.

## Cost and call observability is the operator's view of writing

The back end records every large model call, and the observability screen pulls those logs through a repository and filters them by user, provider, model, business type, trace or correlation id, time range and whether the call errored. The list and detail views show the request prompt, the model response, the elapsed time and the token usage, with content search and copy, and the screen includes overview metrics, aggregations by provider, model and user, and a multi-series trend chart for spotting traffic and anomalies. Cost is handled by a separate pair of screens for model pricing and billing audit, where pricing is maintained per provider and model identifier and the audit can combine the call logs with the billing repository to reconcile what was spent against what was charged. The author-facing side mirrors this with a dashboard that counts total words, total writing days and consecutive writing days, a monthly report of new words and token consumption, and charts for token usage trends, feature usage distribution and model preference.

## Conclusion

AINoval suits a Chinese webnovel author or a platform team who wants a full writing tool with model orchestration, outline generation and worldbuilding rather than a plain text editor with a chat box, and who is prepared to read a README rather than a codebase. It does not suit a developer expecting to clone and run the software, because the repository contains only a README and the licence field is not identified. Before you rely on it, check the licence, which the README badge shows as Apache 2.0 while the repository itself does not name one, and look at the model configuration options, since the platform is built around OpenAI, Claude, Gemini and OpenRouter-compatible models with private API keys.

## FAQ

### What is AINoval, also called Maliang Writer?

It is an open source AI novel writing platform built for Chinese webnovels, pairing a Flutter web rich text editor with a Spring Boot backend and multi-agent AI orchestration. It covers planning, drafting and revising long serials, with three-level outlines, worldbuilding settings and a knowledge graph for consistency.

### Which AI models does AINoval support?

The platform supports mainstream models including GPT, Claude, Gemini and OpenRouter compatible ones. Users can add private API keys for their own models, administrators can configure a public pool for all users, and there is an API key validity test.

### How does AINoval keep a long story consistent?

It builds a knowledge graph across characters, plotlines and foreshadowing, and backs that with structured worldbuilding entries for characters, locations, items and factions, with relationships between them. Every AI generation session is saved as a historical snapshot that supports version comparison and restore.

### Can I run AINoval from the source code?

Not from what is published. The repository contains only a README, with no source tree, no build instructions and no licence file listed at the top level, so the documented features are the only description of the project that is available there.

## Sources

- [Deng-m1/MaliangAINovalWriter on GitHub](https://github.com/Deng-m1/MaliangAINovalWriter)
- [Issues](https://github.com/Deng-m1/MaliangAINovalWriter/issues)
- [Project website](https://maliangwriter.com/)
- [README](https://github.com/Deng-m1/MaliangAINovalWriter/blob/main/README.md)
- [Releases](https://github.com/Deng-m1/MaliangAINovalWriter/releases)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/deng-m1-maliangainovalwriter
