In the DSH plugin ecosystem, long-form novel writing depends on clear settings and progress management. dsh-novel addresses this: it provides Agents with five novel_* tools, and also offers a host-native seat panel for managing outlines, character relationships, plot tasks, and chapter progress.
Core Features¶
This plugin divides the workflow into two parts: one for Agents to invoke tools for writing, and the other for human users to manage project structure.
Agent Tools
Provides five tools for Agents to read and write settings and manuscript content:
* novel_list: Lists all novels, along with their chapters and character counts.
* novel_read: Reads setting files (设定.json), outlines, worldbuilding materials, character cards, or the body text of a specific chapter.
* novel_context: Retrieves the full context needed to continue the next chapter in one call (including settings, outline, worldbuilding, character relationships, and recent chapters).
* novel_save_chapter: Saves a chapter, automatically naming the file by chapter number.
* novel_cast: Reads, adds, deletes, and modifies characters and character relationships.
Host-Native Seat Panel
Provides users with a visual management interface:
* New Novel Wizard: supports template completion and allows creating a novel first and completing settings gradually.
* Novel Library: remembers reading progress for each novel, and supports searching, sorting, and switching.
* Character Relationship Graph: supports force-directed layout and uploading avatar images.
* Plot Task Board: manages plot points, attached chapters, and volume outlines, with manual completion marking.
* One-Click Continuation + Streaming Live View: displays model generation in real time on the panel.
* Export: supports exporting to EPUB and Word formats.
Installation¶
Run the following command in the terminal to install:
dsh plugin --profile web add github:wbb316/dsh-novel
After installation, restart the DSH Web process to activate the plugin:
dsh web
Usage Examples¶
When invoking an Agent in a conversation, you can use the following ways to call tools:
- Use
novel_contextto get the full context needed to continue the next chapter:
{ "tool": "novel_context", "novel": "小说名", "chapter_count": 3 }
- Use
novel_save_chapterto save a chapter; the file name will be numbered automatically:
{ "tool": "novel_save_chapter", "novel": "小说名", "content": "本章正文..." }
- Use
novel_castto add, remove, or modify characters and relationships, or upload avatars:
{ "tool": "novel_cast", "novel": "小说名", "addCharacters": [{ "name": "角色名", "role": "配角" }] }
System Requirements and Notes¶
- DSH Version: requires
>= 0.2.0-rc.1. - Node Version: requires
>= 20. - Legacy Host Compatibility: If an older host version has no native seat, the panel falls back to the
dsh-better-sidebartab. - Deletion Mechanism: Deletion moves items to the Recycle Bin rather than permanently deleting them.
- Rename Risk: Renaming a character triggers a full-text replacement; confirm before operating. Single-character names are not subject to full-text replacement.
Summary¶
By combining structured data management (JSON settings, character relationships, plot tables) with a visual panel, dsh-novel reduces the difficulty of context maintenance and progress management in long-form novel writing. For developers who need to build a novel-writing workflow in DSH, this is a direct integration solution.