Preface

DeepSeek Harness (DSH) follows the “everything is a plugin” philosophy and has a rich community ecosystem. During agent development or debugging, when dealing with conversations containing hundreds of records, quickly locating specific content in the Web GUI—such as a particular tool call, a specific error, or a user instruction—often relies on the browser’s built-in find function, which offers limited usability. The dsh-client-ui-session-search plugin provides a search entry in the session title bar and performs full-text search across all historical nodes in the current session, supporting keyboard interaction and precise navigation.

What Is This

This is an in-session full-text search client plugin for the DeepSeek Harness web GUI. The plugin covers all historical records and supports type filtering, multi-keyword AND matching, and keyboard navigation. It is maintained by 2275803244-cpu and is released under the MIT License.

Core Features

The plugin provides the following capabilities:

  • Full-text search: Supports text search across node types such as user messages, AI replies, tool calls (name, arguments, and results), commands, compression summaries, errors, and retries.
  • Multi-keyword AND: Enter multiple space-separated words; all words must match for a result to be returned (for example, entering “plugin search” requires both words to be present).
  • Type filtering: Supports filtering by All / Me / AI / Tools / Commands / Errors / Other, with real-time counts.
  • Keyboard navigation: Use ↑ / ↓ to select results, Enter to jump to the result, and Esc to close the search box.
  • One-click copy: When hovering over a result, a “Copy” button appears, allowing the full text of that node to be copied.
  • Result count: The search box displays “N results.”
  • Full-match highlighting: Within a search snippet, all matching words are highlighted.
  • Jump positioning: After clicking a result, the view smoothly scrolls to the target message, and the target message shows a blue outline for 1.6 seconds.
  • Slot integration: Mounted at conversation.session.header.actions (order=30), alongside the background task list.

Installation and Enablement

The plugin supports both CLI / Web (web profile) and desktop (desktop profile). After installation or update, the application must be restarted, because the bundle revision is hashed into the boot graph at startup.

CLI / Web installation command:

dsh plugin --profile web add github:2275803244-cpu/dsh-session-search

Desktop installation command:
The desktop version does not include this plugin by default and requires manual installation. The desktop application includes a CLI located at <install directory>\resources\runtime\cli\bin\dsh.cmd.

& "<desktop install directory>\resources\runtime\cli\bin\dsh.cmd" plugin --profile desktop add github:2275803244-cpu/dsh-session-search

Notes:
* The desktop version requires @deepseek-ai/dsh-desktop-runtime 0.2.0-rc.2 or later.
* After installation, restart the corresponding application (for Web, restart dsh web; for desktop, restart the app).

Typical Usage

  1. Trigger search: Click the 🔍 button on the right side of the session title bar.
  2. Enter keywords: Enter multiple space-separated words to perform a multi-keyword AND search (for example, plugin search).
  3. Select and jump: Use ↑ / ↓ to select a result and Enter to jump to it.
  4. Copy text: Hover over a result and click the “Copy” button that appears.

Use Cases and Cautions

  • Use cases: Suitable for DSH Web GUI and desktop users who need to quickly locate specific information in large conversations, improving debugging and agent development efficiency.
  • Permissions and security: The plugin runs with the permissions of the current DSH process. Before installation, it is recommended to review the plugin source code and license (MIT).
  • Technical implementation: The plugin is purely browser-side and does not rely on server-side full-text search capabilities.
  • Dependencies: The desktop version depends on react and react/jsx-runtime, and is decoupled from internal DSH packages.

Conclusion

By implementing browser-side full-text search, this plugin fills a gap in the Web GUI for quickly locating information within a session. For developers who frequently refer to details in long conversations, it can significantly improve operational efficiency.