DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

ylw-ux /

ylw-ux/dsh-pins-fixtool

Verified

deepseek web端插件:把对话里划选的段落固定到右侧栏,像便签一样排成一列;点一下跳回原文,打 @ 引用进消息。

★ 5 Stars0 Forks0 IssuesN/A Community rating0 Confirmed installs
View on GitHub
READMESource: main@e0c74635

固定片段 · dsh-pins

中文 | English

把对话里划选的段落固定到右侧栏,像便签一样排成一列;点一下跳回原文,打 @ 引用进消息。

一个 DeepSeek Harness 的 Web UI 插件。读长回复时最容易丢的东西是"我刚刚读到哪、哪几句是关键"——划选、固定、回头看,就这么一件事。

最近更新:1.0.6(2026-11-10)

这一版是热补丁:适配 DSH 0.2.2 起新增的官方「引用文本」浮条,并修好"新固定后看不到强调"。

向下兼容——还在旧版 DSH(0.2.2 之前)的用户照常可用、可以安心升级;即使你的 DSH 还没有官方那条浮条,这一版也修了 bug,同样值得更新。

改动 说明
适配官方浮条 官方在上、本插件在下,互不遮挡;选区贴顶/贴底时都会自动让位
可选浮条模式 设置 → 插件 → 固定片段 › 选区浮条,三选一
修好"新固定看不到强调" 改为先滚到视口再闪;被搜索/标签筛选挡住时会明确说明

老用户(DSH 0.2.2 之前,没有官方浮条)在设置里切换会怎样:

你选的模式 实际效果
两个都显示(默认) 只有本插件浮条,正常
只用固定片段的浮条 与默认相同(没有官方那条可隐藏),不会出错
只用官方的「引用文本」 本插件浮条会消失(旧版没有官方那条)。固定仍可用 Alt+P 与右侧面板;想恢复就切回前两项

旧版 DSH 上,设置页会直接把这行差异写在开关下面,不用自己试。 一句话记法:旧版 DSH 用前两项,别选第三项。

安装

需要 Harness 的 Web 界面(dsh web)。一条命令,装完会自动把这个 bundle 选进 profile:

# 从 npm 安装(推荐)
dsh plugin --profile web add dsh-pins

# 从 GitHub 安装(想跟最新提交时用)
dsh plugin --profile web add github:ylw-ux/dsh-pins-fixtool

# 从本地目录安装(开发用,会建立 link 依赖,改完刷新页面即可)
dsh plugin --profile web add D:\path\to\dsh-pins

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

卸载:

dsh plugin --profile web remove dsh-pins

几点说明:

  • 不需要 pnpm 构建授权。 这个包没有任何 prepare / postinstall 脚本,也没有构建步骤——纯 JavaScript,装完即可用,不会弹 "allow build scripts"。
  • 不会动你的 profile 配置以外的任何东西。 它只往 profile 的 package.json 加一条依赖、往 dsh.profile.bundles 加一个名字,以及自己的一份 patch 行。
  • 数据在你自己的浏览器里。 固定片段存在 localStorage,不上传、不同步、没有账号。清除站点数据即全部删除。
  • 装好后左栏底部(Settings 旁边)会出现带条数的「固定片段」入口;也可以在右侧栏页签里打开它。

用法

1. 固定一段话

在对话里划选文字,选区上方浮出动作条:

按钮 做什么
固定 存进右侧栏,原文留下持久底色标记
标签 展开标签输入框,回车给这段打标签
固定并引用 固定这一段,同时把引用放进输入框
引用 只把引用放进输入框(不固定)
复制 只复制原文到剪贴板
  • Alt + P:固定 / 取消固定当前选区
  • 鼠标停在卡片上:原地展开(上限 min(60cqh, 420px)),卡片内可滚动看全文
  • 点卡片正文:永远 = 跳回原文,落到选中的那段并居中
  • 卡片上的 # / ❞ / ⧉ / ✕:编辑标签 / 引用到输入框 / 复制原文 / 取消固定

DSH 0.2.2 起官方也有划选浮条「引用文本」。默认两个都显示:官方在上、本插件在下(固定 / 标签 / 引用等动作在下方那条)。 想只留一个,去 设置 → 插件 → 固定片段 › 选区浮条 切换。

2. 标签:打一个字就能从已有标签里选

在卡片的标签框、或浮条的标签框里输入,下方会立刻列出匹配的已有标签:

操作 效果
输入文字 前缀命中的排在前面,同档按使用次数排序
↓ / ↑ 在列表内移动高亮(不会带动外面的卡片列表)
Enter 有高亮且你按过 ↑↓ → 应用它;否则 → 创建你输入的名字
点击 该行标签直接加上
输入一个新名字 列表下方出现「创建 #xxx」,显示归一化后的结果

细节:

  • 输入法打拼音时列表不闪,上屏瞬间就按中文重新匹配;组合中按回车是上屏,不会误提交
  • 已经在这条片段上的标签会标「已有」,点了只提示,不会重复添加
  • 标签名最长 24 字,首尾 # 与多余空白会被归一化
  • 标签是跨对话的同一套词:在任何对话里建的标签,别处都能直接选到

3. 新建标签:先把标签建好,再归类

整理工作时往往先有一批标签名,再拿它们去归类。面板顶部工具行最右边的 + 标签:

操作 效果
点「+ 标签」 工具行下面出现一行输入框
Enter 创建并保持焦点,可以连着建好几个
重名 提示「已有 #xxx」,不创建、不清空输入框(大小写不同也算重名)
Esc / 点别处 关闭输入行

