Introduction¶
DeepSeek Harness (DSH) adopts an “everything is a plugin” architecture, making its extension capabilities highly flexible. However, in day-to-day conversational development, you often encounter scenarios like this: you need to reference some previous content in the conversation and want the model to clearly indicate which segment it is processing in its response. Manual copy-and-paste is cumbersome, and the model also struggles to precisely anchor the context.
dsh-select-quote, as a Web client plugin, directly addresses this problem. It allows you to select text in the conversation flow and add annotations, then sends the selected source text together with your comments to the model, and requires the model to refer back to these annotations using clickable chips in its response.
Plugin Overview¶
Name: dsh-select-quote
Maintainer: latte03
Category: Client
License: MIT
This plugin intercepts the rendering logic of user messages to implement a complete closed loop of “selection - annotation - reference.”
Core Features¶
- Selection toolbar: Select any text in the conversation area; the toolbar appears only after the drag selection ends (so it does not block interaction), providing two options: “Copy” and “Add to Task.”
- Annotation card: After confirming the addition, an annotation card appears above the input box. The card displays a summary of the selected passage and your comment, and supports hovering to expand a list for editing or deleting.
- Inline markers: The selected text in the original message bubble is marked with a dashed underline and a numbered corner badge. Clicking an item in the card automatically jumps the view back to the corresponding position in the original text.
- Model references: When the model references an annotation in its response, the plugin renders that reference as a clickable chip. Clicking the chip also jumps to the original text.
- Conversation record rendering: In sent messages, annotations are preserved as cards, while user bubbles display only the original question text.
Installation and Activation¶
Ensure your DeepSeek Harness version is 0.1.7-rc.1 (usable for evaluation as of 2026-09-24).
Method 1: Install via npm
dsh plugin --profile web add dsh-select-quote
dsh --profile web
Method 2: Load from a local checkout (recommended for development and debugging)
git clone https://github.com/latte03/dsh-select-quote.git && cd dsh-select-quote
npm install && npm run build
dsh web --patch "$PWD/dev.patch.yml"
Typical Usage¶
- Select a passage of text in the conversation area → click “Add to Task” in the toolbar.
- A comment box appears; enter your annotation (it can be empty, used only as a marker) → confirm.
- An annotation card appears above the input box; hover to view details. Clicking an item in the card jumps back to the original text; editing, deleting, or clearing all is supported.
- Type normally and press Enter to send the message. The annotations are submitted to the model together with the message, and the card above the input box disappears accordingly.
- When the model references annotations in its response, clickable chips appear; clicking them locates the original text.
Notes¶
- In-memory storage: Pending annotations are stored only in memory. After refreshing the page or switching conversations, the annotation card is lost (annotations in sent messages are not affected).
- Rendering priority: This plugin replaces the built-in
usernode with the lowest priority. If other plugins also replace theusernode (for example,dsh-easyrewriteuses a-1priority), this plugin may be blocked. - Card width: The maximum width of each annotation summary inside the input box is about 1/4 of the input box width; overly long titles are displayed with ellipses.
- Scope of effect: Text selection works only in the conversation area and does not interfere with other panels such as the editor or terminal.
- Compatibility and maintenance: The implementation depends on several product-internal conventions (slot names, composer DOM structure, dark theme attributes, etc.). After upgrading the DSH main program, it is recommended to first run
npm run check, then perform manual regression testing against the checklist at the end ofdocs/internals.md.
Ecosystem Background¶
The DeepSeek Harness plugin ecosystem is community-driven. This plugin is listed in the SkillHub plugin directory and has no direct affiliation with DeepSeek or the official Huanfang (High-Flyer) team.
Conclusion¶
dsh-select-quote implements an efficient client-side context reference mechanism, making model interactions more precise. If you frequently need to reference specific passages in long conversations, this plugin can significantly improve development efficiency.