In the web client development of DeepSeek Harness (DSH), if you want to ask a temporary question during an ongoing conversation, replying directly can pollute the main session context. The dsh-btw plugin solves this issue with a floating panel: it creates an independent, one-time session from the completed history of the main session, streams the response in the branch session, and produces no new content in the main conversation.

Plugin Purpose

This is a pure client-side plugin and requires no server-side modifications. It is maintained by LuckVd, follows the MIT License, and is primarily intended for DSH Web GUI users.

Core Features

  • Floating panel toggle: Use the Ctrl/⌘+Alt+B shortcut to globally toggle the side-question drawer.
  • Independent session isolation: Creates an independent branch session without copying the main session’s goal, plans, tool calls, or permission state, ensuring the main conversation is not affected.
  • Model switching: Supports switching models inside the side-question panel without affecting the main session.
  • Context monitoring: Displays a context ring to show the current token usage of the side-question context in real time.

Installation

Install the plugin using the official command:

dsh plugin --profile web add github:LuckVd/dsh-btw

After installation, restart the dsh-web service to apply the changes.

Usage Steps

  1. Toggle the panel: On any page, press Ctrl/⌘+Alt+B to open the side-question panel.
  2. Start a follow-up question: Click the ? icon at the bottom of a completed response to use that response and the preceding conversation as reference context.
  3. Send the question: Enter a question in the input box and press Enter to send it.
  4. Manage the session: Click the “Archive” button in the panel header to clear the current branch session; press Esc or click the overlay to close the panel.

Notes

  • Session management: Side-question sessions can only be archived, not deleted.
  • Tab isolation: Each browser tab maintains its own independent side-question session, and sessions are not shared between tabs.
  • Context scope: The context includes only completed text in the current window; earlier history must first be loaded in the main session.
  • Display delay: The context ring is displayed only after the first LLM call and usage report are returned.

This plugin is suitable for scenarios where you need to ask frequent temporary follow-up questions during a conversational flow without interrupting or modifying the main session.