前言¶
在 DeepSeek Harness(DSH)里写跟进问题时,常见做法是手动复制助手或用户消息、在输入框里加上 > 逐行引用。草稿已经写了一半时,若整段替换或粘贴不当,容易把已有内容冲掉。社区插件 dsh-quote(维护者 naletko)针对的是:在对话 transcript 里选中一段文字,以 Markdown 块引用形式追加到 Composer,且不动你正在写的草稿。行为上 README 将其与 Codex 的引用方式作类比——选区旁出现 Quote 按钮,或使用快捷键,引用块落在草稿之后,中间空一行。
这是什么¶
dsh-quote 是 DSH 的客户端类插件:在 Web 客户端(Desktop 应用内的 Web 视图或浏览器会话)中,对对话里可选中的文本(助手消息、用户消息均可)格式化为块引用并插入 Composer。插件无 npm 依赖、无构建步骤,由 host 侧 index.js 与浏览器侧 client.js 组成。当前 package 版本为 1.3.3,许可证 MIT(© 2026 Alex Naletko)。目录页:skillhub.cn/plugins/naletko/dsh-quote;源码:github.com/naletko/dsh-quote。
核心功能¶
下面介绍 README 中已说明、且与实现描述一致的能力。
引用与草稿保护¶
- 在对话中选中一段或多段文字。
- 点击选区旁的 Quote,或按默认快捷键(见下节)。
- 插入结果形如:
> first line of the quoted text
> second line of the quoted text
引用与已有草稿之间会空一行;引用是追加到草稿末尾,不会用选区替换整段输入。插入优先走 Composer 自带的 captureInsertion() / insertText(),形成可撤销的单次编辑;若该路径不可用,则读回当前草稿再在末尾追加引用,插件不会覆盖你已输入的内容。
快捷键与按钮¶
| 平台 | 默认快捷键 |
|---|---|
| Windows、Linux | Ctrl+Shift+. |
| macOS | Cmd+Shift+. |
设置里以可移植和弦 Mod+Shift+. 存储(Mod 在 Windows/Linux 为 Ctrl,在 macOS 为 Cmd)。可在插件设置卡片中重新录制快捷键;字母键按物理键码匹配,非拉丁键盘布局下仍可识别。
选区折叠、点击空白、Esc、滚动、窗口缩放、切换标签或会话变更时,Quote 按钮会消失。在 input、textarea、contenteditable(含 Composer 自身)内的选区会被忽略,避免误触。
文本与界面¶
选区会 trim,CRLF 归一化,连续空行在引用中折叠为单行 >,长度受「最大引用长度」限制(默认 4000 字符,可调 200–20000)。按钮与设置卡片使用 DSH 设计 token(--dsw-alias-*),支持深浅主题、prefers-reduced-motion、aria-label 与焦点环。界面语言随 document.documentElement.lang(ru* 为俄语,否则英语)。
隐私与本地配置¶
插件声明无出站网络(host 仅提供本地配置路由);选中文本仅在浏览器内格式化并写入 Composer,不上传、不遥测。配置经 GET/POST /api/dsh-quote/config 读写,持久化为 DSH 主目录下的 dsh-quote-config.json($DSH_HOME 未设置时为 ~/.dsh);浏览器侧在 localStorage 保留副本以便首屏 Composer 读取设置。该 API 仅接受明显来自 loopback 的请求,并拒绝大于 16 KiB 的请求体。
安装与启用¶
安装方式取决于你如何使用 DSH;命令与步骤均来自项目 README。
Desktop 应用¶
- 打开 Plugins。
- 选择 Add plugin,输入
dsh-quote(或本地 checkout 的绝对路径)。 - 若 bundle 默认未启用则打开;设置卡片出现在该插件页面。
CLI¶
dsh plugin --profile web add dsh-quote
本地目录安装示例:
dsh plugin --profile web add /absolute/path/to/dsh-quote
无插件管理器的部署环境,README 给出手动添加规格:github:naletko/dsh-quote(通过 Plugins → Add plugin)。
环境与兼容¶
- DeepSeek Harness 核心建议 0.2.1-rc.2(Web 客户端);manifest 亦接受更早的
0.2.x。 - 使用
conversation.input.right槽位(列表位),刻意不占conversation.input.activity,以免挤掉语音插件麦克风。 - 支持 Windows、macOS、Linux;无 npm 依赖、无 bundler、无构建步骤。
插件以当前 DSH 进程权限运行;安装前请自行查看源码与 MIT 许可证,确认符合你的安全与合规要求。
典型用法¶
经过上面的安装与启用,日常使用可以按下面三步复现 README 中的流程:
- 在对话里选中内容——可以是消息中的一段、整段或多段。
- 点 Quote 或按快捷键。
- 块引用出现在 Composer 中,原有草稿保持不变,可在引用下方继续输入。
README 给出的典型场景:选中回答里你不同意的一段,引用后继续写反驳或追问。
设置项¶
在 Plugins 中该插件页面,或通过列表行的 Configure 打开设置卡片;卡片内有与插入结果一致的实时预览。
| 设置 | 默认 | 作用 |
|---|---|---|
| Enable quoting | 开 | 关闭按钮与快捷键,无需卸载插件 |
| Add an attribution line | 关 | 在引用末追加一行 > — quote(俄语环境为 > — цитата) |
| Maximum quote length | 4000 |
保留的选区字符数上限 |
| Keyboard shortcut | Mod+Shift+. |
点击字段后按下所需组合;Restore default 恢复默认 |
更新与自测¶
在带插件管理器的 Desktop 中,Settings → Plugins → Quote 的 Updates 可对比 GitHub main 与已装版本并一键更新;更新后需重载页面,若版本未变则可能需要重启应用(host 半仅在启动时加载)。
开发者可在 clone 后的目录运行(README From source / Tests 节,不涉及向 DSH 注册安装):
node --check index.js client.js
node test/metadata-check.mjs
node test/quote-logic-check.mjs
结尾¶
dsh-quote 解决的是「对话里选中即引用、且不丢 Composer 草稿」这一具体交互问题,适合经常在 DSH 里逐段回应模型输出、需要 Markdown 块引用格式的开发者。DSH 生态强调「一切皆插件」;SkillHub 插件目录 为社区站点,与 DeepSeek / 幻方无官方从属关系。进一步了解实现与隐私说明见 GitHub 仓库:https://github.com/naletko/dsh-quote。