Introduction¶
The plugin philosophy of DSH is “Everything is a Plugin.” When writing long-form content in DSH, the common issue is not a lack of ability to generate text, but rather the model easily reverting to “assistant mode”—listing outlines, offering suggestions, or presenting options—instead of continuously outputting the narrative. Settings, protagonists, and plotlines also tend to get scattered across multiple sessions.
Below is an introduction to dsh-infinite (Infinite DSH). It is an independent off-tree plugin for DSH that organizes a new session into a book: after selecting a world, a protagonist, and an opening, it only outputs the narrative, while keeping the worldbook, random events, long-form archives, and exported drafts within the same session. The repository owner is vdnight89, and the package.json author is InfiniteDSH contributors.
Core Features¶
- Session as Book: A new book corresponds to a new session.
- Cover to Start:
/newpops up a world map, protagonist, and opening selection. - Rulebook Follows Session: The complete setting is copied into the current session directory.
- Keywords Trigger Worldbook: Persistent entries take priority.
- Random World Events: One event can be drawn from unused settings per turn.
- Output Only Narrative:
narrativeGuardandprogressionGuardare enabled by default. - Long-form Archives: Compaction appends plot points to
archive.md. - Export Draft:
/export-storygenerates drafts and final versions. - Supports
/bindto switch worlds and/castto change the Chosen One. - Provides 19 theme templates.
Installation and Usage¶
Prerequisites: A working DSH, pnpm, and a DeepSeek API Key.
Install the plugin:
dsh plugin --profile web add github:vdnight89/InfiniteDSH
Start DSH Web:
dsh web
Update an installed plugin:
dsh plugin --profile web update dsh-infinite
After upgrading, close and reopen dsh web.
Uninstall the plugin:
dsh plugin --profile web remove dsh-infinite
After uninstalling, stories and presets remain on disk.
The npm package name dsh-infinite is reserved but not yet published; do not run dsh plugin add dsh-infinite.
Typical Usage¶
- Start a new session and select the “Infinite DSH” preset.
- Enter
/new. - Tap world map → Tap Chosen One → Tap Opening → Tap Departure.
You can also enter commands directly:
/new 修仙
/new 末世 周慎
/new 都市 林晏 force
Switch worlds and characters:
/bind 末世
/cast 林晏
Export draft:
/export-story player
Applicable Scenarios and Notes¶
Suitable for treating DSH sessions as single books: scenarios requiring fixed protagonists, fixed settings, continuous narrative, random events, and long-form archives. The plugin will not touch sessions that have not started /new.
By default, narrativeGuard, progressionGuard, and randomEvent are all enabled, with a default injection limit of approximately 8000 characters (maxWorldChars). If you need to perform tool calls or assistant tasks in a general session, do not assign such sessions to this plugin.
DSH is still in developer preview, and the upstream Host API may change. The plugin runs with the permissions of the current dsh process; you should check the source code and license before installing. The license is MIT; Infinite DSH is an independent off-tree plugin, not an official DeepSeek component. The community directory is an independent site with no official affiliation to DeepSeek or Hypothesis.
If the “Deep Sea Laboratory” setting is involved, the materials indicate it is an unofficial fan setting, and the characters do not refer to real companies or individuals.
Links¶
Plugin Directory Page: https://www.skillhub.cn/plugins/vdnight89/InfiniteDSH