Keyboard-first command palette for the DSH Web UI.
Install
# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)
dsh plugin --profile web add github:0xsline/dsh-spotlight
GitHub-sourced plugins run build scripts on your machine at install time. Only install sources you trust, and pin a commit (github:owner/repo#sha).
README
简体中文 | English
A keyboard-first command palette for DeepSeek Harness Web. Open one palette to find native slash commands, recent sessions, visible UI actions, and installed plugin settings—without leaving the keyboard.
Features
- One shortcut:
⌘Kon macOS,Ctrl+Kon other platforms. - Customizable: click the shortcut control in the footer, then press a new key combination. The setting is stored in the current browser.
- Native actions: discovers and triggers the actions already provided by
DSH Web, and contributes one
/spotlightcommand to the native slash menu instead of maintaining a second command registry. - Fast search: deterministic fuzzy matching across slash commands, recent sessions, UI actions, and plugin settings.
- Keyboard navigation: Arrow Up/Down to select, Enter to run, Escape to close.
- Clean lifecycle: removes its event listeners, styles, and DOM nodes when unloaded.
Install
Install the bundle into your DSH Web profile. From npm:
dsh plugin --profile web add "@0xsline/dsh-spotlight"
Or from the Git source:
dsh plugin --profile web add "github:0xsline/dsh-spotlight#main"
Then start DSH Web and press ⌘K or Ctrl+K:
dsh --profile web
Usage
- Open Spotlight with the global shortcut, or type
/spotlightin the DSH Web composer and pick the entry from the slash menu. - Type to filter commands and actions.
- Use Arrow Up/Down and Enter, or click a result.
- Click Shortcut in the footer to record a different key combination.
- Click Reset to restore the platform default.
Shortcut preferences are local to the current browser origin and profile.
How it works
DSH Spotlight is a standalone Cordis bundle with a small Web client. The client mounts once the host's sessions, command-plane, plugin-inventory, and command-UI services exist — all standard in every stock DSH Web deployment — then reads recent sessions, slash commands, and the plugin inventory directly from those services. It also discovers actionable elements in the current page and delegates execution back to those native elements. A catalog RPC failure degrades only its own category. The plugin adds no server data channel and stores no durable server-side state.
src/index.ts Loader metadata
src/client/index.ts Web client activation and disposal
src/spotlight/ Host + DOM discovery, search, keyboard handling, and UI
cordis.patch.yml DSH Web profile composition
Because part of the discovery follows the current DSH Web DOM, host UI
changes may require updating the selectors in src/spotlight/discovery.ts.
Development
Requirements: Node.js ^22.19.0 || >=24.0.0 and pnpm 11.7.0.
git clone https://github.com/0xsline/dsh-spotlight.git
cd dsh-spotlight
pnpm install
pnpm run verify:self-contained
pnpm run typecheck
pnpm test
pnpm run build
Test a local checkout in DSH Web:
pnpm run prepare
dsh plugin --profile web add "link:$(pwd)"
dsh --profile web
Inspect the package contents before publishing:
pnpm pack --dry-run --json
License
Links
More in this category
zhu1090093659/dsh-web-ui★ 1766
Plugin and skin collection for the DSH Web UI: task board, Git graph, right-side panel, remote mobile UI, pet, live token stats, and a skin center.
ccch1mneyyy/dsh-TUI★ 829
Claude Code-style full-screen terminal UI: pixel-whale header, live status line, and streaming thought expansion.
omdsh-dev/DSH-better-sidebar★ 705
Full sidebar workbench with file rendering and editing, terminal, Git, and subagents; third-party plugins can register new tabs.
huiliyi37/dsh-tianshu-tui★ 131
A terminal UI (TUI) for DeepSeek Harness.
omdsh-dev/dsh-at-file★ 117
Codex-style `@file` mentions: search workspace files in the composer and attach their contents to prompts.
Nagi-ovo/dsh-visualize★ 79
In-conversation generative UI: the model renders interactive HTML cards into the chat stream, with streaming preview and sandboxed rendering.