tr1v3r/dsh-quote-followup
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 不会随新服务进程自动更新。
请帮我安装这个 DSH 插件。安装前先完成【兼容性检查 + 安全性检查】,检查通过再动手。
插件:dsh-quote-followup(tr1v3r/dsh-quote-followup)
仓库:https://github.com/tr1v3r/dsh-quote-followup
本站详情页:https://www.yhbd.top/plugins/tr1v3r-dsh-quote-followup/
本站登记:类型 plugin · 归类 原生 DSH 插件 · 许可证 MIT · ⭐ 3 · 最近提交 2026-09-28 · 主语言 JavaScript
按下面顺序执行,每步先把结论告诉我,再进入下一步:
【1 兼容性检查】
① 我这边:DSH 版本、Node 版本、操作系统、当前 profile(web / desktop)。
② 读它的 README、package.json、插件 manifest,列出它要求的 DSH 版本 / Node 版本 / 操作系统 / 外部依赖 / 需要另外先装的运行时。
③ 逐条比对,结论只写「满足 / 不满足 / 未知」三种;不满足的给出可行替代方案。
④ 检查是否和我已装的插件冲突:命令名重复、skill / tool 重名、端口占用、重复注册的 MCP server。
【2 安全性检查】
① 仓库可信度:和上面「本站登记」是否一致;star / fork 数、创建时间、最近提交,是否归档或长期停更。
② 安装脚本:逐行看 package.json 的 preinstall / install / postinstall,以及 install.sh、setup.ps1 之类脚本。出现 curl|bash、下载后直接执行、混淆代码、访问与插件功能无关的域名,立刻停下来告诉我,不要继续装。
③ 依赖:列出新增依赖,标出无人维护、或与知名包拼写近似的可疑包(typosquatting)。
④ 权限与副作用:它会读写哪些目录、访问哪些域名、需要哪些 DSH 权限(filesystem / network / shell / clipboard 等),以及怎么卸载和回滚。
⑤ 如果它要求 sudo / 管理员权限,或权限明显超出功能所需,先停下来问我。
【3 安装】
上面两步没有「不满足」和「高危项」时才执行;用官方推荐方式安装,不要自行提权。
【4 汇报】
用表格输出:检查项 / 结论 / 依据 / 是否需要我决策。拿不准的一律写「未知」并说明要我怎么确认——不要猜,也不要替我决定。
Send this message to DSH in your current session: it verifies compatibility and security first (answering met / not met / unknown item by item) and only installs once everything checks out — it will stop and ask you if it finds a high-risk item. The box scrolls; the copy is the full prompt. CLI install commands may not be accurate across systems, so DSH is the safer route.把上面这条消息直接发给当前会话里的 DSH:它会先核对兼容性与安全性(逐条给「满足 / 不满足 / 未知」),确认没问题再安装,有高危项会停下来问你。框内可滚动,复制到的是完整提示词;安装命令不一定准确,发给 DSH 更稳。
- 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 | 中文
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, 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 →
liangmianya/dsh-synapse
alaliqing/claude-paper
acryldev/acryl
omdsh-dev/dsh-annotation
Anionex/dsh-turn-rewind
Tyan66666/billion-context-dsh
qkycir-123/dsh-run2skill