Foreword

In DeepSeek Harness (DSH) web dialogue, bringing a specific context back to the composer typically requires manual copying and pasting. dsh-selection-ask condenses this action into a single step: after selecting dialogue text, an “Ask DeepSeek” button appears near the selection; clicking it sends the selected text into the composer as a Markdown blockquote, allowing you to continue typing your question and sending it.

Below, we introduce its positioning, capabilities, installation and activation methods, and important notes.

What This Is

dsh-selection-ask is a DSH plugin maintained by lzbaclz, designed for the dialogue interface in the web profile. It provides ChatGPT-style selected text assistance: select a text segment in the conversation, and an “Ask DeepSeek” button appears beside it; clicking the button appends or replaces the selected content as a quote in the composer.

Verified basic information:

  • Name: dsh-selection-ask
  • Maintainer: lzbaclz
  • License: README badge indicates MIT
  • Version: Both package.json and README badge show 0.1.0
  • Build artifacts: Pre-compiled lib/ has been committed; installing the pre-built package does not require local compilation
  • npm package not yet published; dsh plugin --profile web add dsh-selection-ask will be available only after publication

Core Functionality

It only processes text from dialogue records and does not re-quote drafts from the composer back into it.

Specific capabilities include:

  • When selecting text in the transcript, a fixed “Ask DeepSeek” button appears near the selection; the button is positioned based on the selection’s screen coordinates and restricted within the viewport.
  • Only allows quoting text from the dialogue record (transcript/[data-conversation-scroll]); selecting composer content has no effect.
  • Upon clicking the button, the selected text is written into the composer as a Markdown blockquote: each line is prefixed with >, then appended or replaced in the composer.
  • After writing, the composer gains focus with the cursor positioned at the end.
  • Writes the draft via the harness inputActions.setDraft API, avoiding direct modification of DSH internal or DOM state.
  • Button state resets per session; it hides when the takeover composer (question/approval) appears.

Installation and Enabling

Installation and enabling are two-step processes.

1. Install the Plugin

Install from GitHub:

dsh plugin --profile web add github:lzbaclz/dsh-selection-ask

To pin a version:

dsh plugin --profile web add github:lzbaclz/dsh-selection-ask#v0.1.0

Install after local cloning:

git clone https://github.com/lzbaclz/dsh-selection-ask.git
dsh plugin --profile web add link:/absolute/path/to/dsh-selection-ask

The npm package is not yet published. The README notes that dsh plugin --profile web add dsh-selection-ask will be available only after publication.

2. Enable the Plugin

Choose one of the following two paths to enable; do not use both simultaneously.

Path A: Restart dsh web

After restarting dsh web, the plugin is ready to use:

dsh web

Path B: Hot Activation

For hot activation, cordis.patch.yml must use an insert block to replace the original [], not append after []; otherwise, you’ll encounter failed to parse patches.

Note: Path A and Path B cannot be used together, as this may cause duplicate loader entry id: dsh-selection-ask.

Typical Usage

  1. Select a text segment in the dialogue.
  2. Click the “Ask DeepSeek” button beside the selection.
  3. The selected text enters the composer with a > prefix, the composer gains focus, and the cursor is at the end.
  4. Continue typing your follow-up question and send it.

If the button doesn’t appear, first confirm that you’re selecting text from the dialogue record, not composer content; if you enabled hot activation, also ensure the page has been refreshed.

Uninstallation

dsh plugin --profile web remove dsh-selection-ask

If using hot activation, also revert cordis.patch.yml to [], then refresh or restart.

Applicable Scenarios and Notes

Suitable for scenarios using the DSH web GUI where you frequently need to bring context back to the composer.

Required runtime environment:

  • DeepSeek Harness web profile (dsh web)
  • DSH packages in the 0.1.0-rc.6 era
  • Default GUI page at http://127.0.0.1:3080

Installation notes:

  • Installing the pre-built package does not require local compilation; building from source requires Node ^22.19.0 || >=24 and pnpm.
  • Older profiles may need to add autoInstallPeers: false in pnpm-workspace.yaml.
  • The plugin runs with the current dsh process permissions; review the source code and license before installation.
  • The DSH plugin ecosystem emphasizes “everything is a plugin”; the community directory is an independent site with no official affiliation to DeepSeek or High-Flyer.

Links

  • GitHub: https://github.com/lzbaclz/dsh-selection-ask
  • Community directory page: https://www.skillhub.cn/plugins/lzbaclz/dsh-selection-ask