Skip to content

dsh-find-all

Verified

@ryuu-64/dsh-find-all · v0.1.5 · MIT · Web UI

Ctrl+F find bar for the DSH desktop app: it searches the whole conversation, not just the messages already on screen.

Install

dsh plugin add @ryuu-64/dsh-find-all

Confirm the layer applied with dsh --profile default --dump-config — see the install guide.

Source

Tags

Readme

dsh-find-all

DSH Desktop 的 ⌘F / Ctrl+F 查找插件。它有一个和浏览器查找不一样的地方:搜的是整段会话,不只是屏幕上已经显示出来的那一截。

为什么需要它

DSH 桌面窗口是 Electron 壳,本身没有浏览器那种查找栏。而会话视图一次只在页面里保留最近 50 条消息——点一次「加载更早」才再多 50 条。

所以拿普通查找条搜一个较早的词,结果永远是 0,哪怕这段会话里确实有。

这个插件在你输入关键词之后,通过会话服务把更早的历史一页页加载进来,每加载一页就重搜一次,直到整段会话都在页面里。这样命中计数和高亮覆盖的是整个会话。

功能

  • ⌘F / Ctrl+F 唤起查找栏,自动带入当前选中的文字
  • 范围切换:整段(默认)↔ 本页,点那个胶囊按钮切换
  • 边搜边加载:整段模式下自动分页加载历史,高亮与计数随加载实时更新
  • 进度可见:显示「正在加载更早的历史… 已 3 页」,点一下这段文字即可停止加载
  • 安全上限:最多加载 400 页(约 2 万条消息);历史不再增长时会自行停止
  • 导航:Enter / Shift+Enter 上下一个;⌘G(Ctrl+G)/ F3 下一个,加 Shift 反向;Esc 关闭查找栏并清除高亮
  • 切换会话时自动重置,并在新会话里重新开始搜索

安装

先按 DSH 运行时版本选择安装入口;它不一定等于 Desktop 产品版本。下面的包名用于安装 npm 已发布版本;验收特定候选包时,请替换为对应 .tgz 的绝对路径。

运行时 0.2.0-rc.2:用 Desktop 自带的插件命令安装:

dsh plugin --profile desktop add @ryuu-64/dsh-find-all

运行时 0.2.0-rc.1 / 0.1.7-rc.2:这两个官方安装包没有上述新版 CLI 入口,通用 dsh plugin --profile desktop 也会拒绝操作。请在 Desktop 中打开「插件 / Plugins」→「添加插件 / Add plugin」,填入 @ryuu-64/dsh-find-all(验收候选时填 .tgz 绝对路径),点击「安装 / Install」,完成后点击「立即启用 / Enable now」。不要用版本豁免绕过安装错误。

安装后完整重启一次 DSH Desktop,再检查插件是否正常加载。已验证的三个桌面版本支持原生禁用/重新启用;旧宿主的刷新要求见下方兼容表说明。

装完按 ⌘F / Ctrl+F,右上角出现查找栏就算装好了。

和 dsh-find-bar 只能留一个

dsh-find-bar 和本插件都会抢 Ctrl+F,两个同时装会互相顶掉。如果你之前装过它,先卸掉。运行时 0.2.0-rc.2 可用:

dsh plugin --profile desktop remove dsh-find-bar

运行时 0.2.0-rc.1 / 0.1.7-rc.2 请在「插件 / Plugins」中找到 dsh-find-bar 并选择「卸载 / Uninstall」。

使用

操作 按键
打开查找栏 ⌘F / Ctrl+F
下一个 / 上一个命中 Enter / Shift+Enter
下一个 / 上一个命中(另一套) ⌘G(Ctrl+G)/ F3,加 Shift 反向
切换范围 整段 ↔ 本页 点查找栏上的胶囊按钮
停止加载更早的历史 点「正在加载更早的历史…」那行文字
关闭并清除高亮 Esc

搜索全部在本机完成:插件只向 DSH 的会话服务要更早的历史,不发网络请求,也不改动会话内容。

已知限制

  • 大小写不敏感,没有「区分大小写」开关
  • 单次搜索最多记 5000 个命中
  • 折叠起来的工具调用和思考块,正文不在页面里,搜不到——先展开再搜
  • 整段模式要真的翻历史,所以很长的会话首次搜索需要等几秒

卸载 / 回退

运行时 0.2.0-rc.2 可用:

dsh plugin --profile desktop remove @ryuu-64/dsh-find-all   # 卸载
dsh plugin --profile desktop add dsh-find-bar               # 想换回上游那个插件

运行时 0.2.0-rc.1 / 0.1.7-rc.2 请在「插件 / Plugins」中卸载本插件;需要回退时,再通过「添加插件 / Add plugin」安装 dsh-find-bar。

关于这个项目

本插件 fork 自 secyborg/dsh-find-bar(作者 secyborg,MIT),在上游的基础上加了「整段会话」搜索。上游原有的查找条界面、高亮、n/N 计数和键盘导航都保留了下来。

版权与许可为 MIT 双署名:Copyright (c) 2026 secyborg 与 Copyright (c) 2026 Ryuu-64。上游 README 原样保存在 README.fork-origin.md,改动清单与致谢见 NOTICE.md。

兼容性开发说明

当前候选改动由会话标题栏中的查找按钮取得明确的会话身份;首次快捷键在只有一个可见会话面板时可直接查找;多会话时先点击或聚焦目标会话。已明确拒绝或失效的目标不会自动改搜其它会话。无法识别可靠的会话正文范围时会提示先选择会话,不退回整页搜索。历史加载失败或中断时保留已显示的部分结果,并说明尚未搜完。

右侧嵌入会话暂不支持查找,会提示范围不可用,不会自动改搜主栏;明确选择主会话后仍可查找。

2026-10-02 验收记录(代码版本 69c477c)使用同一候选包完成十版 Web 和三个官方 Windows Desktop 的插件功能验收:首次快捷键、80 条结果的分页、会话切换、结果导航及宿主支持的启停行为。当前 rc2 还验证了实际右侧嵌入会话的范围隔离。

DSH 运行时版本 实际 Web 官方 Windows Desktop
0.1.5-rc.2、0.1.5-rc.3、0.1.6-alpha.2 功能验收通过 已核官方路径未取得安装包,未验证
0.1.6-alpha.1、0.1.7-alpha.1、0.1.7-alpha.2、0.1.7-rc.1 功能验收通过 本轮未验证
0.1.7-rc.2、0.2.0-rc.1、0.2.0-rc.2 功能验收通过 插件功能验收通过;宿主错误仍保留

该次 CI 整体仍为失败:三个桌面版本均记录到宿主启动时的 startupData/preloadScripts 错误及退出时的连接错误,未装插件的基线也存在同类错误。没有忽略这些错误,也不把插件功能通过写成宿主整体无错误。Web 通过不代表对应 Desktop 已验证,未知未来版本不作承诺。详见 兼容性验收方法与边界;最终交付状态以 PR #9 的独立审核为准。

旧宿主 0.1.5-rc.2 / rc.3 / 0.1.6-alpha.1 本身不支持插件图变更的热卸载:禁用或重新启用后须刷新页面或重启应用。其余七个已验 Web 运行时和上述三个已验 Desktop 均通过了两次原生禁用/重新启用测试;未验证的 Desktop 不据此推定通过。