wangwei-wade/dsh-quote-annotate

Plugin插件 Native原生 ⭐ 6 Sessions & Context会话与上下文

DSH会话选区引用与锚点批注插件:选中文字 → 批注 → 引用锚点chip(点击跳回原文、悬停显示原文)。为DeepSeek Harness设计的上下文选区与锚点批注插件。

Project Overview项目介绍

dsh-quote-annotate is a plugin built specifically for the DeepSeek Harness (DSH) web client. It adds the ability to select, annotate, and quote content from past conversation messages in DSH sessions, running entirely on the client side with no backend logic required. The core problem it solves is the lack of native precise quoting functionality in DSH: when a user wants to ask a question or leave a comment on a specific part of an earlier conversation message, they previously had to manually copy text or describe the section verbally, leaving the model unable to pinpoint the exact content being referenced.

The workflow for using this plugin is straightforward and designed for any DSH web user that regularly references past conversation content. To create an annotation, you simply select any text from an existing conversation message, click the "Annotate" button that pops up above your selection, then add any additional comment you want in the floating edit box. Once inserted into your input, each quote appears as an anchored chip that you can click to jump back to the original highlighted text, or hover over to preview the full quoted content before you send your message. When you submit your message, the chips are serialized into structured quote blocks that the model can parse correctly.

Installing the plugin is simple: to install automatically, you just paste the provided install command into your DSH assistant, and it will handle the entire process for you, after which you only need to restart the DSH web service to activate the plugin. The plugin relies on DSH's official web interface APIs and the native quote pipeline included in the default DSH web profile; if the pipeline is missing, it automatically falls back to inserting plain text quotes. Quote position data is stored only in browser memory, so it will be lost when you refresh the page, and the quote chips will degrade to plain text as a result.

这是一个专为 DeepSeek Harness(DSH)Web 端开发的原生插件,实现了会话内容的选中、批注与引用功能,纯客户端实现,不包含服务端逻辑。它解决了DSH原生会话无法对历史消息内容进行精准引用的痛点:当你需要针对上文某段具体内容提问或评论时,原本只能手动复制粘贴或者口头描述“上文那段”,模型无法准确定位你所指的内容。

使用流程非常简单,选中会话中任意文字后,选区上方会弹出随文字宽度自适应变化的气泡,点击「批注」即可唤起悬浮编辑框,支持输入独立评论,按 Enter 确认插入、按 Esc 关闭编辑框。插入后的引用会以带锚点的 引用#N 卡片形式显示在输入框,点击可跳转回原文位置高亮,悬停可查看原文完整内容。

安装方式很便捷,只需将指定安装命令粘贴给 DSH 助手,即可自动完成安装,重启 Web 服务后插件即可生效。该插件全程调用 DSH 官方接口,引用映射存储在浏览器内存中,刷新页面后会失效,引用卡片会退化为纯文本,依赖官方 Web 配置自带的引用管线,缺失管线时会自动回退为纯文本引用。

Pre-install check安装前体检Compatibility · Security兼容性 · 安全性 2 warnings2 项注意
  • No license declared - all rights reserved by default; ask the author before commercial use or redistribution未声明开源许可证 —— 默认「保留所有权利」,商用或再分发前先问作者
  • Only 6 stars - very few users, little community feedback星标只有 6,几乎没人在用,遇到问题缺少社区反馈
DSH walks through these 9 checksDSH 会逐条核对这 9 项

Compatibility兼容性

  • DSH, Node, OS and profile requirementsDSH 版本 / Node 版本 / 操作系统 / profile 是否满足要求
  • External dependencies and runtimes (Electron / Python / Docker, ...)外部依赖与运行时(Electron / Python / Docker 等)是否齐备
  • Conflicts with installed plugins: command names, skill / tool names, ports, duplicate MCP registration与已装插件是否冲突:命令名、skill / tool 重名、端口占用、重复 MCP 注册

