🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI
← 全部攻略

先选中再提问,比重新描述一遍省事

其他类文章2026/10/26 发布1 次阅读

改稿的时候最烦的一件事,是明明屏幕上就摆着要改的那句话,还得用手把它重新描述一遍:「你刚才第二段第三句里提到的那个默认值……」。描述本身比修改更费脑子。装上选中批注(dsh-annotation)之后,这个动作缩成了三下:选中、写两个字、回车。

它的仓库是 omdsh-dev/dsh-annotation,GitHub 星标 141,MIT 许可,最近一次提交在 11 天前。npm 包名 @changfenhuang/dsh-annotation,最新版 1.4.11 发布于 2026 年 10 月 1 日,运行时零依赖,engines.node 要求 20 以上,peer 依赖是 cordis(^4.0.0-rc.7 || ^4.0.1)。本站综合分 61.1,npm 周下载 520——这个数字是 npm 全网口径,含 CI 与镜像拉取,不等于某个站点的安装量。信任档位标的是「已验证」,依据是在 dsh 0.2.1-rc.2 下真实装起来过。

一次完整的动作长什么样

第一步选中。助手回复里任何一段文字都能选,选完浮出工具条,点「批注」。

第二步写批注。这里有个很容易被忽略的设计:批注允许留空。留空就是只标记原文,不带任何说明。你只想把这一段拎进下一轮上下文、不想额外多讲一句话的时候,留空就够。

第三步回车。批注块不会自己变成一条消息,它跟着输入框里正在写的问题一起发出去。所以真实顺序往往不是「先批注、再提问」,而是「一边敲问题、一边把要指的东西圈出来」,两件事并行。

攒着一次发,比来回追着问更像人的习惯

批注是跨消息、跨回合累积的。编号从 1 起,一直往上加;输入框旁边会冒出一个「批注 ×N」的标签,悬浮能看到这一批攒下的全部内容,也能删单条。

这个行为比单次批注有用得多。读一份长回复,常常是第三段发现一处别扭、第七段又发现一处,中间还夹着两句想问的。一次只能带一条的话,就得来回发好几轮;攒在一起发,更像把草稿纸上的记号整理成一张便签递过去。

自己的气泡是干净的

早些年接触过类似的工具,发送之后自己那条消息里塞满引用块和角标,翻历史记录一片噪声。这个插件的做法是:用户气泡里不出现批注块文本,只保留原来的提问和那个「批注 ×N」标签,想看内容就悬浮上去。

做起来并不轻松。它得在 DOM 绘制之前就把那段文本藏掉,用 MutationObserver 在微任务里处理,再挂一个一秒轮询兜底,刷新页面之后历史消息还要能自愈。为什么强调「绘制前」,因为等元素出现再改,眼睛会捕到一次闪现——先看见批注块,然后它消失。零闪烁是这类细节里最难做对的一环。

还有个坑值得记一笔:中文协议的分隔符用的是「提问:」,而不是更顺口的「问题:」。原因是标题行「回答我的问题:」里也含有「问题:」,拿后者去做匹配会把正常标题误伤。这种事不写进 README,别人根本想不到。

模型那头是怎么接的

发出去之后,回复会按「Annotation 1:…」逐条对照。回复里每个 Annotation 标签都能悬浮,看它对应哪段原文、当时写了什么。

这条闭环挺关键。批注类工具最容易烂尾的地方就是「我标了,但模型不知道我标的是哪一段」,于是开始猜。逐条回应的格式把指认关系显式写进上下文,猜的空间自然变小。

另外两个工程细节也能侧面说明成熟度:回复芯片是在流式结束后才替换的(data-streaming 移除之后);TreeWalker 收集的文本节点必须先快照再逐个替换,边走边替会让 walker 指针失效,结果只有第一个节点被处理。回车拦截还带了 isComposing 与 keyCode 229 的守卫,从不硬改 composer 的 textarea DOM——中文输入法下拼音没上屏就误发的尴尬,它提前挡掉了。

侧边栏里的文件也能标

工作区文件预览中选中纯文本、Markdown 或代码正文,走的是同一套流程:批注、保存、回车发送。差别在于编辑器和给模型的引用会带上文件路径;刷新并重新打开原文件,标记还在;同一段内容出现在不同文件里,可以分别批注。

这个能力要求宿主是 DSH 0.1.6-alpha.1。它当前不包含 PDF、图片或 iframe 内 HTML,这条边界后面还会再提一次。

它明确不做的事

它是官方 bundle 插件,靠 dsh.bundle 加 package.json 里的 dsh.client 声明,经 client-modules 注入浏览器端,Node half 是空实现。所以它不产出任何服务端能力,也不做归档、不做跨设备同步。换台机器,之前攒的批注不会跟过去。

零核心改动这点倒值得说:它不改 DSH 本体任何文件,cordis.patch.yml 只 insert 自己的 id 一次,profile patch 保持 []。对天天要跟着宿主升级的人来说,这个约束比多两个功能更重要。

安全面也给个准确说法:本站 2026 年 10 月 25 日做过一次扫描,范围是「入口闭包 + 全包扫描」,来源为 npm 发布包,结论是「未发现敏感能力」——最多只发网络请求、读自身元数据或只读文件。但这是静态扫描,本站同时标注了「尚无人工评估」,所以别对外说成「已确认安全」。

装之前先看两件事

一是包名迁移。v1.4.2 起从 @omdsh-dev/dsh-annotation 换成了 @changfenhuang/dsh-annotation,旧依赖残留会让 dsh web 起不来。二是注册方式:npm install 只加依赖,不会把插件注册进 DSH,得走 dsh plugin --profile web add @changfenhuang/dsh-annotation。

装完可以用一条命令自检:dsh --profile web --dump-config | rg "id: dsh-annotation",输出必须正好一行。想看它和别的效率类插件放在一起是什么形态,DeepSeek Harness Hub 插件清单 里有中文说明和安装形态的对照。

总结

它的价值不在功能数量,而在于把「指认原文」这件事的成本压到了接近零,同时没把聊天记录弄脏;想对照同类插件的中文清单与安装形态,见 DeepSeek Harness Hub 插件清单。

适合与不适合

适合:逐段审阅长回复并逐条追问;校对文档或 Markdown 时需要精确指到某一句;代码走查时把可疑片段连问题一起抛给模型;多人共用一个会话、需要留下「我指的是这里」的痕迹。

不适合:主要材料是 PDF、扫描件或内嵌网页的人,选中不会触发任何东西;需要跨设备同步批注或把它当知识库归档的人,它是浏览器侧插件,Node half 空实现;把「未发现敏感能力」当成安全背书、要拿去做合规结论的团队。

标签:选中批注、DeepSeek Harness、效率工具

本文由 DeepSeek Harness Hub 自动整理,数据来源于插件详情页。

回到顶部