During the development and debugging of DSH (DeepSeek Harness), session logs can often become extremely verbose. Locating a specific message in a long conversation—such as the parameter details of a particular tool call or a system-injected prompt—usually requires manual scrolling. dsh-session-explorer is designed to address this pain point by providing full-text, message-level search on the Web, along with context preview and direct jumping back to the original session.
Plugin Overview¶
dsh-session-explorer is a DSH Web plugin maintained by Zn-Dk. It supports full-text search across user messages, assistant replies, guidance messages, and tool calls (including tool names, parameters, and error summaries). Using the plugin’s built-in indexing engine, it can deduplicate results across multiple sessions and provide read-only context previews, helping developers quickly locate target information.
Installation¶
Install the plugin using the official command:
dsh plugin --profile web add dsh-session-explorer
After installation, restart dsh web. A “Session Explorer” entry will appear in the sidebar tool area. On first use, the plugin will automatically create an index, with data stored in ~/.dsh/storages/session-explorer.sqlite.
Core Features¶
Message-Level Full-Text Search¶
The plugin supports search across four message types with different weights:
* High weight: user messages, assistant replies, and system-injected text.
* Low weight: tool names, tool parameters, and tool error summaries.
Search is based on an FTS5 triplet index and supports arbitrary substring matching (no Chinese word segmentation required). When the query length is less than 3 characters, it automatically falls back to LIKE matching mode.
Cross-Session Deduplication¶
Fork (branch) or continuation sessions share parent history. To avoid duplicated search results, the plugin groups results by (seq, kind, text) and retains the session entry with a non-empty title and the latest index time.
Read-Only Preview and Jumping¶
Clicking a search result card displays the matched message and its surrounding context window. The view automatically scrolls to center the focal message. In the preview view, clicking any message can jump directly to the corresponding position in the original session.
Session Overview and Filtering¶
In addition to single-message search, the plugin provides a session-level overview view. All sessions are displayed as cards, including metadata and first/last message summaries. It supports filtering by primary/sub agents, text search, and sorting. Clicking a card opens an inline message-summary detail panel rather than a simple anchor jump.
Index Management and Status¶
- Rebuild modes: Supports incremental rebuild (based on content fingerprints, O(1) skip for changed sessions) and full rebuild (reset the database and rebuild sessions one by one). The rebuild dialog runs a health check (integrity + table readability).
- Index status: Automatically classifies index status as “indexed”, “stale”, or “failed” (e.g., corrupted source logs). Opening the panel triggers a light sync (handles live and unindexed sessions), closing the panel performs incremental sync, and application startup performs consistency verification.
Typical Usage¶
- Open DSH Web, find “Session Explorer” in the sidebar, and click it.
- Enter a keyword in the search box, such as a tool name or a specific error summary.
- Review the search results; the system has already handled duplicate content from fork sessions.
- Click a result card to confirm the context in the preview panel.
- Click a specific message in the preview to jump directly to the conversation stream in the actual session.
Known Limitations¶
- Full-Text Search for Tool Result Bodies: Full-text search for the complete body of tool call results is deferred to V2; currently, only tool names, parameters, and error summaries are searchable.
- Session Deletion: The DSH engine does not provide a session deletion API, so index cleanup is limited to the plugin’s own database.
- Timeline Canvas Bug: The timeline canvas has serious rendering issues. The entry has been hidden since version 0.2.0 and will be restored once fixed.
Summary¶
dsh-session-explorer maintains a local SQLite index to provide efficient session message search for DSH, which is especially suitable for developers who need to frequently review historical logs. See the project directory or GitHub repository for more details.