Security安全性

  • Repo matches the facts registered here; archived or abandoned?仓库是否与页面登记一致,是否归档或长期停更
  • Safety of preinstall / install / postinstall and install.sh / setup.ps1preinstall / install / postinstall 与 install.sh、setup.ps1 是否安全
  • curl|bash, download-then-execute, obfuscation, unrelated domains → stop immediatelycurl|bash、下载即执行、混淆代码、无关域名 → 立刻停止
  • Typosquatting or unmaintained packages among the new dependencies新增依赖里有没有 typosquatting 或无人维护的包
  • Requested permissions vs. what the feature actually needs申请了哪些权限、是否超出功能所需(filesystem / network / shell / clipboard)
  • Any sudo / admin requirement, plus uninstall and rollback是否要求 sudo / 管理员权限,以及卸载与回滚方式

Anything uncertain must be marked unknown with a note on how to confirm it. This site's signal screen is a static snapshot, not a security audit.拿不准的必须标「未知」并说明要我怎么确认。本站的信号筛查是静态快照,不能替代安全审计。

Or use CLI install (for developers)或使用命令行安装(适合开发者)

CLI Install命令行安装

dsh plugin --profile web add github:wangwei-wade/dsh-quote-annotate

把 wangwei-wade/dsh-quote-annotate 加入你的 DSH 配置(web profile)即可启用。

READMEREADME

dsh-quote-annotate

选区引用与锚点批注 —— DeepSeek Harness(DSH)Web 插件,纯 Client、无 Host 逻辑。

解决了什么问题

DSH 会话中的消息无法被选中、引用和批注:你想针对上文某段内容提问或评论时,只能复制粘贴或口头描述"上面那部分",模型无法精确知道你说的是哪一段。

本插件让"选中 → 批注 → 引用"成为一条完整链路:选中的文字变成带锚点的引用 chip 进入输入框,发送时序列化为结构化引用块,模型收到的评论精确锚定在你引用的那段原文上;输入框里的每个引用还能点击跳回原文位置、悬停查看原文。

功能

  • 选中即批注:鼠标选中会话中任意文字 → 选区上方浮出小气泡(宽度随文字增长)→ 点「批注」
  • 悬浮编辑框:引用预览 + 独立评论输入框(自动聚焦、元素常驻),随输入变宽;Enter 插入 / Esc 关闭
  • 引用锚点 chip:插入后草稿中显示 引用#N chip
    • 点击 → 平滑滚动回原文并高亮
    • 悬停 → 浮出提示框,显示当时选中的文字
  • 提交序列化:发送时 chip 展开为 > 引用块 + 评论,模型收到结构化上下文
  • 回合级引用:每条已完成回合尾部有「引用提问 / 引用回答」按钮,整段引用该轮的提问或回答
  • 全程走官方接口:conversation.input 输入机器、inputTriggers 引用管线(quote-ref source codec)、slots 注入(turnTail / shell.overlay)

安装(一键,发给 Agent 即可)

把下面这段话直接粘贴给 DSH 助手:

请帮我安装 dsh-quote-annotate 插件:运行 dsh plugin --profile web add github:wangwei-wade/dsh-quote-annotate, 然后重启一次 web 服务使插件生效(静态客户端插件在服务启动时加载,重启后或下次启动时生效)。

手动安装(可选):

dsh plugin --profile web add github:wangwei-wade/dsh-quote-annotate  # 从 GitHub 安装
dsh --profile web --dump-config                                       # 确认出现 # == dsh-quote-annotate 层

npm 状态:dsh-quote-annotate 的 npm 发布待开通(npm 要求发布者开启 2FA,账号暂未绑定),开通后即可 dsh plugin --profile web add dsh-quote-annotate。

要求:DSH Web 界面(官方 web profile 自带 ui-input-trigger 引用管线);管线缺失时自动回退为纯文本引用插入。

发布(维护者侧)

git push origin main                        # 推送源码
git tag v0.1.0 && git push origin v0.1.0    # 打版本 tag

说明

  • 引用映射(ref → 原文位置)存于浏览器内存,刷新页面后失效(chip 退化为纯文本)
  • 评论输入框的输入法语言行为取决于操作系统/输入法,插件已做元素常驻复用优化
  • 有产出文件的回合会让位给官方「已生成文件」chips
← 上一个 Prev dsh-web-search-multi 下一个 Next dsh-session-cleaner →