Introduction

The Web UI architecture of DeepSeek Harness (DSH) supports plugin-based extension. In conversational interactions, extracting specific content from an assistant’s reply as context for a follow-up question is a common requirement. Manual copy-and-paste is not only cumbersome but can also easily break Markdown formatting. The lianginx/dsh-quote-selection plugin addresses this issue: it provides a floating quote button that allows users to select any text in the conversation and insert it directly into the editor as a Markdown blockquote.

What This Is

This is a DeepSeek Harness Web UI plugin maintained by user lianginx. It does not rely on build tools and is implemented with native JavaScript. The core mechanism of the plugin is to intercept text selection from conversation replies and write the selected content into the editor in standard Markdown blockquote format through DSH’s inputActions.setDraft interface.

Core Features

This plugin provides the following features:
* Floating quote button: After selecting conversation text, the button automatically appears above the selected area; it automatically hides when clicking outside or scrolling.
* Clean Markdown output: Automatically converts each selected line of text into a Markdown blockquote (> prefix); multi-line selections retain correct line breaks and formatting.
* Chained quoting: When quoting another piece of text again, an empty line is inserted between the new blockquote and the previous one, making it easy to quote multiple paragraphs in sequence.
* Writes through the official interface: Uses inputActions.setDraft as the write path, ensuring editor features such as undo history and quote chips work properly.
* Automatic language adaptation: The button text is rendered through DSH’s internationalization service, displaying the Chinese label 引用 and the English label "Quote" according to the interface language.
* Zero dependencies and zero build: Implemented in pure JavaScript, requiring no Node.js build steps; it works after installation.

Installation and Activation

Before installing, ensure the DSH environment meets the following requirements:
* Node.js version ^22.19 or >=24.
* The configuration file includes the official @deepseek-ai/dsh-web-app layer (the default web template usually includes it).

Install using the official command:

dsh plugin --profile web add github:lianginx/dsh-quote-selection

Installing from the GitHub repository does not execute any code and does not require the pnpm allowBuilds permission.

Typical Usage

  1. Select a piece of text in any assistant reply.
  2. Click the floating ❝ Quote button.
  3. A Markdown blockquote appears in the editor, with the cursor already positioned below the blockquote, so you can start typing your follow-up question directly.

If you select other text again and click quote, the new blockquote will have an empty line preserved with the previous blockquote, forming a chained quote.

Use Cases and Notes

  • Use cases: Conversational scenarios where you need to follow up, summarize, or modify based on specific paragraphs in the conversation history.
  • Notes: The plugin renders the floating button through the shell.overlay slot, so ensure that the base modules of the DSH Web UI are loaded. It is recommended to review the source code before installation to confirm it fits your local development practices.

Conclusion

With an extremely minimal design, the plugin integrates quoting into DSH’s core interaction flow, reducing errors from manual operations. For more details and the source code, refer to: https://github.com/lianginx/dsh-quote-selection