dsh-quick-find:在 DeepSeek Harness 对话里用 Ctrl+F 搜全文

前言

在 DeepSeek Harness(DSH)里跑长对话时,界面往往只渲染最近一段消息,更早的轮次会被虚拟化掉。浏览器自带的页内查找只能扫当前 DOM,搜不到还没画到屏幕上的历史内容。下面介绍社区插件 dsh-quick-find(维护者 WildPickledPepper,分类:客户端),它在对话窗口内提供类似 Ctrl+F 的查找条,并同时在主机侧解压会话日志,把 Harness 尚未渲染的部分也纳入检索。

这是什么

dsh-quick-find 面向 DeepSeek Harness 桌面/Web 客户端:在已打开的对话里按 Ctrl+F(macOS 为 Cmd+F),右上角出现查找条。插件不依赖 @deepseek-ai/* 包,便于在宿主把依赖打进 app.asar 时仍能加载。许可证为 MIT,当前 package 版本为 0.2.0(以仓库 package.json 为准)。

核心功能

查找分两层执行,README 中的说明如下。

  1. 已渲染消息 — 即时高亮每个命中,状态类似「页内 3/12」;用 Enter / Shift+Enter(或 ↑ ↓)在命中之间跳转。
  2. 主机上的完整会话日志 — 通过 GET /session-find/search?q=…&session=… 解压 session.v4.jsonl.zstd,列出命中及 role、snippet,因此被虚拟化掉的长历史仍可搜到。

高亮使用 CSS Custom Highlight API(CSS.highlights 与 ::highlight()),不改动 DOM,避免与 React 重渲染冲突。

搜索范围包括 user、assistant 与 tool-result 文本;reasoning 块默认跳过,以保持结果列表可读。

按 Esc 关闭查找条。

安装与启用

安装命令来自官方 README,需指定 DSH profile:

dsh plugin --profile <profile> add github:WildPickledPepper/dsh-quick-find

安装后须重启 DeepSeek Harness(宿主侧在启动时注册搜索路由),再刷新页面。

兼容性:README 写明在 DeepSeek Harness 0.2.1-rc.3(desktop)上测试;需要 Node 22.15+ 或 24+,以使用 zlib.zstdDecompressSync。package.json 中 engines.node 为 >=20,以实际 README 兼容性说明为准。

典型用法

  1. 打开一条对话,焦点在对话区域内。
  2. 按 Ctrl+F(macOS:Cmd+F),在右上角查找条输入关键词。
  3. 先在当前页命中间用 Enter / Shift+Enter 跳转;若结果来自完整会话日志且对应轮次尚未渲染,条目会标明所在 turn——需先向上滚动加载更早轮次,再点击同一命中以便定位。

适用场景与注意

适合需要在 DSH 长会话里快速定位用户指令、助手回复或 tool 输出、且不希望只依赖浏览器「仅当前 DOM」查找的开发者。

以下几点来自 README,使用前宜知晓:

  • 尚未出现在屏幕上的历史命中不能直接滚过去;第一次点击主要是告知 turn,需自行加载旧轮次后再点。
  • 会话日志以独立 zstd 帧序列存储(每次 append 一帧);Node 解压器默认只解第一帧,宿主实现通过 magic number 逐帧解码。
  • 插件以当前 dsh 进程权限运行;安装前请自行查看 GitHub 源码 与 MIT 许可证,确认符合你的安全与合规要求。

DSH 生态强调「一切皆插件」;社区目录站点与 DeepSeek / 幻方无官方从属关系,本文介绍的是第三方客户端插件,而非官方应用商店条目。

结尾

dsh-quick-find 把页内高亮跳转与会话日志检索合在一起,弥补 Harness 长对话虚拟化带来的查找盲区。目录与仓库:

  • 目录页:https://www.skillhub.cn/plugins/WildPickledPepper/dsh-quick-find
  • GitHub:https://github.com/WildPickledPepper/dsh-quick-find
羽毛球分组比赛记分
小程序二维码

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

小夜