Preface¶
In the DSH plugin ecosystem, writing tasks typically rely not only on the browser-side interface but also require coordination with host-side data services and writing engines. For agent developers, if project directories, libraries, search results, settings, and character evolution are scattered across different entry points, the cost of viewing and locating them can be relatively high.
dsh-client-ui-writing is a Web client plugin maintained by x2802490130-prog under the MIT license. Its current package.json version is 0.6.2, providing a sidebar writing panel and an in-session full-book index view within DeepSeek Harness’s writing preset sessions.
This plugin itself does not directly generate the main text. Its responsibility is to read data, display information, and trigger orchestration; the heavy lifting is done by the host-side engine.
Positioning and Boundaries¶
The positioning of this plugin is quite clear:
- Oriented towards DSH client writing scenarios.
- Provides a sidebar writing panel.
- Provides an in-session full-book index view.
- Supports viewing four types of information: projects, libraries, search, and evolution.
- Supports triggering orchestration actions such as
novel_sync. - Only displays in writing preset sessions.
Its operational boundaries are also very clear:
- The panel is read-only regarding data and triggers orchestration.
- Does not directly generate the main text.
- Heavy tasks like generation, retrieval, library management, and orchestration are handled by the host side.
- The host side needs to install
dsh-writing-remote, and this link depends ondsh-tool-writing. - The writing engine uses a separate
DSH_WRITING_API_KEY.
The mode gating condition is as follows:
agentPreset === "writing"
In other words, only writing preset sessions will display the panel and index view; they are hidden in other sessions.
Core Features¶
Sidebar Writing Panel¶
The sidebar writing panel contains four tabs: Project, Library, Search, and Evolution.
Project¶
The Project tab is used to view the current writing project structure, including:
- Volume/Chapter directory.
- Word count, status, and summary.
- Full-book statistics.
- Preview of the tail of the plot event log.
- Entry point for initializing an empty project.
An empty project can be initialized with one click; the corresponding action is:
scaffoldNow
Library¶
The Library tab is used to display novel information from the feed area, including:
- Title.
- Author.
- Category.
- Number of chapters.
- Word count.
If the library is empty, the panel will prompt to use the import action:
novel_library_import
Search¶
The Search tab provides full-text retrieval across both the project and the library.
Upon a hit, it allows direct location to the corresponding chapter. This entry is suitable for finding names, settings, plots, etc., scattered across the project and library.
Evolution¶
The Evolution tab is used to view settings and character evolution information, including:
- Settings/Character evolution version chain.
- Inline diff.
- SVG clue graph.
If the evolution information is empty, the panel will prompt to register first:
novel_sync
novel_threads
Chapter End Orchestration¶
The panel provides an entry point for chapter end orchestration, which can be triggered with one click:
novel_sync
This action includes:
- Chapter summary.
- Setting extraction.
- Evolution detection.
- Foreshadowing reminders.
In-Session Full-Book Index View¶
In a writing preset session, in addition to the sidebar panel, an in-session full-book index view is provided.
This view is used for quickly viewing and locating the current book:
- Volume directory.
- Word count, status, and summary.
- Quick location.
- Chapter preview.
- Open original text.
Operation methods include:
- Use numbers to jump directly to Chapter N.
- Use
/,Ctrl+/, orAlt+Kto focus the search box. - Use
↑↓to select. - Use
Enterto preview. - Use
Escto close. - Swipe left or right with touch or drag to switch modules.
Installation and Activation¶
Before installation, confirm that the host-side dependencies are ready:
dsh-writing-remote
dsh-tool-writing
Here, dsh-writing-remote is the host-side data channel, and dsh-tool-writing is the host-side writing engine dependency. The writing engine uses a separate API key:
DSH_WRITING_API_KEY
To install dsh-client-ui-writing, you can use the DSH plugin command:
dsh plugin --profile web add dsh-client-ui-writing
You can also install via npm:
npm install dsh-client-ui-writing
The plugin’s peerDependencies are as follows:
{
"react": "^18.2.0",
"@deepseek-ai/cordis": "^4.0.1",
"@deepseek-ai/dsh-client-runtime": "^0.1.0-rc.6",
"@deepseek-ai/dsh-client-ui-slots": "^0.1.0-rc.6"
}
Official packages use peer dependencies and do not embed these dependencies.
Typical Usage¶
Below are a few direct usage paths.
Initializing an Empty Project¶
If the current project does not yet have a writing project structure, you can first use:
scaffoldNow
This step is used to initialize the writing project, making it easier to manage volumes, chapters, and summaries later.
Importing the Library¶
If the library is empty, you can use:
novel_library_import
After importing, the Library tab will display information such as title, author, category, number of chapters, and word count.
Chapter End Sync¶
After completing a chapter of content, you can trigger:
novel_sync
This action performs chapter summary, setting extraction, evolution detection, and foreshadowing reminders.
Registering Evolution Clues¶
If the Evolution tab does not have data yet, you can first run:
novel_sync
novel_threads
After completing the registration, you can then view the version chain, inline diff, and SVG clue graph.
Quick Location in Session¶
In a writing preset session, you can jump to a chapter directly using numbers:
12
You can also use keyboard shortcuts to focus the search box:
/
Ctrl+/
Alt+K
After selecting an item, use Enter to preview and Esc to close.
Applicable Scenarios and Notes¶
Suitable for the following usage methods:
- You are already maintaining a writing project in DSH.
- You need to view project directories, libraries, search, and evolution from the browser side.
- You need to quickly locate chapters, preview chapters, and open the original text within the session.
- You need a client entry point that is only responsible for viewing and triggering orchestration.
- You want the heavy tasks handled by the host-side
dsh-writing-remoteanddsh-tool-writing.
Note a few points:
- This plugin runs with the permissions of the current
dshprocess. - You should check the source code and license before installation.
- It does not directly generate the main text.
- It depends on the host-side writing chain.
- It only displays in sessions where
agentPreset === "writing". - The current license is MIT.
Links¶
GitHub Repository:
https://github.com/x2802490130-prog/dsh-client-ui-writing
Plugin Directory Page (if the directory site this page is hosted on lists the plugin):
https://www.skillhub.cn/plugins/x2802490130-prog/dsh-client-ui-writing