Cross-session and in-chat keyword search with context highlighting, keyboard navigation, and instant message jumping.
Install
# from a prebuilt release tarball
dsh plugin --profile web add "https://github.com/helo060228/dsh-chat-search/releases/download/v1.0.1/dsh-chat-search-1.0.1.tgz"
# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)
dsh plugin --profile web add github:helo060228/dsh-chat-search
Any plugin you install runs third-party code with your own permissions — it can read your files, use your credentials, and reach the network, and tool approvals don’t sandbox it. GitHub-sourced plugins also run build scripts at install time — pnpm blocks those until you allow them, so an install can stop with ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED or ERR_PNPM_IGNORED_BUILDS; dsh prints the exact key to add under allowBuilds in your profile’s pnpm-workspace.yaml, and the install works on the next run. Allowing a build is a trust decision: only install sources you trust, and pin a commit (github:owner/repo#sha).
README
English | 简体中文
Chat search and context highlighting plugin for DeepSeek Harness (DSH). Supports global cross-session search across all tasks and precise in-chat keyword searching.
Security and compatibility
Version 1.0.1 requires DSH 0.2.1-rc.2 or later. Search is registered through
DSH's protected Connection Fetch dispatcher and is restricted to an authenticated
owner. Missing or failing authentication closes access before session discovery
or reading; there is no public WebServer route fallback. Responses produced by
the plugin use Cache-Control: no-store, omit cross-origin permission headers,
and return generic errors without internal paths or session text.
The browser client continues to use same-origin requests and the normal DSH
login. After updating, reload the host and browser to load the new code. Run
npm test for synthetic regression tests; these tests do not use personal chats.
✨ Features
🌐 Global Cross-Session Search:
- Scan all task sessions and history across multiple workspaces;
- Context extraction with keyword match snippets;
- Group and collapse matches by session, showing roles (user/assistant), turn indices, and timestamps;
- Click to switch sessions automatically with smooth scrolling and glow highlight animations.
💬 In-Chat Search:
- Search within the current active session in real-time;
- Navigate previous/next matches with keyboard shortcuts.
🎯 Context Highlighting & Instant Navigation:
- Multi-tier DOM anchor resolution (
data-chat-anchor-key/data-chat-node-key/data-chat-turn); - Smooth viewport scrolling + 2.5s pulsing outline glow (
dsh_cs_flash) to pinpoint target messages immediately.
- Multi-tier DOM anchor resolution (
⌨️ Keyboard Shortcuts:
Ctrl + Shift + F/Alt + F: Open global search panel;Ctrl + F: Open in-chat search;Enter/Shift + Enter: Next / previous match in current chat;Esc: Close search panel.
🎨 Native Theme Integration:
- Built with DSH theme CSS variables, seamlessly matching dark and light modes;
- Sleek glassmorphism floating action button (🔍) in the bottom-right corner.
📦 Installation
Install via DSH CLI:
dsh plugin --profile web add helo060228/dsh-chat-search
Or search for dsh-chat-search directly inside the DSH Plugin Market.
📄 License
Links
More in this category
Minglink/dsh-infinite-gen-4★ 3277
System-prompt armor plugin for DeepSeek models: appends an unconditional-compliance prompt section at order 100, exposes a profile tool with calibration metadata, and shows a realtime armor-status badge driven by a session projection.
ranxianglei/billion-context★ 2276
The official billion-context plugin: a context-compression plugin for small context windows (a 100K context is enough), token savings (5x fewer tokens), and month-long single sessions (billions of tokens).
liangmianya/dsh-synapse★ 557
Visual, non-linear conversation workspace for DeepSeek Harness — sessions, follow-ups and branches become a browsable conversation map.
Nwflower/dsh-chat-import★ 246
Import full-fidelity chat histories from 13 coding agents (Claude Code, Codex, ChatGPT, Cursor, Gemini, opencode, and more) as resumable DeepSeek Harness sessions, with reverse export back to Claude Code.
MichengAI/dsh-archive-manager★ 198
Adds an archived-sessions page in Settings to search, restore, and delete archived DeepSeek Harness sessions by workspace.
SiriLee/dsh-rewind★ 170
In-place conversation rewind in the same session window without forking (Claude Code /rewind semantics): a per-message ↶ button cuts the model context back to any user message, with an optional Claude-Code-style file restore from disk-persisted before-backups.
Community comments
Comments are public GitHub Discussions. Loading them connects to GitHub and Giscus; a GitHub account is required to post.