Skip to content
dsh.fish
Bundle

dsh-client-ui-quote

Selection quoting for the dsh web GUI: a toolbar over selected assistant text that attaches the selection to the composer as a removable quote banner, prepended to the outgoing message at send

Source
skyhancloud
stars
3 stars
License
MIT
Updated
Updated 12 days ago

Readme

<p align="center">
  <picture>
    <source media="(prefers-color-scheme: dark)" srcset="https://shieldcn.dev/header/glow.svg?title=dsh-client-ui-quote&amp;subtitle=Selection+quoting+for+the+DeepSeek+Harness+web+GUI&amp;logo=markdown&amp;mode=dark" />
    <img alt="dsh-client-ui-quote" src="https://shieldcn.dev/header/glow.svg?title=dsh-client-ui-quote&amp;subtitle=Selection+quoting+for+the+DeepSeek+Harness+web+GUI&amp;logo=markdown&amp;mode=light" />
  </picture>
</p>

# dsh-client-ui-quote

English | [中文](README.zh.md)

A selection-quoting plugin for the DeepSeek Harness web GUI: select text inside an AI reply and attach it to your next message as a quote banner.

<a href="https://github.com/skyhancloud/dsh-client-ui-quote/stargazers"><img alt="GitHub stars" src="https://shieldcn.dev/github/stars/skyhancloud/dsh-client-ui-quote.svg?variant=secondary" /></a>
<a href="https://github.com/skyhancloud/dsh-client-ui-quote/blob/main/LICENSE"><img alt="License" src="https://shieldcn.dev/github/license/skyhancloud/dsh-client-ui-quote.svg?variant=secondary" /></a>
<a href="https://github.com/skyhancloud/dsh-client-ui-quote/commits/main"><img alt="Last commit" src="https://shieldcn.dev/github/last-commit/skyhancloud/dsh-client-ui-quote.svg?variant=secondary" /></a>
<a href="https://github.com/skyhancloud/dsh-client-ui-quote/releases"><img alt="Version" src="https://shieldcn.dev/badge/version-0.1.0-blue.svg?variant=secondary" /></a>
<a href="https://github.com/skyhancloud/dsh-client-ui-quote/actions"><img alt="CI status" src="https://shieldcn.dev/github/ci/skyhancloud/dsh-client-ui-quote.svg?workflow=release.yml&branch=main&variant=secondary" /></a>
<a href="https://github.com/sponsors/skyhancloud"><img alt="GitHub Sponsors" src="https://shieldcn.dev/github/sponsors/skyhancloud.svg?variant=secondary" /></a>

## Table of Contents

- [Features](#features)
- [Preview](#preview)
- [Installation](#installation)
- [Usage](#usage)
- [Development](#development)
- [License](#license)

## Features

- **Selection toolbar** — one 引用 (Quote) button appears above the selection after a 50ms debounce, so it never flashes mid-drag. It hides on Escape, scroll-away, or when the selection collapses.
- **Quote banner** — a removable strip above the composer with a quote glyph, the quoted text, and a × button. The quote is consumed by the next send: the banner clears when the message goes out. Escape while the composer is focused clears it too.
- **Clean draft** — the quote is a pending-send attachment, not text in your input. Focus returns to the composer so typing follows.
- **Localized** — toolbar labels and the quote attribution follow the UI language (中文 / English).
- **Fallback for older harnesses** — on versions without the input-machine quote attachment, the button inserts the quote block at the end of the draft instead.

## Preview

![Toolbar above a selected AI reply](assets/preview-1.png)

![Quote banner above the composer](assets/preview-2.png)

## Installation

### Prerequisites

- DeepSeek Harness with the web GUI (`dsh web`)
- Full banner behavior needs `@deepseek-ai/dsh-client-ui-conversation` with the input-machine quote attachment (`InputActions.setQuote`). Older versions fall back to inserting the quote into the draft.

### Install

```sh
dsh plugin --profile web add https://github.com/skyhancloud/dsh-client-ui-quote
```

Then restart `dsh web` and refresh the browser.

## Usage

1. Select any text inside an AI reply.
2. Click **引用** (Quote) above the selection — the quote appears as a banner above the composer.
3. Type your message and send — the quote is prepended to the outgoing message:

```
> 引用 AI 回复:
> <selected lines>

<your message>
```

4. Click × on the banner when you no longer need the quote.

## Development

```sh
pnpm install
pnpm run bundle   # emits lib/index.js and lib/client.js
```

Pull requests are welcome.

## License

MIT — see [LICENSE](LICENSE).

Install

dsh plugin --profile web add github:skyhancloud/dsh-client-ui-quote

Profile: web

  • This package builds from source on install. pnpm will ask you to allow its build script — that is permission to run the package’s code on your machine, outside the agent sandbox. Only allow sources you trust.
  • This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.
Source