Preface¶
In DeepSeek Harness, the session’s agent preset (Standard, Code, Minimal, Creator) is usually determined when creating a new session. Once the session starts, the preset icon in the session header is typically just a read-only label and cannot be switched during the conversation. The dsh-in-convo-mode-change plugin replaces this static label with an interactive mode switcher, allowing you to change the preset directly during an ongoing session.
Plugin Introduction¶
Name: dsh-in-convo-mode-change
Maintainer: jiangr100
Function: Changes the preset icon in the session header of the DeepSeek Harness Web UI from a read-only label to a working mode switcher, supporting mid-conversation switching among Standard, Code, Minimal, Creator, or custom presets.
Installation and Activation¶
Use the following command to install the plugin. After installation, you must restart the Web server for the plugin to take effect.
dsh plugin --profile web add github:jiangr100/dsh-in-convo-mode-change
Restart the server to load the plugin row and client package:
# 停止当前的 dsh web 进程
# 重新运行
dsh web
Usage¶
- Open any existing session in the DSH Web UI.
- Click the location in the session header where the preset name (or icon) is displayed, and a menu will appear.
- Select a new mode from the menu (Standard, Code, Minimal, Creator, etc.).
- The switch takes effect in the next conversation turn.
Notes¶
- When it takes effect: The current conversation record remains unchanged, but the switch is applied when the next turn begins. This means tool calls generated under the old mode may be rendered differently after the mode switches.
- Runtime protection: While a session is executing a conversation turn, the switcher is disabled to prevent changing the parent scope chain in the middle of an ongoing tool call.
- Implementation mechanism: The plugin overrides the default behavior by registering an
agent-presetcell inconversation.session.header.actions(with priority set to -10) and uses theagentPresets.recompose()mechanism to handle mode reorganization.
Closing¶
By extending DSH’s client slot mechanism, this plugin addresses the problem of being unable to change presets mid-session. To view the source code or provide feedback, visit its GitHub repository.