In DSH Web use cases, users often need to follow up on a specific excerpt from an assistant response. Appending a message directly to the main conversation may disrupt the current streaming output and contextual continuity, while starting a new session is too heavyweight and hard to trace back to. The dsh-ask-in-sidebar plugin solves this pain point by creating a temporary, isolated sidebar.
This is an online tooling plugin maintained by Ruiming-cn. It allows users to select assistant text in the main conversation and ask questions or discuss in a right-side panel based on a snapshot of the main conversation, without modifying the main conversation content.
Core Features¶
- Selection interaction: Select any text in an assistant response in the main DSH conversation (such as a solution, terminology, or explanation); a floating action button, “Ask in Sidebar,” appears next to the selection.
- Sidebar panel: Clicking the button opens a temporary panel on the right. The panel displays the quoted selected text, a question input box, continuously updated discussion history, and real-time streaming output.
- Thinking process display: The panel supports collapsible thinking processes and displays thinking time, time to first token, total elapsed time, and token usage (when available).
- Markdown rendering: Answer content is safely rendered as Markdown, supporting headings, lists, inline code, code blocks, blockquotes, links, and tables.
- Snapshot mechanism: The first question is answered based on a snapshot of the existing LLM message history in the main conversation at the time the question was submitted, plus the quoted text. Follow-up questions are supported within the same sidebar discussion.
- State management: Closing the panel discards the current discussion and its host-side in-memory snapshot. When selecting another assistant text to start a new question, a new discussion is created and the main-conversation context snapshot is fetched again.
Installation and Enablement¶
This plugin requires a local DSH Web profile and a Node.js 20+ environment.
Installation command:
dsh plugin --profile web add github:Ruiming-cn/dsh-ask-in-sidebar
It can also be installed by using the following methods:
* Install from a pinned Release:
dsh plugin --profile web add https://github.com/Ruiming-cn/dsh-ask-in-sidebar/archive/refs/tags/v0.2.0.tar.gz
- Build from a local checkout and then install:
npm run build
dsh plugin --profile web add /path/to/dsh-ask-in-sidebar
Typical Usage¶
- Open a DSH Web conversation.
- Select a passage in an assistant response.
- Click the “Ask in Sidebar” button that appears.
- Enter a question in the panel’s question input box (for example, “Why was this done?” or “What does this mean?”), then press Enter or click “Send.”
- Read the answer in the panel and continue following up.
- Close the panel at any time to return to the main conversation.
Use Cases and Notes¶
Use cases: Suitable for scenarios that require in-depth discussion of specific technical details without interrupting the main conversation flow or introducing complex tool calls.
Important notes:
- Context reuse: The model context follows the main session. If the main conversation is long, sidebar requests can also be large because the full derived history is reused.
- Permission limits: The plugin does not provide any tools to the sidebar model, so it cannot call host tools from the panel or modify the workspace.
- Rendering limits: Markdown rendering is a lightweight implementation and does not cover all extended Markdown syntax (for example, complex nested tables, footnotes, task lists, etc.).
- In-process state: Temporary snapshots are in-process state. Snapshots are lost after the host restarts; follow-up questions after restart fall back to the current main-conversation context snapshot.
- Technical dependencies: The panel is a pure DOM overlay, not a native DSH slot, and depends on the current Web UI’s
data-chat-flow-kind="assistant-step"conversation DOM convention.
Summary¶
dsh-ask-in-sidebar provides DSH Web users with lightweight contextual follow-up capability. Through its snapshot mechanism and independent sidebar view, it provides a focused discussion space while preserving the integrity of the main conversation.