At a glance
What it does
A single keyboard palette for commands, models, sessions, and conversation search in DeepSeek Harness Web.
Web Profile
DSH 0.1.2-rc.1; Node.js >=22.19.0
Evidence-verified
Checked Sep 6, 2026, 1:52 PM UTC
Code-evidenced contributions
What it adds to DSH
A keyboard-opened overlay that searches and acts on live commands, models, sessions, and conversation hits in the current DSH workspace.
Mechanism evidence ↗Before you choose it
Open one translucent overlay to search the current workspace’s live Host commands, available models, sessions, and full-text conversation hits. Results are ranked deterministically, and selecting a result executes a command, changes the active model, or opens the corresponding session or history hit.
Best for
Keyboard-first DeepSeek Harness Web users who want one place to find and act on workspace capabilities.
Common tasks
- Run an available Host command without finding it in a slash menu.
- Switch to a model from the current session’s model directory.
- Jump to a recent or known session.
- Search prior conversations by text and open the matching hit.
Permissions and data
Uses DSH public in-process client APIs to read workspace surfaces and perform the action you select.
Permissions- Accesses the live Host command catalog and executes a selected command.
- Reads model, session, and session-search surfaces exposed by DSH public APIs.
- Adds a DSH Web profile patch that enables the session-search SQLite path on first search.
- No telemetry, analytics, or plugin-originated network requests are claimed.
- Conversation search is delegated to DSH session full-text search; its database belongs to the DSH profile.
- Stores shortcut and frecency preferences in browser localStorage.
- No credentials are claimed to be read or stored by the plugin.
Limitations
- Verified only with DSH 0.1.2-rc.1; other DSH revisions are unverified.
- Client-only commandUi commands are not discoverable through the available public API.
- Its default Ctrl+Shift+K shortcut can conflict with dsh-keys-palette on Windows.
- The npm package version was not found in supplied distribution evidence; use the pinned Git bundle path.
What DSHub checked
- The primary package and Web profile patch have verified bundle structure at the pinned commit.
- The patch inserts the palette into the Web composition and configures session search to open on first search.
- The project declares MIT licensing, DSH 0.1.2-rc.1, and Node.js >=22.19.0 compatibility.
What DSHub did not check
- Installation and runtime behavior were not executed in this curation record.
- Compatibility with DSH revisions other than 0.1.2-rc.1 was not verified.
- The claimed interoperability and acceptance-test results were not independently executed here.
Pinned install
Install DSH Universal Palette
This plugin bundle does not have a DSH Plugin install action. Use its source documentation for the delivery method.
Maintainer source
Project README
dsh-universal-palette
Language: English | 简体中文
A command, session, model, and history surface for DeepSeek Harness Web — one keystroke, everything running in the current workspace.

Why Universal Palette
DSH grows capabilities through plugins: each release and each community plugin can add Host commands, client command UIs, models, and reference sources. The native surfaces for these live in different places — the slash menu, the model selector, the sidebar, the composer's @ menu — and none of them answer the one question a keyboard-first user actually has: what can I do right now, in this workspace, and how do I get there?
Universal Palette is a single translucent overlay on Ctrl+Shift+K that federates those surfaces into one deterministic, relevance-ranked list. It owns no second catalog: every command, session, model, and history hit it shows comes from DSH's public Client APIs at query time, so the Palette is automatically correct as DSH and its ecosystem change.
It is built to stay out of the way: DSH's own design tokens, glass over the native surface, locale-following copy, and zero behavior change for anything it does not have a verified public contract with.
Features
- Commands — the complete live Host command catalog, searched and executed through official APIs; new Host commands from DSH or any plugin appear automatically with zero adaptation.
- Models — the session's real model directory with the current selection, submitted through the public selection contract.
- Sessions — current-first session navigation with stable identity dedupe, no title-based merging.
- Conversation Hits — full-text history search via DSH's own session search, with snippet and metadata.
- Deterministic relevance — exact-prefix-first scoring with a minimum relevance gate; recency and context only order genuinely relevant rows.
- Native look and locale — DSH design tokens, official menu typography and elevation, glass surface, zh/en copy following DSH's locale.
- Public-contract interoperability — capability-detected cooperation with community plugins; no private registry reads, no hard dependencies.
Quick Start
dsh plugin --profile web add @yunmin311/dsh-universal-palette@0.2.0
dsh --profile web
Press Ctrl+Shift+K (Windows/Linux) or Cmd+Shift+K (macOS) to toggle. Esc closes, outside clicks close and pass through to DSH.
Usage
| Gesture | Result |
|---|---|
Ctrl/Cmd+Shift+K |
Toggle the Palette |
| Type | Fuzzy search across commands, models, sessions, and history |
↑↓ |
Move selection |
Enter |
Open / run the selected row |
Tab |
Action panel (infrastructure; current built-in providers expose primary actions only) |
Esc |
Close |


