Introduction

When developing or debugging sessions with DeepSeek Harness (DSH), switching models often requires scrolling through menus or relying on tooltips; the currently active model provider is not intuitively visible. In addition, copying text from the message area and wanting to reference it directly in the input box as a code block often requires manual formatting. dsh-session-plus is a client plugin optimized for these two operations.

Features

1. Enhanced Model Selection Menu

Adds a real-time informational line at the top of the model selection menu to prevent forgetting the current provider when switching models.
* Real-time display: While the menu is open, it subscribes to the session model directory. After switching the model or provider, the header line updates immediately.
* Display name priority: Prefers the provider display name from the model directory; falls back to the raw provider ID if the display name is missing; shows the placeholder “—” when not loaded.
* Read-only and non-intrusive: Purely display-only; does not alter menu scrolling, navigation, or interaction behavior.

2. Quick Insertion of Selected Text

After selecting text on the chat page or sidebar, a floating button converts it into a code block and inserts it into the input box.
* Where it triggers: Works only in the chat message area and the better-sidebar right sidebar. It does not trigger in the input box, other sidebar areas, or settings pages.
* Floating interaction: A “Add to conversation” button appears centered above the selection. If there is not enough space above, the button flips below automatically.
* Insertion logic: On click, the text is wrapped in a Markdown code block (three backticks) and inserted at the beginning of the input box. Existing draft text is preserved after the code block, and a blank line is automatically preserved at the end for easy continuation.
* Auto-hide mechanism: The button automatically hides when clicking outside, pressing Escape, the selection collapses, scrolling the message area, or when scrolling stops and the selection re-enters the viewport.

Installation and Activation

This plugin is installed via a local link. After installation, restart the dsh web process.

# 进入插件目录并安装依赖
cd <absolute-path-to-plugin> && pnpm install

# 使用本地链接安装插件
dsh plugin --profile web add dsh-session-plus@link:<absolute-path-to-plugin>

# 重启 DSH Web 客户端使配置生效
npm exec @deepseek-ai/dsh web

Use Cases and Notes

  • Applicable scope: This plugin is mainly useful for scenarios that require frequent model switching to compare different providers, and for quickly converting contextual text into a code block for analysis.
  • Version changes: Starting from v0.4.0, the plugin removed the “Open workspace” feature. DSH 0.1.5-rc.1 now includes a more complete Open In… button (top-right of the session page header), so the plugin no longer provides this capability.
  • Rendering limitation: Code fences are fixed to three backticks. If the selected text itself contains three backticks, it may affect normal Markdown rendering.
  • Interaction limitation: The button is a display-only component; it is non-interactive, cannot be focused, and does not block mouse events.

Conclusion

dsh-session-plus simplifies common DSH workflows by adding status display to the model menu and quick insertion to selected text. For users who need fine-grained control over model invocation and contextual input, the plugin provides direct assistance. For source code and changelog, see the GitHub repository.