前言¶
在 DeepSeek Harness(DSH)Desktop 里做长对话时,临时想追问某一句、某段代码或某个接口,常见做法只有两种:在主线程里接着问,容易把主线带偏;另开新会话,又得把上下文重新贴一遍。社区里也有侧聊、分支类插件,侧重点各不相同。
下面介绍维护者 stilla-maris 发布的客户端插件 dsh-quote-ask(引问):在主对话里选中文字,通过右键把片段「加到下一次主对话提问」,或在右侧开一个临时侧聊。侧聊界面不展示继承来的聊天记录,但模型侧能看到主对话与你精确选中的内容;关掉标签页后,侧聊相关本地痕迹按设计清理,且不污染左侧会话列表。
这是什么¶
dsh-quote-ask 是面向 DeepSeek Harness Desktop 的「引用提问」插件,仓库:stilla-maris/dsh-quote-ask。SkillHub 目录分类为客户端;GitHub 简介为:Quote it, ask it — in your main chat or a clean side chat. For DeepSeek Harness Desktop.
插件版本在 package.json 中为 1.0.0,许可证 MIT。engines.dsh 要求 >=0.2.1-rc.2 <0.3.0;README 标明当前在 Windows 11 + DSH Desktop 0.2.1-rc.2 上完整验证过,macOS / Linux 理论上可用但未逐一验证,Web 版与纯 CLI 不适用。
和常见侧聊插件的差异(资料中的定位)¶
作者说明社区已有侧聊/分支类插件,本项目的侧重点是「引用定位」与「删得干净」:
- 引用不是孤立文本:记录 DOM 消息节点、轮次、字符偏移、前后文和整条消息,同一词多次出现也能锁定选中位置。
- 引用增删会重写模型上下文;删除引用时,主对话转录中对应出现会替换为「〔该引用片段已删除〕」。
- 不使用 archive,避免 DSH 的 archived-session gate 拦掉模型调用。
- 关闭侧聊后按白名单删除 scratch 目录、日志、缓存等;主对话文件不被改写。
核心功能¶
经 README 核实,主要能力如下:
- 选中即引用:主对话选中文字 → 右键 →「在侧边聊天中提问」。
- 添加至对话:同一菜单的「添加至对话」把片段挂到主对话下一次提问;输入框出现「已选文本片段」chip,可多条叠加,发送时经 model-only system-prompt 注入,回答结束后自动清除。
- 侧聊界面空白:无继承聊天记录,输入框在底部;模型侧通过
context.md与 system-prompt 获得主对话文字消息、工具结果摘要与引用,聊天 UI 不显示这些历史。 - 引用精确到位置:含 DOM 锚点与偏移,避免同词误指。
- 删除引用生效:重写
context.md,并在主对话转录中标记删除;下一轮模型不再看到该片段。 - 不污染会话列表:侧聊按会话 id 隐藏,不出现在左侧列表。
- 关闭即清理:关闭标签页删除
$DSH_HOME/quote-ask/<id>/下 scratch、context.md、会话日志、projection cache、spill、浏览器草稿与清理凭证等;完全退出 DSH 会清理本次运行中所有未关闭侧聊;Ctrl+R刷新页面不会结束侧聊。 - 纯本地:插件不发起网络请求、无遥测;模型请求仍由 DSH 发出。
安装与启用¶
安装前需知:这是桌面端插件;为构建上下文会在本机读取当前主对话内容并写入 $DSH_HOME/quote-ask/<id>/context.md,与侧聊问题一并交给模型(与你在主对话提问时的数据边界一致)。安装为本地目录指向你解压后的文件夹,移动或删除该目录会导致插件失效。首次安装 profile 初始化可能需联网(底层涉及 pnpm);插件本身无额外网络请求。
当前文档以 Windows 快速开始为主;更细步骤见仓库 docs/installation.md。
1、获取插件目录¶
在 GitHub 页面使用 Code → Download ZIP,解压到本地(不要在压缩包内直接安装)。
2、执行安装脚本¶
在仓库根目录(含 README 与 package.json 的一层)打开 PowerShell:
powershell -ExecutionPolicy Bypass -File .\scripts\install-windows.ps1
脚本会查找 DSH Desktop 安装目录,并调用自带 CLI 将当前目录安装到 desktop profile。
若 DSH 不在默认路径,可显式指定:
powershell -ExecutionPolicy Bypass -File .\scripts\install-windows.ps1 -DshRoot "D:\path\to\DeepSeek Harness"
等价手动命令(路径需按本机调整):
$dsh = "$env:LOCALAPPDATA\Programs\DeepSeek Harness\resources\runtime\cli\bin\dsh.cmd"
& $dsh plugin --profile desktop add "<仓库绝对路径>"
3、重启 DSH¶
安装后完全退出 DSH Desktop(含托盘进程),再重新打开。仅 Ctrl+R 刷新页面不够,宿主半区与客户端模块需重新加载。
典型用法¶
经过上面的安装与重启,可按 README 中的步骤自测:
- 打开任意已有对话;
- 在内容中选中一段文字;
- 右键 →「在侧边聊天中提问」;
- 右侧栏出现「侧聊 · 对话标题」,输入问题即可;
- 回到主对话选中文字 → 右键 →「添加至对话」,主对话输入框出现引用 chip;发送下一问时模型会带上引用;
- 关闭侧聊标签页,确认左侧列表无新增会话、主对话文件未被改写。
侧聊只存在于当前 DSH 运行期间;需要长期保留的结论应写回主对话。主对话转录上限约 60 万字符,超出会保留最近部分并注明截断。
卸载¶
在仓库根目录执行:
powershell -ExecutionPolicy Bypass -File .\scripts\uninstall-windows.ps1
然后完全退出并重启 DSH。卸载不删除主对话;未关闭的侧聊会在下次启动时自动清理。
适用场景与注意¶
适合:在 DSH Desktop 长会话里,对选中片段做短问短答,又不想污染主线或手动复制大段上下文;希望侧聊结束后本地痕迹尽量收干净、且不在会话列表里留「幽灵会话」的用户。
权限与审计:插件以当前 DSH 进程权限运行,会读取主对话以生成模型上下文。安装前应查看源码(README 指向 lib/index.js 宿主与 lib/client/index.js 客户端)与 MIT 许可证,按你的数据边界使用。
兼容与限制:DSH 升级到 0.3+ 后会被 engines 拒绝加载,需等待适配。多个侧聊同时打开时,「添加到侧边聊天引用」作用于该主对话最新打开的侧聊。若其他插件也接管聊天区选中文本右键菜单,可能出现重复菜单,目前无配置开关。DSH 崩溃时清理依赖下次启动 sweep(两阶段凭证机制,详见仓库 docs/cleanup-and-compatibility.md)。
开发侧可在插件目录运行 node scripts/check.mjs 或 node test/verify.mjs 做契约测试,无需启动 DSH。
结尾¶
dsh-quote-ask 把「选中一段、问一句、问完即删」做成 Desktop 上的引用侧聊与「下一次主对话提问」两种入口,强调 DOM 级引用定位与关闭后的本地清理。DSH 生态以插件扩展能力为主;SkillHub 等社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系。