Bundle
@ryuu-64/dsh-find-all
Ctrl+F find bar for the DSH desktop app: it searches the whole conversation, not just the messages already on screen.
- Source
- Ryuu-64
- License
- MIT
- Updated
- Updated 4 days ago
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 关闭查找栏并清除高亮 - 切换会话时清除旧结果,并在新会话里重搜同一关键词 - 后台重扫首次找到结果时选中第一项;前插历史时优先保留可确认的当前命中,不自动滚动。原节点可对应,或同一正文块仍在且原文完全未变时,可在 Text/span 换树后恢复当前项;无法确认时把旧序号夹到新结果范围,换词或换会话则选第一项 ## 安装 先按 **DSH 运行时版本**选择安装入口;它不一定等于 Desktop 产品版本。 **运行时 0.2.0-rc.2**:用 Desktop 自带的插件命令安装: ```sh 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`,点击「安装 / Install」,完成后点击「立即启用 / Enable now」。不要用版本豁免绕过安装错误。 安装后**完整重启一次 DSH Desktop**,再检查插件是否正常加载。 装完按 **⌘F / Ctrl+F**,右上角出现查找栏就算装好了。 ### 和 dsh-find-bar 只能留一个 `dsh-find-bar` 和本插件**都会抢 Ctrl+F**,两个同时装会互相顶掉。如果你之前装过它,先卸掉。运行时 0.2.0-rc.2 可用: ```sh 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 处匹配 - 折叠起来的工具调用和思考块,正文不在页面里,搜不到——先展开再搜 - “包含更早内容”模式要真的翻历史,所以很长的会话首次搜索需要等几秒 - 宿主尚未就绪、公开报错、无进展或到达上限时,保留已找到的结果并提示未完成;再次打开查找或输入关键词可手动重试。停止、关闭、换词或切换会话会取消插件任务,但不会中断宿主已经发出的请求 - “已搜索当前可用历史”不保证历史完整。宿主可能在正常末页和不连续页错误时都不再提供更早页;此时重新查找也不保证恢复缺失历史 ## 支持与交流 发现 Bug、兼容性问题或有功能建议,请先[提交 Issue](https://github.com/Ryuu-64/dsh-find-all/issues),并附上 DSH Desktop、DSH 运行时和插件版本、复现步骤及必要截图;不要公开 API 密钥或私密对话。 QQ 交流群:`1129212995`。群聊用于使用交流和社区互助;需要持续跟踪的问题请先提交 Issue,再把 Issue 链接发到群里。群聊不替代 Issue 中可检索的正式记录。 ## 卸载 / 回退 运行时 0.2.0-rc.2 可用: ```sh 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](https://github.com/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`。
Install
dsh plugin --profile web add github:Ryuu-64/dsh-find-all
Profile: web
With the hub plugin installed, ask your agent to install it by name — it resolves the same plan shown here.
dsh plugin --profile web add github:stvlynn/dsh.fish#path:packages/dsh-plugin-hub
install ryuu-64-dsh-find-all from the hub
- This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.