前言¶
在 DeepSeek Harness(DSH)网页版里读 AI 的长回答,常见操作是:选中某句 → 复制 → 点输入框 → 粘贴 → 再补问题。粘进去的是一段没有结构的裸文本,模型很难区分「你的追问」和「你指的那句话」。手动拼 Markdown 引用块也费事。
下面介绍社区插件 dsh-selection-ask(维护者 Eos010):在页面里选中文字后,就地写批注,生成带编号的引用胶囊写入输入框,原文同步高亮与编号;删胶囊则高亮与编号一并消失。分类为客户端,当前 GitHub 星标为 0。插件目录页:skillhub.cn/plugins/Eos010/dsh-selection-ask。
这是什么¶
dsh-selection-ask 是 DSH 网页版的划词引用插件(README 标注版本 V0.1,package.json 为 0.1.0)。它不替代宿主对话能力,只在浏览器端增强「选中 → 引用 → 追问」这条链路。
插件以当前 DSH 进程的权限在客户端运行;README 写明不联网、不读文件、不读凭据。安装前建议自行查看 GitHub 源码 与 MIT 许可证。
核心功能¶
能力与 README 一致,摘要如下。
- 划词即引用:可选中 AI 回答、自己发过的话、工具输出、代码块等;光标旁浮出就地输入栏,可写批注或直接回车。
- 编号与高亮:每条引用有全局递增编号(
选中文本 1、2、3…),原文上有高亮与编号牌;悬停输入框里的胶囊可查看原文。 - 胶囊为唯一事实源:在输入框删除胶囊后,原文高亮与编号同时消失,不会留下孤儿标注。
- 插入位置:新引用落在输入框当前光标处;连续引用多段依次追加,不覆盖已有内容。
- 去重与合并:同一段文字再次引用时复用原编号;若先引短句再引包含它的长句,会更新为更长引用,不新增胶囊。
- 提交方式:
Enter只写入输入框(可继续编辑);Ctrl/Cmd + Enter写入并直接发送。 - 主题:配色取自宿主设计变量,浅色/深色自适应。
- 发给模型的形态:输入框里是编号胶囊,实际发送内容为规整的 Markdown 引用块,例如:
> 一句话对照:上面那串"往下压"是递,撞到出口后"往回收"是归——两个动作合起来才叫递归。
(这里接着写你的问题,光标已经在这了)
- 长度限制:选中内容超过 8000 字会截断,并提示「内容过长,已截断」。
安装与启用¶
DSH 命令行不能用 --profile desktop 装插件,会报错:
$ dsh plugin --profile desktop add github:Eos010/dsh-selection-ask
error: profile "desktop" is managed exclusively by the Electron application
桌面版 profile 由 Electron 应用独占管理。按你实际使用的环境二选一。
桌面版(Electron 应用)¶
在 DSH 应用内安装,或按 README 手动两步(Windows PowerShell 示例):
# 1) 把仓库放进 profile 的 node_modules
git clone https://github.com/Eos010/dsh-selection-ask `
"$env:USERPROFILE\.dsh\profiles\desktop\node_modules\dsh-selection-ask"
# 2) 在 ~/.dsh/profiles/desktop/package.json 的 dsh.profile.bundles 数组里加一行:
# "dsh-selection-ask"
# 3) 重启 DSH,然后刷新网页(Ctrl+F5)
命令行版 dsh web¶
先确保 PATH 上有 pnpm(dsh plugin 会转发到 pnpm):
npm i -g pnpm # dsh plugin 是 pnpm 的转发器,PATH 上得先有 pnpm
dsh plugin --profile web add github:Eos010/dsh-selection-ask
从本地工作副本安装时,将 github:… 换成 file:<你的工作副本路径>。
两种方式装完后都要重启 DSH,并刷新网页(Ctrl+F5)——包清单只在启动时读一次。卸载:从 dsh.profile.bundles 删掉对应行、删除 node_modules 下目录,再重启。
典型用法¶
经过上面的安装与重启,在网页里按下面步骤操作。
- 选中一段文字;
- 光标旁出现就地输入栏——写批注或留空;
Enter:写入输入框,不发送;Ctrl/Cmd + Enter:写入并立刻发送。
| 动作 | 结果 |
|---|---|
| 选中正文 | 浮出就地输入栏;选中区域底色不会消失 |
输入栏里按 Enter |
写进输入框,不发送 |
输入栏里按 Ctrl/Cmd + Enter |
写进输入框并立刻发送 |
| 写了批注再提交 | 输入框里是 [胶囊] 你的批注 |
| 悬停胶囊 | 浮出这条引用的原文 |
| 在输入框里删掉胶囊 | 原文高亮与编号同时消失 |
点别处 / 按 Esc |
收起浮层,不动输入框 |
| 在输入框里选中文字 | 不出浮层(编辑态,非引用) |
| 连续引用多段 | 依次排在光标处,追加而非覆盖 |
编号在一个页面生命周期内全局递增;同一段文字再次引用时复用原编号。
适用场景与注意¶
适合谁:经常在 DSH 网页里对着长回答「指着某句追问」的用户;希望引用块结构清晰、且页面上的标注与输入框内容保持一致的场景。
环境与限制(来自 README):
- 原文高亮需要 Chromium 105+(DSH 桌面版与
dsh web基于 Chromium,文档称实测可用)。 - 转录很长时,滚出屏幕的那段暂时不高亮,滚回可见区域后恢复。
- 侧边提问面板仍在完善:按钮已就位,暂时还发不出问题。
- 更新插件或改配置后请 Ctrl+F5 刷新页面。
- 若未来使用侧边提问相关能力,会调用你自己配置好的模型,消耗你的额度。
开发侧:package.json 要求 Node ≥ 22,运行时零依赖;构建与测试命令见仓库 README。
结尾¶
dsh-selection-ask 把「选中 → 批注 → Markdown 引用」收成划词与胶囊一条链,并靠输入框胶囊统一驱动页面高亮与编号。DSH 生态强调「一切皆插件」;社区目录 SkillHub 与 DeepSeek / 幻方无官方从属关系,安装与审阅请以仓库为准。
- 目录页:https://www.skillhub.cn/plugins/Eos010/dsh-selection-ask
- GitHub:https://github.com/Eos010/dsh-selection-ask