dsh-quote-followup
Quote selected conversation content into a targeted follow-up turn for DeepSeek Harness — TUI face (message picker) + Web face (selection quote button), public seams only
- Stars
- 0
- Language
- JavaScript
- Created
- Sep 6, 2026
- Updated
- Sep 7, 2026
Introduction
dsh-quote-followup
English | 中文
A Web-only DeepSeek Harness plugin for quoting selected conversation text into the composer and asking a focused follow-up.
Select. Quote. Follow up.
Features
- Select text inside the Web conversation transcript to reveal a floating Quote button.
- Append a native DSH conversation-reference chip without replacing the existing draft.
- Reuse the same atomic
ReferenceChipNode, conversation icon, and business color as@file/@session. - Keep each chip compact by showing only the excerpt; the bubble icon already conveys that it is a quote.
- Follow the active DSH locale for the floating action and serialized quote frame.
- Attach the conversation turn number to the serialized frame when the selection comes from a DSH chat row, so follow-ups like "revisit turn 3" stay resolvable. Selections without a turn marker keep the provenance-free frame.
- Quote multiple excerpts; on send, the plugin codec expands each chip into a model-readable Markdown blockquote.
- Fall back to a plain-text quote when the host lacks native chip support.
TUI is intentionally unsupported.
Scope
This is a Web client-side extension. The composer and send path are owned by the browser client: chips exist only in the Lexical editor, and the model only ever sees the Markdown blockquotes the codec expands at send time — never the chips themselves. No host-side plugin surface is involved.
Chips are text-only by design. They carry the excerpt, a display-only role hint, the conversation turn ordinal when it is available, and a truncation flag — no global session-message references — so they stay valid across compaction folds and session rotation.
Install
Requires DSH >=0.1.2-rc.1.
dsh plugin --profile web add dsh-quote-followup
Add dsh-quote-followup to the Web profile's dsh.profile.bundles, then restart dsh web so the server rebuilds its boot-time client bundle. Reload or reopen browser tabs that stayed open across the restart; their already-loaded JavaScript cannot update itself from a new server process.
Use
- Select text in a conversation message.
- Click ❐ Quote.
- Select and quote more excerpts if needed.
- Type the follow-up after the inserted chips and send.
Development
npm test
The regression harness covers compact native quote chips, locale switching, turn-number provenance with graceful degradation, repeated quoting, spacing after an existing draft, codec serialization, the Firefox text fallback, and current-client takeover of stale singleton/button state after a hot swap.
License
MIT