建好的标签没有任何片段,所以在 「全部」视图 › 管理全部标签 里显示为 ×0——它存在,只是还没被用过。

  • 点 ×0 的标签不会筛选,会提示"还没有对应片段"(筛选它必然是空列表)
  • 给任意片段打上这个标签后,它自动变成 ×N,不会再重复出现
  • 空标签只在「全部」视图里显示;「本对话」按对话统计,不掺别的对话的词汇
  • 标签总数上限 200 条

4. 引用进消息

两种形态,都自带内容、都不是指针:

  • 浮条的「引用 / 固定并引用」→ 把带出处的引用块放进输入框
  • 输入框打 @ → 菜单第一行就是「固定片段」;进去后再打字就是搜索(正文、标签都比对),选中即插入一个引用芯片

两种形态的原文都真的进消息——模型看得到内容,发送后也永不过期。

5. 设置:选区浮条与存储占用

设置 → 插件 → 固定片段。

选区浮条(三选一)——DSH 0.2.2 起官方也提供「引用文本」,两者会抢同一块位置:

选项 效果
两个都显示(默认) 官方在上、本插件在下,互不遮挡
只用固定片段的浮条 隐藏官方那个按钮;它的引用渲染照常工作
只用官方的「引用文本」 本插件浮条不再出现;固定仍可用 Alt+P 和右侧面板

已用存储(只读,除上面的浮条模式外这页没有别的可改项):

显示 是什么
本插件 片段条数、字符数、占本站存储的约百分比
本站总计 存储键数、字符数、约百分比,带进度条
≥90% 出现提醒横幅;满了会直接说明「新的固定不会保存」

固定、删片段、改标签后会自动重算。

6. 右侧栏面板

操作 效果
顶部 两个视图(本对话 / 全部)、四种排序、搜索、多选标签筛选、标签管理、markdown 提纲导出
两个视图的筛选 各留一份:在「全部」里选的标签和搜索词不会跟着你去「本对话」,切回来时它们还在原处。排序是全局偏好,两边共用并会被记住
左栏底部 「固定片段」入口,带条数
输入框里的引用芯片 点它:打开右侧栏,并让那条卡片脉冲高亮

它不做什么

  • 不解析 markdown、不存 HTML 快照。 固定的是你选中的文本、它所在的轮次与偏移,可读、可迁移。
  • 不自动切换你的对话。 在「全部」里点别的对话的卡片只会说明情况,不会把你正在读的会话换掉。
  • 不注入上下文。 没有任何"把固定片段偷偷塞进模型上下文"的行为;要么你引用,要么模型显式来读(后者尚未实现)。
  • 不写任何隐性状态。 固定是显式动作,删除是显式动作。

已知限制

  • 只支持 Web(platform: web)。 TUI / Desktop 没有这一层界面。
  • 锚点依赖宿主的 DOM 契约(data-chat-flow-key、data-chat-turn、[data-conversation-scroll])。宿主若整批改名,持久标记与精确跳转会一起失效——数据本身不会丢(存的仍是文本、轮次、偏移),并且跳转有按位置的降级回退。这是这个插件唯一无法自证的风险,如实写在这里。
  • 超过 2000 字的选区只保留前 2000 字:浮条与固定成功的提示会当场说明,卡片上也会标「已截断」,悬停有说明。引用与芯片吃同一个上限。1.0.4 之前保存的片段只有前 600 字,那部分无法恢复。
  • 同一段文字在一条消息里出现多次时,定位会挑离记录偏移最近且文本校验通过的那个;都不通过就退回整条消息并标「原文未找到」。
  • 「全部」视图的排序/筛选面对的是所有对话,条目多时先折叠分组或加标签筛选,比滚到底更快。

兼容性

在本机验证过的组合:DSH 0.2.1-rc.5 · Node 24.14.1 · pnpm 12.6.0(1.0.3 及更早版本验证于 0.2.0-rc.2)。

DSH 0.2.2 起官方新增了划选浮条「引用文本」。本插件已适配:默认让出上方、自己放到选区下方;也可以在设置里二选一。识别宿主浮层用的是它公开的 data-text-interaction-surface 属性,不是内部类名——宿主若改了这块,本插件会当作没有官方浮层,退回旧位置,不会报错。

向下兼容:0.2.2 之前的老版本一样能用,功能不打折。认不到官方浮层时,浮条按原有方式放置;设置项「只用官方」在老版本上等于关掉浮条(见上方「最近更新」表)。

包内没有声明 peerDependencies,也没有声明 engines.dsh——这是有意的:它不 import 任何 Harness 包(客户端半边只 require('react'),宿主半边是一个空的 apply),所有宿主交互都做了存在性检查并在缺失时降级或明确报错。声明一个我没法验证的版本范围,只会让安装被挡住。

升级到新版本不会动你已有的片段;单独新建、还没被使用的标签也一起保留。

开发

dsh-pins/
├── package.json         bundle 清单:dsh.bundle.patch + dsh.client
├── cordis.patch.yml     往 profile 里插一行
├── index.js             宿主半边(预留的 pinsHost 服务,目前为空)
├── client.js            浏览器半边:整个插件都在这一个文件里
├── locale/{zh,en}.json  显示名与描述(插件市场读的就是这个 meta.title)
├── icon.svg             图标(≤ 256 KiB)
└── docs/                安装与排错

本地开发用 dsh plugin --profile web add <绝对路径> 装成 link 依赖,改 client.js 后刷新页面即可;plugin_manager 工具与 Web 的 Plugins 页面管理的是同一份 profile 状态。

License

MIT

—/ 5

No ratings yet

Verified DSH bundle

Commit e0c74635afe4

Community comments

No comments yet. Be the first to write one.

DSH HUB

A community index for DSH plugins. Not an official GitHub or DeepSeek AI product.

CommunityResourcesAPIAbout