dsh-find
DiscoveredDeepSeek Harness 会话内查找:搜完整会话日志,正文逐处高亮,回车逐处跳转。
Find in conversation (dsh-find)
Find inside a DSH session: searches the complete session history (including turns that are not loaded yet), highlights every hit in the transcript, and walks through them with Enter.
What you get
- A search icon in the session header, plus a shortcut:
- Desktop:
Ctrl/Cmd+F - Plain Web / browser:
Ctrl/Cmd+Alt+F, so the browser's own find bar keeps working
- Desktop:
- Typing a query scans the persisted session log through the host's
sessionQuery.filterEvents(no SQLite FTS) and returns snippets from user and assistant messages. - Every hit in the rendered transcript is painted; the active one is darker, and the counter reads
3/17. Entergoes to the next hit,Shift+Enterto the previous one, loading the turn withsession.loadThrough(seq)when it crosses the loaded boundary.- Clicking a result loads that turn, jumps to its first hit and flashes the message.
- There is no "current view" mode and no configuration: the row switch on the Plugins page is the only setting.
Install
dsh plugin --profile <profile> add dsh-find
Or in DSH Desktop / Web open Plugins → Add plugin, enter dsh-find, then choose Enable now. Restart or reload afterwards.
Open Plugins and confirm the conversation-find row in the Find in conversation card is on.
Turning the row off removes the header icon, the find bar and the shortcut, and unregisters the host route.
Usage
- Click the search icon in the session header, or press the shortcut.
- Type a query; results (role, time, snippet) appear after roughly 250 ms of debounce.
- Hits in the transcript light up;
Enternext hit,Shift+Enterprevious hit,Esccloses and clears the paint. - Clicking a result jumps to the first hit inside that message.
How it works
- Client
lib/client.jsregistersconversation.session.header.utilitiesandshell.overlay, and registersfind.inConversationthroughctx.shortcuts. - Host
lib/index.jsregistersPOST /api/dsh-find/search, which calls:
sessionQuery.filterEvents(sessionId, [
{ kind: "text", text: query },
{ kind: "surface", values: ["current"] },
{ kind: "type", values: ["user/message", "assistant/message"] },
])
- Pure functions live in
lib/search-core.js: query normalization, snippet extraction, and the 100-result cap. - Hit positions are resolved client-side in
scanPage: text nodes are concatenated per block and matched offsets mapped back to DOM ranges, so a keyword split by<strong>, a link or inline code still matches. Painting uses the CSS Custom Highlight API (::highlight(dshfind-hit)/::highlight(dshfind-current)), so the React-owned DOM is never mutated.
Limits
- Every query replays the session log; results are capped at 100 with a
仅显示前 100 条notice. - Jumping requires the target turn to be loadable through
loadThroughand visible in the current chat window; otherwise it reports that the turn loaded but the message could not be located. - Highlighting covers rendered messages only: unloaded history is pulled in by
Enter, and nodes folded into a process/reasoning group do not take part. - Requires the host's
sessionQueryservice; when it is unavailable the search reports that full-session search is not available (501). - Needs Chromium 105+ for the in-page paint; without it the plugin falls back to scrolling and flashing the message.
Difference from the same-named plugin
There is another community plugin called dsh-conversation-find that searches the page DOM of the current view.
This one searches the persisted session log only, so unloaded history still matches; the in-page paint only draws those results into the window and never widens the search to other elements on the page.
License
MIT
Comments
Loading…
Similar plugins
by chopperH0824
DeepSeek Harness 会话搜索栏插件:按关键词搜索历史会话的消息正文,点结果直接定位到命中文字。
★ 0
MIT
JavaScript
Oct 30, 2026
dsh plugin --profile web add dsh-session-search-barby Li-0803
Full-text search for DeepSeek Harness sessions with precise message navigation.
★ 0
MIT
JavaScript
Oct 6, 2026
dsh plugin --profile web add dsh-session-searchby uckkk
DSH 会话全文搜索:跨所有本地会话按关键词检索(支持 zstd 与明文存储)。Full-text search across DeepSeek Harness sessions.
★ 0
MIT
JavaScript
Aug 17, 2026
dsh plugin --profile web add dsh-session-searchby luckamuu
DeepSeek Harness 插件:提供删除已归档会话的入口(可以彻底删除不会在次出现)
★ 0
MIT
JavaScript
Oct 8, 2026
dsh plugin --profile web add @local/archived-sessionsby guowenwei
DeepSeek Harness 会话标记板:把任意一轮对话标记成任务卡,命名、跳回原处、一键把结论填进输入框(标记保存在本机浏览器)
★ 0
MIT
TypeScript
Oct 29, 2026
dsh plugin --profile web add dsh-markboardby drscrewdriver
给 DeepSeek Harness 侧边栏加一个会话内容检索——标题/内容一键切换,还能按用户/回复/工具筛选
★ 7
↓ 335/wk
MIT
TypeScript
Oct 27, 2026
dsh plugin --profile web add dsh-session-search-toggle