tr1v3r/dsh-quote-followup 预览 preview

tr1v3r/dsh-quote-followup

Plugin插件 Native原生 ⭐ 3 MIT Sessions & Context会话与上下文

Quote selected conversation text into the composer and ask a targeted follow-up — a Web-only DeepSeek Harness plugin, public seams only.

Project Overview项目介绍

dsh-quote-followup is a native plugin built specifically for the DeepSeek Harness Web client, and its sole purpose is to turn a highlighted span of conversation text into a DSH-native conversation-reference chip appended to the current composer draft without overwriting anything you have already typed. Instead of registering through Lexical's private node table, the plugin routes the chip through the session-scoped composer input facade, reusing the same atomic ReferenceChipNode, conversation icon, and business color as @file and @session, so the visual treatment stays consistent across the existing reference family. It is published on npm as dsh-quote-followup under an MIT license, requires DSH >=0.1.2-rc.1, and is installed with the Web profile only via dsh plugin --profile web add dsh-quote-followup, after which dsh-quote-followup must be added to that profile's dsh.profile.bundles entry and the dsh web server restarted to rebuild the boot-time client bundle.

The typical workflow starts with a user selecting text anywhere inside a Web conversation transcript, which causes a floating Quote button to appear next to the selection; clicking that button inserts a compact native chip carrying the excerpt, an optional display-only role hint, and a per-turn ordinal when both ends of the selection fall inside the same DSH chat row, while selections that cross messages keep the excerpt but drop the ambiguous role and turn metadata so the chip never lies about its provenance. Multiple excerpts can be quoted back-to-back, and at send time the plugin codec expands each chip into a model-readable Markdown blockquote, falling back to a plain-text quote when the host lacks native chip support and surfacing a localized notice when the composer is missing or locked, restoring the original selection so you can retry. The plugin is intended for Web users who frequently re-quote snippets of prior model or user turns to anchor focused follow-up questions, and TUI users are explicitly out of scope.

Dependencies are intentionally narrow: DSH Web >=0.1.2-rc.1, the npm toolchain for development, and optionally Chromium for the assembled DSH Web regression suite that pins a built DSH checkout. The standard npm test harness covers compact native quote chips, locale switching, single-row versus cross-message provenance, missing/locked composer feedback and retry, repeated quoting, spacing after an existing draft, codec serialization, the Firefox text fallback, and takeover of stale singleton or button state after a hot swap, while the opt-in integration suite covers existing drafts, undo/redo, session isolation, prompt serialization, and host-driven unavailable-input paths. The license is MIT, but the first-run caveat is operational rather than legal: chips live only inside the Lexical editor and the model sees only the blockquotes the codec emits, so you must reload or reopen browser tabs that were already open across the dsh web restart, because their already-loaded JavaScript cannot refresh itself from a new server process and will continue to talk to the older client bundle until you reload the page.

dsh-quote-followup 是面向 DeepSeek Harness Web 客户端的原生插件,核心能力是在网页对话中选中文字后,以 DSH 原生 conversation-reference 引用卡片的形式追加到当前草稿中,而不替换已有内容。插件调用会话作用域下的合成器输入门面,而非 Lexical 私有节点注册表,从而与 @file、@session 共用同一套 ReferenceChipNode、会话图标和业务色,保证视觉与交互一致。安装需 DSH ≥0.1.2-rc.1,通过 dsh plugin --profile web add dsh-quote-followup 将其加入 Web profile 的 dsh.profile.bundles,然后重启 dsh web 以触发客户端 bundle 重新构建。

典型使用流程是:在对话消息中选中一段文本,点击浮出的 ❐ Quote 按钮即可插入引用卡片,可继续选中并引用多段内容,在卡片后追加追问并发送。发送时,插件 codec 会把每张卡片展开为模型可读的 Markdown blockquote;若宿主不支持原生卡片,会回退为纯文本引用。该插件仅限 Web,明确不支持 TUI;卡片只携带摘要、角色提示、可用的对话轮次序号以及截断标志,不写入全局会话消息引用,因此在压缩折叠与会话轮换后仍保持有效。

