DeepSeek Harness Plugin Hub

Publish and manage complete Harness Profiles. Discover Plugins for your next setup.

Explore

PluginsPresetsDocsNews

Community

Publish a pluginContactReport an issue

Resources

Plugin Hub on GitHubDeepSeek HarnessSystem statusPrivacy notice
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

Independent and unofficial. Not affiliated with, authorized by, or endorsed by DeepSeek.

DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in
← Plugins

@hytime/dsh-client-ui-shortcuts

Client Ui Shortcuts

Quick panel using official DSH shortcuts, with opt-in question and approval enhancements

The plugin will be installed here. Keep web if you are unsure.

npx -y @deepseek-ai/dsh plugin --profile web add @hytime/dsh-client-ui-shortcuts@0.2.1
READMECompatibilityVersions

Compatibility and provenance

Client Ui Shortcuts is published as @hytime/dsh-client-ui-shortcuts and currently resolves to version 0.2.1. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
web
Release source
npm
Registry updated
11/4/2026

Versions

0.2.1stable
10/14/2026
0.2.0stable
10/14/2026
0.1.23stable
9/23/2026
Show 14 more versionsCollapse versions
0.1.22stable
9/18/2026
0.1.21stable
9/10/2026
0.1.20stable
9/10/2026
0.1.19stable
9/3/2026
0.1.18stable
9/1/2026
0.1.17stable
8/29/2026
0.1.16stable
8/28/2026
0.1.15stable
8/26/2026
0.1.14stable
8/25/2026
0.1.13stable
8/24/2026
0.1.12stable
8/23/2026
0.1.11stable
8/22/2026
0.1.10stable
8/21/2026
0.1.5stable
8/21/2026

Related plugins

Loading related plugins…

Latest
0.2.1
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
168.4 kB
Files
33
Surface
web
License
MIT
Source
npm
GitHub
★ 2
Weekly downloads
318
Security scan
✓ v0.2.1 scan passed
Last push
10/18/2026
View source ↗Project homepage ↗
README badge

Click the badge to copy Markdown for your README.

Do you maintain this Plugin?Claim benefit · Priority security scan

Verify the GitHub repository declared in package.json to manage this listing. After you claim it, Hub will prioritize a security scan of the current version and publish the result when it passes.

Claim this Plugin →
Report an issue

Related plugins

More verified plugins in ui-customization.

Better Sidebardsh-better-sidebarBetter Sidebar for DSH — file tree, editor, changes, tasks and side chat in one column, separate for every conversation. Also exposes a service other plugins use to register sidebar tabs and file viewers.Dafeiyudsh-dafeiyuA desktop-native BigFish companion driven by DeepSeek Harness session events.Codex Ui@michengai/dsh-codex-uiDSH Codex UI — 为 DeepSeek Harness 提供极速历史召回、全屏设置皮肤、原生物理毛玻璃换肤、模块化侧栏与桌面原生窗口菜单 · Input enhancement, settings skin, native glass theme, modular sidebar, and desktop titlebar menu for DSHDeepseek Idesigndeepseek-idesigniPolloWork Design Studio and its curated design templates as a native DeepSeek Harness conversation view.

README

DSH Client UI Shortcuts

English | 中文

A quick launcher panel for DeepSeek Harness Web, plus off-by-default question and approval enhancements.

DSH owns keybindings: the plugin registers one editable official command and keeps no key store and no second shortcut configuration. It does not modify DSH core, the agent loop, or the model protocol.

Why install it

  • One shortcut opens the plugin's quick panel.
  • Rebinding uses the official service, so the plugin panel and DSH settings edit the same configuration instead of overwriting each other.
  • Enable keyboard-first question and approval interaction only when you want it; the default is the official DSH UI.

Install in 60 seconds

dsh plugin --profile web add @hytime/dsh-client-ui-shortcuts@0.2.1
dsh --profile web

Reload the Web composition after installing or upgrading; an already open page is not hot-updated. See the installation guide for the full flow.

Screenshots

The quick panel opened with ⌘⌥⇧S (the default). Configuration import/export and search sit at the top, every official shortcut is listed below with per-command rebinding, and the two enhancement switches default to off:

Quick panel

Fully usable at 390×844:

Quick panel on a narrow viewport

Bindings changed in the panel are the same configuration DSH's own settings show:

Official settings stay in sync

Features

Quick launch

The plugin registers one official command, Open quick panel, with these default keys:

PlatformDefault
Web / macOS⌘⌥⇧S
Web / WindowsCtrl+Alt+Shift+S
Web / LinuxNo default (the official allowed set is narrower there)

