前言¶
在 DeepSeek Harness(DSH)里和模型长对话时,经常需要针对某一段助手回复追问:把原文贴进输入框、写成 Markdown 引用块,再补一句自己的话。手动复制往往得到的是压平的纯文本,表格、代码围栏和标题结构会丢;从消息里截取再手打 > 也费事。社区插件 dsh-quote-reply(维护者 talongao,分类:客户端)在浏览器侧监听对话正文选区,浮出小工具条,支持「引用回复」和「以 Markdown 复制」,并与宿主输入框、发送接口对接。下面介绍它做什么、怎么装、怎么用,以及安装前应注意的事项。
这是什么¶
dsh-quote-reply 是 DSH 的客户端 Web 插件(dsh.client.platform: web)。选中任意对话消息内的文本后,选区上方会出现浮动工具条:引用打开回复弹窗;复制把选区以 Markdown 源码写入剪贴板(从渲染后的 DOM 反推标题、列表、表格、链接、粗斜体、围栏代码块等,而不是纯文本)。弹窗内可将 > 原文 与你的回复写入输入框草稿(不发送),或直接发送;也可只插入引用块、不写回复。
插件当前版本为 0.2.0(见仓库 package.json),许可证 MIT,依赖宿主 dsh >= 0.2.1-rc.1、Node >= 22.13.0。目录页:https://www.skillhub.cn/plugins/talongao/dsh-quote-reply;源码:https://github.com/talongao/dsh-quote-reply。SkillHub 为社区插件目录,与 DeepSeek / 幻方无官方从属关系。
核心功能¶
浮动工具条¶
在对话正文(宿主标记为 [data-conversation-content] 的区域)内拖选文本后,工具条浮于选区上方、水平居中,不压住选中文字;上方空间不足时落到选区下方。滚动时按钮跟随选区,选区消失即收起。输入框、侧栏、代码块输入区、iframe、终端内选区不会触发。
引用与发送¶
| 操作 | 行为 |
|---|---|
| 引用 | 打开回复 popover |
| 添加到对话框 | 写入 > 原文 + 空行 + 你的回复到 composer 草稿,不发送;已有草稿时接在后面 |
| 直接发送 | 将同一段内容立刻作为消息发出 |
取消 / Esc / 点空白 |
关闭 popover |
快捷键 ⌘/Ctrl + Enter 等价于「直接发送」。
生成的文本形如:
> 被选中的原文第一行
> 第二行(多行选区每行都带 >)
你的回复
只选中、不写回复时,插入的只有引用块本身。
复制为 Markdown¶
复制使用实时 Range,不受引用 4000 字上限影响;超过 200000 字会截断以保护剪贴板。通过 navigator.clipboard 写入,失败时退回隐藏 textarea + execCommand,兜底后会将用户选区原样恢复。中文界面显示中文按钮文案,其余环境显示英文。
多会话¶
会话身份从选区所在的 [data-conversation-session] 读取,多面板并排时各自对应正确的 composer 与发送目标。
安装与启用¶
浏览器半侧随 boot manifest 下发,必须重启 DSH 进程;仅刷新页面不足以加载新插件。
DSH Desktop: 打开 Settings → Plugins,搜索 dsh-quote-reply,在应用内插件管理器安装,然后重启应用并 reload 页面。
纯 dsh web: 安装到 dsh web 实际使用的 profile,再重启:
dsh plugin --profile <profile> add dsh-quote-reply
在 npm 正式包可用之前,或希望直接从 GitHub 安装时:
dsh plugin --profile <profile> add github:talongao/dsh-quote-reply
本地开发 bundle 时,资料给出的方式为 plugin_manager action=install_bundle target=<绝对路径>,安装后同样需重启桌面端再刷新 GUI。
典型用法¶
- 在 DSH 对话里用鼠标选中助手或用户消息中的一段(须在消息正文区域内)。
- 点击浮层上的 引用(或英文 Quote),在 popover 里输入追问内容。
- 若希望先改草稿再发,点 添加到对话框;若确认无误,点 直接发送 或按 ⌘/Ctrl + Enter。
- 若只需把选中片段以结构化 Markdown 贴到别处,点 复制,再到外部编辑器粘贴。
适用场景与注意¶
适合经常在 DSH GUI 里做「逐段引用 + 追问」的开发者或日常对话用户;需要保留选中区域 Markdown 结构(尤其表格、代码块)时,复制比浏览器默认复制更合适。
安装前请自行查看仓库源码与 MIT 许可证。DSH 插件在当前 dsh 进程权限下运行,客户端脚本会注入页面并调用宿主提供的 conversation.input、conversation.send 等契约;只从社区目录或 GitHub 安装你信任的来源。
技术侧若你 fork 或二次开发:浮层 CSS 有硬性不透明与主题令牌约束(见 README「样式约束」),并有 test/smoke.mjs 等冒烟测试;改样式前建议先跑 node test/smoke.mjs。
结尾¶
dsh-quote-reply 把「选中 → 引用块 + 回复 → 草稿或发送」和「选中 → Markdown 复制」收进对话内一步操作,减少在 DSH 里手工排版引用的摩擦。更多信息见社区目录页 https://www.skillhub.cn/plugins/talongao/dsh-quote-reply 与 GitHub 仓库 https://github.com/talongao/dsh-quote-reply。