Introduction¶
When using the web profile of DeepSeek Harness (DSH), the sidebar is typically used to find historical sessions. While title search can filter by directory, locating a specific sentence, a tool call, or a segment of a reply requires content retrieval.
The philosophy of DSH is “everything is a plugin”. dsh-session-search-toggle adds a “Search” entry to the DSH web sidebar, allowing you to switch between title search and content search within the same floating panel, while supporting filtering content hits by User, Reply, and Tool.
What is it¶
dsh-session-search-toggle is a DSH plugin maintained by drscrewdriver under the MIT license.
It is designed for users who have installed DeepSeek Harness and are using the web profile. It provides session search enhancement through DSH’s existing sessionQuery service without requiring modifications to the official source code or the creation of a fork.
Core Features¶
Title Search and Content Search¶
The plugin adds a “Search” entry at the bottom of the DSH web sidebar. Clicking it opens a floating panel where you can switch between title search and content search.
The title mode performs real-time filtering based on session titles or substrings of the working directory.
The content mode reuses DSH’s built-in FTS5 full-text index to search the body of session messages.
Content Results Aggregated by Session¶
Content search results are aggregated by session rather than listing individual messages.
Each session is displayed as a row, showing the session title, the strongest matching snippet, and a type tag.
Content Type Filtering¶
The content mode provides the following filters:
- All
- User
- Reply
- Tool
The “Tool” filter covers both tool/call and tool/result.
Index Availability Probe¶
The plugin probes the availability of the sessionQuery full-text index on the Host side via the search-status probe.
If the full-text index is not enabled, the content mode provides configuration guidance; the title mode is unaffected.
Settings and Result Navigation¶
The Settings page adds a “Session Search” configuration row under “General,” supporting an enable toggle and a default search mode.
When a search result is clicked, the corresponding session is opened, and the view is scrolled to the context containing the matching content.
Installation and Activation¶
Installing the Plugin¶
Directly install the stable version from GitHub:
dsh plugin --profile web add github:drscrewdriver/dsh-session-search-toggle#release-v0.1.0
If you need to use the baseline or development branch, you can also install them separately:
dsh plugin --profile web add github:drscrewdriver/dsh-session-search-toggle#master
dsh plugin --profile web add github:drscrewdriver/dsh-session-search-toggle#feat/type-filter-search
The documentation provides multiple installable branches; the specific branch to use should be determined by your use case.
Restarting DSH web¶
Running instances do not hot-load the bundle layer, so you must restart DSH web after installation:
dsh web
You can also use the bundled script:
bash ~/.dsh/profiles/web/node_modules/dsh-session-search-toggle/restart-dsh-web.sh
Enabling Full-Text Search for Content Search¶
The default DSH official bundle has full-text search disabled; enabling content search requires overriding the path and openAt of session-query-sqlite.
You can add the following to the profile’s cordis.patch.yml or an overlay:
- id: session-query-sqlite
config:
path: ':memory:'
openAt: first-search
Save and restart DSH web.
When the full-text index is not enabled, the content mode displays configuration guidance, while the title mode remains usable.
Typical Usage¶
- After installing the plugin and restarting DSH web, a “Search” entry appears at the bottom of the sidebar.
- Click “Search” to open the floating panel.
- Switch to title mode, enter a session title or a substring of the working directory, and view the filtered results.
- Switch to content mode, enter keywords, and then select
All,User,Reply, orToolfor filtering. - View the results aggregated by session, including the session title, the strongest matching snippet, and the type tag.
- Click on a result to open the corresponding session and navigate to the context where the matching content is located.
Scenarios and Notes¶
- DeepSeek Harness must be installed, and the web profile must be used.
- Direct installation from GitHub requires connectivity to
github.com; if the network is restricted, configure an available proxy or mirror acceleration. - The plugin runs with the permissions of the current
dshprocess; check the source code and license before installing. - License is MIT.
- No official source code is modified, and no derived libraries are built; data is processed through DSH’s existing
sessionQueryservice. - Configuration is stored only in the DSH settings namespace and the browser’s floating layer state.
- It does not read or upload data other than session content.
- The browser’s trust fence for the Host’s HTTP route
/switch-search/apiis consistent with the DSH/apigateway, rejecting cross-site requests.
Conclusion¶
dsh-session-search-toggle completes the session retrieval in the DSH web sidebar with two modes—title and content—and adds content filtering for User, Reply, and Tool. It is suitable for scenarios where you need to quickly find historical sessions, tool calls, and context snippets within DSH web.
The community directory is an independent site with no official affiliation to DeepSeek / Huanfang. The directory page provided in the documentation:
https://www.skillhub.cn/plugins/drscrewdriver/dsh-session-search-toggle
GitHub repository:
https://github.com/drscrewdriver/dsh-session-search-toggle