DSH HUB
HomePlugin StoreRankingsPublish Guide
Plugin source
Back to catalog

xjwwjx /

dsh-conversation-quote

Verified

Quote-to-composer UI plugin for DeepSeek Harness Web: select conversation text in the chat and send it together with your next question

★ 0 Stars0 Forks0 IssuesN/A Community rating0 Confirmed installs
View on GitHub
READMESource: main@8e5ace60

dsh-conversation-quote

English | 中文

Quote-to-composer UI plugin: select conversation text you want to cite — each selection becomes a compact tab above the input, and all of them join your next question when you send. No model tool, no slash command — a pure browser-side extension of the chat surface.

What it does

  1. Select any text inside a chat message (user, assistant, tool, or injected context) with the mouse.

  2. A small 引用 / Quote pill floats above the selection.

  3. Click it: a compact quote tab appears above the composer card, left-aligned — [引用·谁] plus the first quoted line, fixed size. Hover a tab to expand the full content in a popover; the × in the tab's top-right corner removes that one quote. Stage as many quotes as you like — each selection adds another tab. The input box itself stays clean for your question:

    ┌ [引用·用户] > 这段内容需要被引用… ──×─┐  ┌ [引用·模型] > First line… ──×─┐
    │ (compact tabs above the input, not in it) │
    └──────────────────────────────────────────┘
    
  4. Type your question in the input and press Enter (or click send): all staged quotes join the message as citable blocks, in staging order, attributed to each speaker:

    [引用·用户]
    > 这段内容需要被引用
    
    [引用·模型]
    > First line
    > Second line
    

    The merge happens in the capture phase of the submit gesture — the input never shows the quoted text while you type, and the tabs clear after sending. Shift+Enter (newline) and IME composition pass through untouched.

Selection attribution comes from the chat transcript's own DOM markers (data-chat-flow-kind), the same ones scroll anchoring uses, so no message renderer is replaced. The floater hides on scroll, empty selection, or a selection made outside chat nodes.

Mounting

The plugin ships in the web profile's browser roster (dsh.client row ui-conversation-quote). It needs only the slot registry and the locale service, and contributes one list entry to the conversation.input.dock seat. Removing the row from cordis.patch.yml unmounts it.

Configuration

None — the surface is feature-complete at ship.

Model Experience

None, as the quote floater is pure browser chrome: the quote block becomes ordinary draft text the user types, so it enters model context only as part of a normal user message, with no schema, prompt-section, or request-header change.

KV Cache effect

None; no plugin state touches the history tail or the request prefix.

Known Limitations and Deferred Work

  • All staged quotes merge into the draft only at submit. If the send is refused, the merged text remains in the draft as ordinary editable text.
  • The send-button merge detects the primary button by its aria-label in the two shipped locales; a third locale the harness adds later would need the label added to the match list.
  • Attribution is by chat node kind (user / assistant / tool / context / chat), not by a stable message id; a quoted line cannot be traced back to a log seq from the UI.
  • The floater targets mouse selection; touch long-press selection is not handled specially.
DSH HUB

A community index for DSH plugins. Not an official GitHub or DeepSeek AI product.

APIPublish GuideAbout
—/ 5

No ratings yet

Verified DSH bundle

Commit 8e5ace60552a

Community comments

No comments yet. Be the first to write one.