The panel shows the current official binding, record / change / restore-default / clear controls, the two enhancement switches, and an open button. The Plugins-page entry also opens it, so it stays reachable even when the command is unbound or conflicting.

Search and rebinding

The search field above the shortcut list filters it by command name, command id, or keycap. It only affects what is shown and never changes what is saved.

Rebinding in the panel

The panel calls the official describeBinding(), edit(), and recording() APIs:

  1. Enter recording and let official native interception take over on Desktop;
  2. Capture one candidate combination (IME compositions, repeats, and modifier-only presses are ignored);
  3. Let the official service normalize it and check reservations and conflicts;
  4. Write it with the official revision fence.

Conflicts, unsupported keys, stale configuration, read failures, and write failures each show their own message. The same command can also be changed in DSH Settings → General → Keyboard shortcuts; both surfaces stay in sync.

Configuration import and export

The panel's top row exports and imports a portable JSON document for backup, migration, and team distribution.

The export is a complete shortcut snapshot: every command in the official catalog is written, including untouched defaults, not only the customized ones:

{
  "format": "dsh-client-ui-shortcuts/quick-panel",
  "version": 2,
  "configuration": {
    "questionEnabled": false,
    "approvalEnabled": false,
    "profile": "web:macos",
    "shortcuts": {
      "hytime.shortcuts.open": { "modified": false, "binding": { "code": "KeyS", "modifiers": ["alt","shift","meta"] }, "label": "Open quick panel", "keys": ["⌥","⇧","⌘","S"] },
      "session.new": { "modified": true, "binding": { "code": "KeyJ", "modifiers": ["shift","meta"] } }
    }
  }
}

modified decides what an import does, so a default is never pinned as a new override:

modified in the fileCurrent stateImport action
true—Write the override; binding: null clears that key
falseoverriddenRestore the official default
falseuntouchedLeave it alone

An import is strictly validated first (format, version, exact field sets, command ids, physical codes and modifiers; unknown fields and future versions are refused wholesale, capped at 1 MiB), then planned against the whole target snapshot: keys the file moves or clears are released before the target values are written through the official describeBinding() and edit(), so swapping two bindings restores correctly. Both switches commit in one atomic write. The official edit() has no batch transaction, so a mid-import failure is rolled back on a best-effort basis and any command still unrestored is listed instead of reporting success. A refused or conflicting official edit never writes the plugin switches. Export normalizes the logical primary modifier to the device's real meta/control, so importing an export and exporting again is byte-identical. See the integration notes (Chinese) for format details and limits.

Optional interaction enhancements

Both switches default to off and take over nothing until enabled:

SwitchBehavior when enabled
Enhanced question interactionArrow-key selection, Enter confirmation, Escape task cancellation
Enhanced approval interactionKeyboard selection of "Allow once" or "Reject"; it never grants approval automatically

Enter always activates the focused action: after moving focus to "Reject", Enter rejects instead of reusing the previous selection.

Compatibility

  • Plugin 0.2.0 has DSH 0.2.0-rc.1 as its verified baseline. peerDependencies is >=0.2.0-rc.1 <1.0.0, so the baseline and newer releases below 1.0.0 are accepted, while older generations and 1.0.0+ are refused.
  • DSH validates @deepseek-ai/dsh-* peers (prereleases participate in the range check). A mismatch reports the exact peer and the exact-version exemption path; granting that exemption on an unverified release is not recommended.
  • The new version does not support older DSH releases: no settingsScope, no legacy Connection settings API, no settings.plugin.item seat, no legacy interaction carriers, and no 0.1.x profile settings are read. Users on older releases should stay on 0.1.23.

See the integration notes (Chinese).

Development and verification

pnpm install
pnpm run typecheck
pnpm run bundle
pnpm exec vitest run tests

Browser acceptance must run through a real DSH Web composition on 0.2.0-rc.1; the apps/web Vite entry is not a validation target for this plugin.

FAQ

Does this change model behavior?

No. The plugin changes browser interaction only. It adds no tools, prompt sections, model-visible events, or model request context.

Why does the shortcut not work?

Check the default table above for your platform (Linux Web has no default binding), then inspect the command in DSH Settings → General → Keyboard shortcuts or in the plugin panel for a rebind, a cleared binding, or a conflict. The panel entry button always works.

Does rebinding in the plugin panel affect DSH settings?

They cannot overwrite each other: both surfaces read and write the same official configuration.

Can I use it without DSH Web?

No. The browser artifact is a DSH loader factory and depends on DSH boot injection, slots, locale, settings, and the official shortcuts service.

Links

  • Integration notes (Chinese)
  • Installation guide
  • Changelog
  • DeepSeek Harness

License

MIT