依赖方面,需要 DSH ≥0.1.2-rc.1,以及在 Web profile 的 bundles 中正确注册。源码使用 npm,提供 npm test 跑回归,覆盖 Firefox 文本回退、热更新时陈旧单例与按钮状态的接管等;另有针对钉版 DSH 检出配合 Chromium 的可选用例。遵循 MIT 协议,首次使用需重启 dsh web 并刷新已打开的浏览器标签页,因为旧标签页里已加载的 JS 不会随新服务进程自动更新。

Pre-install check安装前体检Compatibility · Security兼容性 · 安全性 1 warning1 项注意
  • Only 3 stars - very few users, little community feedback星标只有 3,几乎没人在用,遇到问题缺少社区反馈
DSH walks through these 9 checksDSH 会逐条核对这 9 项

Compatibility兼容性

  • DSH, Node, OS and profile requirementsDSH 版本 / Node 版本 / 操作系统 / profile 是否满足要求
  • External dependencies and runtimes (Electron / Python / Docker, ...)外部依赖与运行时(Electron / Python / Docker 等)是否齐备
  • Conflicts with installed plugins: command names, skill / tool names, ports, duplicate MCP registration与已装插件是否冲突:命令名、skill / tool 重名、端口占用、重复 MCP 注册

Security安全性

  • Repo matches the facts registered here; archived or abandoned?仓库是否与页面登记一致,是否归档或长期停更
  • Safety of preinstall / install / postinstall and install.sh / setup.ps1preinstall / install / postinstall 与 install.sh、setup.ps1 是否安全
  • curl|bash, download-then-execute, obfuscation, unrelated domains → stop immediatelycurl|bash、下载即执行、混淆代码、无关域名 → 立刻停止
  • Typosquatting or unmaintained packages among the new dependencies新增依赖里有没有 typosquatting 或无人维护的包
  • Requested permissions vs. what the feature actually needs申请了哪些权限、是否超出功能所需(filesystem / network / shell / clipboard)
  • Any sudo / admin requirement, plus uninstall and rollback是否要求 sudo / 管理员权限,以及卸载与回滚方式

Anything uncertain must be marked unknown with a note on how to confirm it. This site's signal screen is a static snapshot, not a security audit.拿不准的必须标「未知」并说明要我怎么确认。本站的信号筛查是静态快照,不能替代安全审计。

Or use CLI install (for developers)或使用命令行安装(适合开发者)

CLI Install命令行安装

dsh plugin --profile web add dsh-quote-followup

把 tr1v3r/dsh-quote-followup 加入你的 DSH 配置(web profile)即可启用。

READMEREADME

dsh-quote-followup

English | 中文

npm version license DSH Market

A Web-only DeepSeek Harness plugin for quoting selected conversation text into the composer and asking a focused follow-up.

Select conversation excerpts, insert native DSH quote chips, and write 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, using the session-scoped composer input facade rather than Lexical's private node registry.
  • 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 both ends of the selection belong to the same DSH chat row. Selections spanning messages keep the excerpt but omit ambiguous role/turn provenance.
  • Quote multiple excerpts; on send, the plugin codec expands each chip into a model-readable Markdown blockquote.
  • Resolve the active session through the DSH 0.1.7 UI session adapter, while retaining the older session-list selection path; never paste an unscoped quote when no session binding is available.
  • Fall back to a plain-text quote when the host lacks native chip support.
  • Show a localized notice if the composer is missing or unavailable, restore the selection, and let you retry quoting the original text.

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.

Showing the opening section of the README — the full document lives in the repository以上为 README 开头摘要,完整文档在仓库内 · View the full README on GitHub →在 GitHub 查看完整 README →

← 上一个 Prev dsh-remote-access-web 下一个 Next dsh-omp-advisor →