dsh-pins:把对话划选固定到右侧栏,便签式回看与引用

前言

在 DeepSeek Harness(DSH)的 Web 界面里读长回复时,常见问题是:读到一半忘了关键句在哪、回头找原文要反复滚动。浏览器书签或外部笔记能记内容,但和「哪一轮、哪一段」的对应关系往往要手抄维护。社区插件 dsh-pins(仓库名 ylw-ux/dsh-pins-fixtool,npm 包名 dsh-pins)把这件事收进 Harness 右侧栏:划选、固定、点卡片跳回原文,输入框里用 @ 引用进消息。下面介绍它的定位、安装与日常用法。

这是什么

dsh-pins 是面向 DSH Web 客户端(platform: web)的插件,由维护者 ylw-ux 发布,在 SkillHub 目录 中归类为「客户端」。当前 GitHub 仓库约 2 stars;包版本 1.0.0,许可证 MIT。

它只做一件事:把对话里划选的段落固定到右侧栏,像便签排成一列;点一下回到原文位置,打 @ 可把固定片段引用进输入框。固定数据存在本机浏览器 localStorage(键 dsh-pins/v1),不上传、不同步。

核心功能

划选与固定

在对话中划选文字后,选区上方会出现动作条:固定 / 标签 / 固定并引用 / 引用 / 复制。也可用快捷键 Alt + P 固定或取消固定当前选区。

右侧栏便签墙

装好后,左栏底部(Settings 旁边)会出现带条数的「固定片段」入口;也可在右侧栏页签中打开。鼠标停在卡片上会原地展开(高度上限 min(60cqh, 420px)),可在卡片内滚动看全文。点卡片正文会跳回原文,并将选中的那段文字居中显示。

卡片上的 # / ❞ / ⧉ / ✕ 分别对应:编辑标签、引用到输入框、复制原文、取消固定。

引用与 @ 菜单

引用有两种形态,都自带内容、不是指针:一是直接把带出处的引用块放进输入框;二是插入引用芯片,发送前由插件换成完整引用。两种形态的原文都会进入消息,模型能看到内容。

在输入框打 @ 时,菜单第一行是「固定片段」;进入后再打字可搜索(正文、标签均参与比对),选中即插入引用芯片。点输入框里的引用芯片会打开右侧栏,并对对应卡片做脉冲高亮。

面板视图与筛选

面板顶部提供两个视图(本对话 / 全部)、四种排序、搜索、多选标签筛选、标签管理,以及 markdown 提纲导出。两个视图的标签筛选与搜索词各留一份;排序为全局偏好,两边共用并会被记住。

安装与启用

需要已能运行 Harness 的 Web 界面(dsh web)。官方 README 给出的安装方式如下;装完后会自动把这个 bundle 选进 profile。

# 从 GitHub 安装
dsh plugin --profile web add github:ylw-ux/dsh-pins-fixtool

# 已发布到 npm 之后
dsh plugin --profile web add dsh-pins

然后刷新浏览器。若没有生效,重启 dsh。

卸载:

dsh plugin --profile web remove dsh-pins

说明:该包无 prepare / postinstall 与构建步骤,纯 JavaScript,装完即可用。它只修改 profile 的 package.json 依赖、dsh.profile.bundles 与自身 patch 行,不动 profile 以外的配置。

本地开发可将仓库以 link 依赖装入(改完刷新页面即可):

dsh plugin --profile web add /绝对路径/to/dsh-pins

维护者在 README 中记录的本机验证组合为:DSH 0.2.0-rc.2 · Node 24.14.1 · pnpm 12.6.0。

典型用法

  1. 启动 dsh web,按上文命令安装插件并刷新页面。
  2. 在长回复中划选需要反复查看的段落,在浮层点「固定」,或按 Alt + P。
  3. 在右侧栏或左栏「固定片段」入口查看便签列表;需要核对上下文时,点卡片正文跳回该段在对话中的位置。
  4. 写新消息时,在输入框输入 @,进入「固定片段」并搜索,选中后插入引用芯片或直接引用块,再照常发送。

超过 600 字的选区只保留前 600 字(卡片会标「已截断」);同一段文字在同一条消息里出现多次时,插件会按记录偏移与文本校验选最近匹配,失败则退回整条消息并标「原文未找到」。

它不做什么与已知限制

插件不解析 markdown、不存 HTML 快照;固定的是选中文本、轮次与偏移。它不自动切换对话(在「全部」里点其他对话的卡片只会提示,不会换掉当前会话),不注入上下文(没有把固定片段偷偷塞进模型上下文的行为)。

仅支持 Web;TUI / Desktop 没有对应界面层。

锚点依赖宿主的 DOM 契约(data-chat-flow-key、data-chat-turn、[data-conversation-scroll])。宿主若批量改名,持久标记与精确跳转可能失效,但 localStorage 中的文本与偏移仍在,跳转有按位置的降级回退。

适用场景与注意

适合经常在 DSH Web 里读长链对话、需要把若干片段钉在侧边对照、并要把片段显式引用进下一条消息的开发者或日常用户。

DSH 生态的理念是「一切皆插件」;SkillHub 等社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系。插件随当前 dsh 进程与 profile 加载,安装前建议查看 GitHub 源码 与 MIT 许可证,确认符合你的使用与合规要求。清除浏览器站点数据会删除全部固定片段。

结尾

dsh-pins 把「划选—固定—跳回—@ 引用」收进 Web 右侧栏,数据留在本机浏览器,引用内容会真实进入消息。目录页:ylw-ux/dsh-pins-fixtool;源码与完整说明:github.com/ylw-ux/dsh-pins-fixtool。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