dsh-conversation-find:在 DSH 主界面裏做頁面內查找

前言

在 DeepSeek Harness(DSH)裏寫長對話、翻 diff 或工具輸出時,往往需要在當前界面裏定位某個詞或片段。瀏覽器自帶的查找有時會把側欄、輸入框也算進範圍,計數和跳轉都不乾淨;會話頁若只關心消息流,更需要和「整頁 Ctrl+F」區分開的行爲。下面介紹社區客戶端插件 dsh-conversation-find(維護者 ACGNnsj):在主界面提供類似瀏覽器 Ctrl+F 的查找條,全部高亮、逐條跳轉,並按頁面類型區分搜索範圍。

這是什麼

dsh-conversation-find 是 DSH 的客戶端插件:不訂閱 chat store,在 DOM 層遍歷文本、高亮命中並滾動到視野中央。會話頁默認只搜當前會話的消息流(含代碼塊、diff、工具輸出);設置、插件、插件市場、畫布等頁面則按「整頁」或「正文區」策略搜索。查找條浮層落在頭部標籤欄分割線下方,儘量不擋標籤欄。

目錄站點與 DeepSeek / 幻方無官方從屬關係;DSH 生態裏能力多以插件形式擴展,安裝前建議自行查看源碼與許可證。

核心功能

按頁面區分範圍

  • 會話頁:只搜消息流,計數不帶側欄和輸入框噪聲。
  • 其他頁面:行爲接近瀏覽器整頁查找;也可在設置裏改爲「正文區」,跳過左側會話列表與導航,只搜主體。

查找條與快捷鍵

打開 / 關閉、上一條 / 下一條、關閉等操作與常見桌面查找一致;會話頭右側另有放大鏡按鈕——當宿主桌面菜單截走 Ctrl+F、鍵盤事件到不了頁面時,與快捷鍵等效。

設置項(通用)

三項偏好寫入 localStorage,刷新後保留:

設置 鍵 要點
頁面查找快捷鍵 dsh-conversation-find:shortcut 默認「自動」同時監聽 Ctrl+F、Ctrl+Shift+F、Alt+F;可固定爲其中一種或 F3
頁面查找範圍 dsh-conversation-find:scope 默認「正文區」;可選「整頁」
切換頁面時 dsh-conversation-find:on-switch 默認換頁關閉查找條並清高亮;可選保留並在新頁用同一關鍵詞重搜

行爲摘要

輸入即搜(120ms 防抖);命中包 <mark>,右側顯示「當前/總數」。流式輸出、路由切換、React 重渲染後高亮會通過 MutationObserver 等機制重貼。查找條自身不參與搜索;默認跳過輸入框、編輯器和左側會話列表,避免可編輯區域被 <mark> 包裹導致丟字。

已知限制

  • 只搜當前已掛載到 DOM 的文本;虛擬化或未加載的歷史需滾動加載後重新輸入搜索。
  • 搜的是渲染後文本,不是 markdown 源碼。
  • 不支持正則、大小寫敏感、整詞匹配(固定爲不區分大小寫的子串)。

安裝與啓用

桌面 profile 安裝(命令來自倉庫 README):

dsh plugin --profile desktop add dsh-conversation-find

也可在 DSH 插件管理裏搜索 dsh-conversation-find 安裝。裝完後 Ctrl+R 刷新一次頁面。

本地目錄開發安裝示例:

dsh plugin --profile desktop add file:D:/path/to/dsh-conversation-find

插件在當前 DSH 進程權限下運行;安裝前請覈對倉庫代碼與 MIT 許可證是否可接受。

典型用法

  1. 在會話或設置頁按 Ctrl+F(macOS:Cmd+F),或點會話頭放大鏡,打開查找條。
  2. 輸入關鍵詞,查看 當前/總數,用 Enter / F3 / ↓ 下一條,Shift+Enter / Shift+F3 / ↑ 上一條。
  3. Esc 關閉。若 Ctrl+F 被宿主菜單佔用,在 設置 → 通用 → 頁面查找快捷鍵 改用「自動」或固定 Ctrl+Shift+F / Alt+F。
  4. 需要搜側欄時,將 頁面查找範圍 改爲「整頁」;長對話定位消息流時保持默認「正文區」即可。

實現要點(供排查參考)

邏輯在 lib/client.js:插槽包括 shell.overlay(查找條)、conversation.session.header.utilities(放大鏡)、settings.general.item(設置行)。UI 優先複用宿主 @deepseek-ai/dsh-client-ui-primitives 的 Menu,不可用時降級爲原生 <select>。

結尾

dsh-conversation-find 把「瀏覽器式頁面內查找」接到 DSH 主界面,並在會話頁把範圍收窄到消息流,適合在長對話、代碼塊和工具輸出裏快速定位文本。細節與變更記錄見 GitHub README。

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

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

小夜