Introduction

DeepSeek Harness (DSH) uses a plugin-based architecture. When configuring models and tools, directly maintaining complex prompt templates or integrating with external ecosystems (such as SillyTavern presets) often requires manual conversion. The dsh-preset-enhance plugin aims to bring the SillyTavern preset system into DSH, providing visual editing, message injection, and tool management capabilities.

What is This

This plugin is maintained by bychv and is an open-source plugin (MIT License). It provides DSH with a “preset workbench” that allows users to import, edit, and use SillyTavern-style preset files. The plugin solves the problems of reusing existing prompt templates in DSH, managing complex variable macros, and finely controlling tool injection.

Core Features

  1. Preset management: Supports importing SillyTavern JSON or .dsh-preset formats, with sequence-based editing, message preview, and autosave.
  2. Message injection: Supports inserting prompts before or after the chat history, or at a specified depth, and supports variable macros (such as setvar, getvar) and assistant prefill.
  3. Tool management: Supports controlling tool switches by mode default, session override, tool preset, and group, including execution guards.
  4. Interface compatibility: Supports prefill handling for chat completion interfaces, DSML tool call conversion, and experimental content extraction.
  5. Workbench features: Provides a global preset library, single-file sharing (.dsh-preset.json), and local command control.

Installation and Enablement

Use the plugin install command to add the preview release:

dsh plugin --profile web add dsh-preset-enhance@0.3.4-rc.1

After installation, restart dsh web. A “preset workbench” will appear in the sidebar, and a “preset mode” will appear in the mode list for new conversations.

Typical Usage

  1. Open the workbench and import a SillyTavern JSON or .dsh-preset file.
  2. Create a new conversation in “preset mode” to automatically enable the current default preset; existing sessions can be controlled through local commands:
   /preset on/off/status
  1. In the tool panel, select “mode default” or “current session override” to adjust the tool policy.
  2. If the final message contains assistant prefill, use a chat completion interface that supports prefill and enable “prefill auto-compatibility”.

Notes and Dependencies

  • Version dependency: Requires DSH >=0.1.5-rc.2 or specific versions (0.1.6-alpha.2, 0.1.7-alpha.1, 0.1.7-alpha.2, 0.1.7-rc.1, 0.1.7-rc.2, 0.2.0-rc.1). DSH 0.1.7 removed the official chat completion protocol.
  • Environment requirement: Node.js version must be >=22.19.0.
  • Interface limitation: When using the Messages interface, assistant prefill is not supported, and DSML conversion and content extraction are also not applicable.
  • Regex behavior: Prompt regex rules only modify the content sent to the model and do not change the display in the chat history.
  • Experimental features: Content/tool call extraction is disabled by default.

Conclusion

This plugin lowers the barrier to using SillyTavern presets in DSH by providing a unified preset workbench. For developers who need fine-grained control of prompt order and tool injection, this is a practical tool.

  • Plugin directory: https://www.skillhub.cn/plugins/bychv/dsh-preset-enhance
  • GitHub: https://github.com/bychv/dsh-preset-enhance