前言¶
在 DeepSeek Harness(DSH)的 Web 会话里,若要对助手回复做划词引用或批注,常见做法是选中后右键,或按 ⌘L 打开菜单再操作。上游插件 dsh-selection-quote 已覆盖拷贝、添加到对话和行内评论,但复制与浮框触发仍依赖显式操作。dsh-selection-quote-auto 由维护者 prettyfox 在上游 0.2.0(MIT)基础上分叉,把「选中 → 复制 → 弹出注释入口」收成一条链路,并调整标记样式、深色主题与滚动角标等行为。下面介绍它的定位、安装与用法。
这是什么¶
dsh-selection-quote-auto 是 DSH 的客户端插件:在助手消息里划选文字时,原文自动写入剪贴板,选区上方出现「注释」小胶囊;点击胶囊才展开原来的评论输入框。右键菜单与 ⌘L 与上游一致。仅适用于 Web profile(dsh.client.platform = "web"),需在 dsh web 场景下使用。
仓库:https://github.com/prettyfox/dsh-selection-quote-auto
社区目录页:https://www.skillhub.cn/plugins/prettyfox/dsh-selection-quote-auto
当前包版本(package.json):0.2.1,许可证 MIT。
与上游 dsh-selection-quote 的差异¶
| 方面 | 上游 0.2.0 | 本插件 |
|---|---|---|
| 触发 | 选中后右键,或 ⌘L |
选中即自动复制,并弹出「注释」胶囊;右键 / ⌘L 仍可用 |
| 复制 | 右键菜单「拷贝」 | 选中即复制,浮框右侧短暂显示「已复制」 |
| 标记 | 蓝色背景高亮 | 暖色波浪下划线(待确认)/ 点线(已进队列) |
| 深色模式 | 跟随系统 prefers-color-scheme |
跟随 DSH body[data-ds-dark-theme] |
| 外观 | 深色胶囊/卡片 | 浅色液态玻璃 / 深色烟熏玻璃 |
| 角标滚动 | React 重渲染,惯性滚动可能拖影 | requestAnimationFrame 同步坐标,越界自动隐藏 |
| 范围 | 会话内任意消息 | 默认仅助手消息(可通过常量改为任意消息) |
核心功能¶
- 选中即复制:在助手回复中选中至少 2 个字,原文进入剪贴板,并显示短时「已复制」提示(默认 1600ms,可在源码常量中改)。
- 注释胶囊:选区上方出现「注释」入口,点击后展开评论框并自动聚焦;可写批注或留空。
- 与对话输入联动:
Enter或确认后,底部输入框出现💬 N 条注释 ×,再Enter发送。 - 保留上游能力:右键(拷贝 / 添加到对话
⌘L)、序号角标、已发送消息上的「N 条注释」胶囊等行为不变。 - 宿主插槽:只使用 DSH 既有插槽
conversation.input.overlay、conversation.input.dock、conversation.user.text.node,不修改 DSH 核心。
插件读取宿主配置项 enabled、addToChatMode、commentLabel;更细的行为在 lib/client.js 顶部常量中定义,改后刷新页面即可。
安装与启用¶
安装前请卸载或停用上游 dsh-selection-quote,两者会在同一位置渲染浮框,同时启用会出现两套 UI。
方式一:Discover 索引源(无需 npm)¶
在 DSH 插件 → 发现(Discover)→ 索引源 中添加:
https://cdn.jsdelivr.net/gh/prettyfox/dsh-selection-quote-auto@main/index.json
该能力由实验性 @deepseek-ai/dsh-experimental-plugin-market-bundle 提供,需在 profile 的 dsh.profile.bundles 中启用并重启一次 dsh web。需要固定版本时,可将 URL 中的 @main 换成 @ee4d69273c1187c2dc72f652385a3fb1ea53788d。
方式二:预构建包或 Git 源(推荐 tarball)¶
dsh plugin --profile web add https://github.com/prettyfox/dsh-selection-quote-auto/releases/download/v0.2.0/dsh-selection-quote-auto-0.2.0.tgz
或从 GitHub 安装源码包:
dsh plugin --profile web add git+https://github.com/prettyfox/dsh-selection-quote-auto.git
方式三:本地目录¶
克隆仓库后在本机路径安装(README 中的示例):
git clone https://github.com/prettyfox/dsh-selection-quote-auto.git
dsh plugin --profile web add ./dsh-selection-quote-auto
装完后刷新页面;新 bundle 通常还需重启一次 dsh web。也可在插件市场/发现页搜索 dsh-selection-quote-auto。
典型用法¶
- 在助手回复里选中 ≥2 个字 → 原文自动复制,选区上方出现「注释」。
- 点击「注释」→ 评论输入框出现并聚焦,填写批注或留空。
Enter或 ✓ → 底部输入框出现💬 N 条注释 ×,再Enter发送。- 需要时仍可用右键菜单或
⌘L做拷贝或添加到对话。
若需关闭自动复制或扩大触发范围,可在 lib/client.js 顶部调整(改后刷新页面):
const AUTO_COPY_ON_SELECT = true; // 选中即复制原文
const AUTO_TRIGGER_ON_SELECT = true; // 选中即显示「注释」胶囊
const AUTO_TRIGGER_SCOPE = "assistant"; // "assistant" 仅助手;"any" 所有会话消息
const COPIED_HINT_MS = 1600; // 「已复制」提示时长
兼容性与开发¶
- 面向 DSH 0.2.x Web profile,Chromium 内核浏览器。
- 持久下划线依赖 CSS Custom Highlight API(Chrome/Edge 105+、Safari 17.2+);不支持时优雅降级。
- 回归测试:
node --test test/index.test.js;test/dom-harness.html、test/pin-scroll-harness.html可用 headless Chrome 查看 OK/FAIL。
0.2.1 修复了 MODULE_ID 仍写成上游包名导致插件页 Failed to load plugins 的问题,现与包名 dsh-selection-quote-auto 一致。
适用场景与注意¶
适合在 DSH Web 会话里频繁从助手长回复中摘句、写行内批注再一并发给模型的开发者。与上游一样,这是社区维护的第三方分叉,与上游作者 xt765 无隶属关系;插件以当前 dsh 进程权限在浏览器侧运行,安装前请自行审阅 源码与 LICENSE。
社区插件目录(如 SkillHub)独立于 DeepSeek / 幻方,并非官方应用商店;DSH 生态强调「一切皆插件」,按需从索引源或 GitHub 安装即可。