Preface¶
When using large models for long-form writing or role-playing, the most likely point of failure is not writing quality, but setting consistency. If character relationships, place names, and organizational rules are only relied on for conversational memory, inconsistencies will creep in as you progress: the same character will be referred to by different names, and forbidden rules documented in the world lorebook will be casually altered by the model. SillyTavern / TavernAI already has mature character card and world book (lorebook) formats, where entries can be injected via trigger words; DeepSeek Harness (dsh) on the other hand treats models, tools, conversations, and interfaces all as plugins, with the official repository’s slogan being Everything is a plugin. The setting formats of the two platforms are not interoperable.
dsh-LorebookMD serves as a bridge: it imports Tavern character cards and world books into the current dsh process, saves them as editable local Markdown files, and injects system prompts according to two preset modes: “writing” or “world book”. The community directory categorizes it under the “Memory” category, and its maintainer is GitHub user 609476965. This article cross-checks information against the directory details page, GitHub README / package.json / source code, and the npm page, with the verification date being 2026-08-18.
Two points need to be clarified first. First, DeepSeek Harness is still in developer preview at the time of writing, and the official README notes that breaking changes may occur. Second, deepseek-harness-plugin.com is an independent community directory, and its About page states that it has no official affiliation with DeepSeek / Fang Zhou, and should not be treated as an official app store.
What it is¶
dsh-LorebookMD is a world book-driven writing plugin for DeepSeek Harness Web. Its npm package name is dsh-lorebookmd, current version 1.0.0, and it is primarily written in TypeScript. package.json declares the client platform as web, and includes a dsh.bundle.patch declaration. After installation, cordis.patch.yml is automatically applied via the profile.
The problem it solves is very specific: you already have Tavern character cards (embedded in PNG or standalone JSON) or standalone world book JSON files, and want to reuse the same setting set in dsh for novel writing or role-playing, instead of manually pasting entries into conversations. The plugin only manages the setting texts you provide; the README clearly states that the project does not include any “breaking limits / jailbreak” prompts.
The community directory page gave it a 5-star rating upon inclusion; the GitHub repository had 13 stars as of the query on 2026-08-18. Both package.json and the npm registry list the license as MIT, but there is currently no standalone LICENSE file in the repository root, so GitHub metadata does not recognize the license. You should still check the source code yourself before installing.
Core Features¶
Import Tavern Character Cards and World Books¶
The input types listed in the README and src/tavern.ts include:
- Character cards: PNG (JSON embedded in the tEXt chunk with keyword chara) or standalone JSON (chara_card_v2 and older field top-level format)
- In-card world books: extensions.world and SillyTavern’s character_book, which will be merged
- Standalone world books: Top-level { entries: [...] }, also compatible with entry objects and pure arrays
- Regular expression scripts: extensions.regex_scripts / extensions.regex in the card, or standalone script JSON; the source code notes that DSH does not have a chat regex rendering pipeline, so imported scripts will only be used as reference material, and the model will compare them on its own, without automatically replacing conversation text like in Tavern.
The conversation tools prompt_import_tavern, prompt_import_world, prompt_import_regex use the same data flow as the settings page. Absolute paths are required when importing character cards.
Three Outputs per World Book¶
After a successful import, the plugin generates three items for each world book:
| Output | Function |
|---|---|
Name · World Book preset |
Full setting text + automatic keyword triggering: when a trigger word is mentioned in the conversation, the corresponding entry is injected in this round |
Name · Writing preset |
Writing mode: writing instructions + full setting text, activate it to write novel text based on user input |
worldbooks/<Name>.md |
Local Markdown setting document, which can be opened and edited manually with the system’s default program |
World book entries support permanent (constant, no trigger word required) matching via keys. worldTrigger is enabled by default. Activated presets are injected via systemPrompt.section(); switching presets will take effect in the next conversation without reloading the plugin.
Two Modes¶
The README divides usage into two paths, which can be switched at any time, and returning to normal conversation after deactivation:
| Enter Writing Mode (activate “· Writing”) | World Book Mode (activate “· World Book”) | |
|---|---|---|
| Output | Third-person novel text, written directly without restating the setting | Dialogue and plot advancement in the identity of in-world characters |
| Settings | Full setting text injected for model reference | Full setting text injected + keyword-triggered entries |
| Interaction | Provide scenes / plots / characters, continue writing with subsequent inputs | Participate in first-person, model responds in character |
| Best For | Novel writing, scene description | Immersive role-playing, interactive deduction |
The rules for the writing preset in the source code are: respect the rules, organizations, character relationships and worldview in the world settings, and must not arbitrarily violate or add new content; write coherent text based on the user-provided scene, rather than conversational replies.
Settings Page and Preset Tools¶
package.json declares Web client injection. After startup, open the default Web UI at http://127.0.0.1:3080, go to Settings → “World Book Writing”, where you can view the world book list, enter writing mode, switch to world book mode, edit the local .md file with the system program, import and delete world books. The terminal will print [prompt-manager] ready: … (the internal Cordis component name of the plugin is prompt-manager).
You can also use preset management tools in conversations: prompt_preset_list, prompt_preset_use, prompt_preset_off, prompt_preset_save, prompt_preset_delete. The comments in the source code describe them as “list all prompt presets”, “switch to a specific preset”, “deactivate prompt presets”.
Local Data Storage¶
The default directory is ~/.dsh/dsh-LorebookMD (can be overridden with the configuration item dataDir):
| Data | Path |
|---|---|
| Presets (including writing / world book preset text) | ~/.dsh/dsh-LorebookMD/presets.json |
| World book entries (for keyword triggering) | ~/.dsh/dsh-LorebookMD/worldbooks.json |
| Local setting documents | ~/.dsh/dsh-LorebookMD/worldbooks/<Name>.md |
watchFile is enabled by default: directly modifying presets.json will trigger a hot reload. If the JSON is corrupted, the plugin will back up the original file as *.broken-* and start with an empty library to avoid overwriting user data.
Installation and Activation¶
The installation command given on the community directory page is as follows, run it in the DeepSeek Harness terminal:
dsh plugin add github:609476965/dsh-LorebookMD
For reproducible installations, the directory page recommends pinning the commit hash (replace commit with the actual hash):
dsh plugin add github:609476965/dsh-LorebookMD#commit
The latest commit on the current main branch as of 2026-08-14 is 4bc4110efbfb4888286b81aaf53191705dade9dd. The plugin runs with the permissions of the current dsh process, and may execute code during installation; please check the source code repository and license before installing.
The repository README also recommends installing from npm to the web profile (the package has been published as 1.0.0, with built lib/ artifacts):
dsh plugin --profile web add dsh-lorebookmd
dsh plugin will add this package to dsh.profile.bundles and apply cordis.patch.yml. The official Harness documentation requires restarting the profile after installing a bundle, for example dsh --profile web. package.json requires Node.js >= 22.18.
You can also directly tell dsh:
帮我安装这个插件https://github.com/609476965/dsh-LorebookMD
The README also provides install.cmd / install.ps1 for one-click copying to the profile’s node_modules, as well as temporarily loading cordis.yml with --patch using start-dsh-plugin.cmd. Do not use both automatic mounting and --patch temporary mounting at the same time, otherwise duplicate mounting will occur.
Typical Usage¶
The following steps can be reproduced based on the README and source code, without inventing additional character card content.
1. Install the plugin according to the previous section and restart the web profile, then open http://127.0.0.1:3080.
2. Place the exported Tavern character card (.png / .json) or world book JSON file in an absolute path on your local machine.
3. Click import on the settings page, or have the assistant call the tools in the conversation. Example character card import (replace the path with your file):
导入 C:/cards/xxx.png 角色卡
The corresponding tool is `prompt_import_tavern`. Use `prompt_import_world` for standalone world books, and you can pass `activate` to immediately activate the "· World Book" preset after import.
- After the import is complete, the world book will appear on the settings page. Click Enter Writing Mode to activate
Name · Writing, or click World Book Mode to activateName · World Book. - In writing mode, follow the README’s typical instructions to provide a scene, such as “Write a paragraph of…” or “Describe the process of…”, and the model should output novel text. In world book mode, advance the plot in first person, such as “I am…, what happens next?”.
- To modify the settings, click Edit Document to open
worldbooks/<Name>.mdwith the system’s default program. The preset text is stored inpresets.json, and the new content will be read in the next conversation after modification. - Return to normal conversation after deactivating the preset. Deleting a world book will also remove the “· World Book” and “· Writing” presets and the corresponding Markdown file.
Applicable Scenarios and Notes¶
This tool is suitable for users who already have Tavern character cards / world books and want to continue writing novels or perform role-playing in dsh Web. It manages “how settings are imported, saved, and injected according to mode”, rather than general cross-session long-term memory or knowledge graphs. Similar “memory” plugins in the community directory (such as graph-memory, mnemon) solve another category of problems.
Pay attention to these boundaries when using:
- The client is declared as web, and the settings page depends on the default Web UI; do not assume that the same interface exists in headless terminal sessions.
- Import paths must be absolute; relative paths will fail.
- Regular expression presets will not automatically rewrite conversations in DSH, only store the script definitions as reference text.
- Writing mode requires the model to not arbitrarily add new settings; the actual effect still depends on the current model and whether the corresponding preset is activated.
- Data is stored locally in ~/.dsh/dsh-LorebookMD, back up or migrate this directory together.
- The plugin runs with the permissions of the current dsh process. Before installing community plugins, you should read the source code and license; the directory page also reminds: pin the commit hash when reproducible installations are required.
Summary¶
dsh-LorebookMD connects SillyTavern / TavernAI character cards and world books to DeepSeek Harness: after import, you get local Markdown files, keyword-triggered world book presets, and specialized writing presets for novel creation. It is maintained by 609476965, categorized as Memory in the community directory, with the npm package dsh-lorebookmd currently at version 1.0.0.
Community Directory Page: https://deepseek-harness-plugin.com/zh-CN/plugins/dsh-lorebookmd/
GitHub Repository: https://github.com/609476965/dsh-LorebookMD