Search surfaces
| Surface | Source contract | Action | Needs active session |
|---|---|---|---|
| Commands | ctx.remote.commands.list / execute (official Host catalog) |
Execute | Yes |
| Models | ctx.modelDirectories (official model directory) |
Select | Yes |
| Sessions | ctx.sessions (official session controller) |
Open | No |
| Conversation Hits | ctx.sessions.search (official FTS boundary) |
Open | No |
Community interoperability
Interoperability is verified against real installed plugins — see the interoperability matrix.
Host command federation: automatic. Host commands from community plugins (e.g. dsh-tui-command-ext's
/clear/rename/unarchive/compact-fast, or a/code-reviewplugin) appear and execute with zero adaptation — the Palette reads the live official catalog.
dsh-keys-palette: optional public bridge. Registers one
universal-palette.openaction on its publickeys.actionsregistry so you can bind a shortcut to open the Palette. Absent plugin, zero effect.Tested coexistence: dsh-tui-command-ext, dsh-session-workbench, dsh-reference-anything, dsh-keys-palette, dsh-market — all verified installed together on real DSH boots.
No private coupling. Session Workbench and Reference Anything publish no public handoff API; the Palette integrates nothing beyond coexistence and documents upstream gaps instead of hacking around them.
This is not "supports all plugins" — only the contracts above are consumed, capability-detected, with zero behavior change when absent.
For plugin authors
Universal Palette federates DSH's public contracts — you do not integrate with the Palette to become visible in it.
- Host commands: register through DSH's official Host command contract (
ctx.commands.register) and the Palette discovers you automatically from the live catalog on every query. No Palette dependency, no adapter, no release coordination. - Deeper interoperability: an optional, capability-detected adapter is considered only when your plugin exposes a stable public Cordis service. It must be zero-impact when your plugin is absent and lifecycle-safe when it unloads. The working example is dsh-keys-palette's public
keys.actionsregistry, which the Palette uses to contribute one bindable "open" action. - Client-only
commandUicommands, private registries, DOM state, and internal routes are off the table — the Palette keeps plain coexistence there and waits for a public API (upstream gaps). - Session / reference / workspace plugins: the same rule applies. A public handoff service or official contract is the only path into Palette secondary integrations; no public seam means
WAIT_PUBLIC_API.
Universal Palette currently has no Provider SDK, and none is planned. The preferred ecosystem path is: register with DSH, and the Palette federates public contracts. Details and verified cases: interoperability matrix.
Compatibility
Verified and locked against @deepseek-ai/dsh@0.1.2-rc.1 (deepseek-ai/deepseek-harness@76fda729799fe9b3848dbe2c211d4b231032b81e). Other DSH revisions are unverified. Details: COMPATIBILITY.md, COMMAND_COMPATIBILITY.md.
Privacy & Security
- No telemetry and no analytics.
- No network requests of its own: everything goes through DSH's in-process public Client APIs.
- No credentials read or stored; the demo/acceptance profiles run credential-free by design.
- User preferences (shortcut, frecency) live in browser
localStorageunder the Palette's own namespace. - History search delegates to DSH's session FTS; its database belongs to the DSH profile, not to this plugin.
Testing
pnpm run check— typecheck + unit tests (including the Keys Palette bridge lifecycle).pnpm run build— host ESM face + browser CJS bundle with a purity gate.- Real DSH acceptance on Windows: official command compatibility gate (
scripts/command-compat.mjs), multi-plugin coexistence probes (scripts/interop-probe.mjs), and recorded evidence underevidence/.
Known limitations
- Locked to DSH
0.1.2-rc.1; other revisions are unverified. - Client-only
commandUicommands (e.g. popup pickers) are not discoverable — DSH exposes no public enumeration yet (upstream gaps). - dsh-keys-palette's default
Mod+Shift+K(cycle theme) collides with the Palette'sCtrl+Shift+Kon Windows; rebind either side.
Development
pnpm install
pnpm run check
pnpm run build
Documentation
- Architecture
- Compatibility
- Command compatibility
- Design contract
- Interoperability matrix
- Upstream interop gaps
- Changelog
License
Operate deliberately
Install and manage
Prerequisites and target Profile
Target: Web Profile
Delivery: Dsh Bundle Git — yunmin311/dsh-universal-palette#4083e2716541d2149177c620a30f7d4a04941ad5。
Verify, update, and remove
Show lifecycle commands
dsh plugin --profile web listCompatibility and access
Locked and verified for DeepSeek Harness Web 0.1.2 Rc.1: DSH 0.1.2-rc.1; Node.js >=22.19.0。
Review compatibility evidence ↗
Risk facts
Searches conversation history through DSH session full-text search; the history database remains in the DSH profile.
Evidence ↗Stores shortcut and frecency preferences in browser localStorage under its own namespace.
Evidence ↗Evidence and editorial reviewManifest, Bundle patch, distribution and freshness
Immutable evidence
Review status and source activity
Use the immutable Git source for this listing; registry availability is not established by the supplied evidence.
AI reviewed Sep 10, 2026, 11:36 AM UTC。GitHub facts last checked Sep 10, 2026, 11:36 AM UTC。
No material source change has been recorded since this evidence baseline.