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.

Quick Launcher — DSH Plugin for DeepSeek Harness
← Plugins

dsh-quick-launcher

Quick Launcher

Ctrl+Space command palette over the Harness Web UI: one box to find sessions, invoke skills, open panels and switch appearance.

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

npx -y @deepseek-ai/dsh plugin --profile web add dsh-quick-launcher@1.0.1
READMECompatibilityVersions

Compatibility and provenance

Quick Launcher is published as dsh-quick-launcher and currently resolves to version 1.0.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
10/16/2026

Versions

1.0.1stable
10/16/2026
1.0.0
stable
10/16/2026

Related plugins

Loading related plugins…

Latest
1.0.1
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
89.4 kB
Files
9
Surface
web
License
MIT
Source
npm
GitHub
★ 0
Weekly downloads
0
Last push
10/16/2026
View source ↗
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
DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in

Related plugins

More verified plugins in ui-customization.

Whale Widgetdsh-whale-widgetDeepSeek balance whale widget in the bottom-right corner of the DSH Web interface: balance/today’s usage/peak-off-peak pricing, customizable bubble click sequence (text/balance/today/peak-off-peak/image/random phrases and parallel weighted selection), per-line styles and fonts, floating quick editinClient Ui Skill Explorer@linxin666/dsh-client-ui-skill-explorerDSH skill center: browse loaded skills by source (bundled / project / user / custom / runtime), enable or disable, create and delete, in a web GUI panel.Remote Web Ui@linxin666/dsh-remote-web-uiScan-to-pair remote access for the dsh web GUI that shares one official interface: a QR beside the settings button pairs phones and PCs into the same Web GUI (a portrait-touch adaptation layer for phones, full desktop on PCs) through one-time tokens and rClient Ui Task Board@linxin666/dsh-client-ui-task-boardHost-authoritative task board for the DSH Web GUI with real session execution, Host cron scheduling, and optional cross-platform idle-sleep protection; mounted without DSH source changes.

README

dsh-quick-launcher

A Ctrl + Space command palette for the DeepSeek Harness Web UI — one rectangular box to find sessions, invoke skills, jump to plugins / panels / settings, and switch appearance. Raycast / Spotlight style.

中文说明 ↓

Install

--profile names the Harness profile to install into (web, desktop, …; it is required). The rest is forwarded to pnpm add in that profile directory.

dsh plugin --profile web add dsh-quick-launcher                 # from npm
dsh plugin --profile web add github:sadkga/dsh-quick-launcher   # or from GitHub

Pin an exact release with … add github:sadkga/dsh-quick-launcher#v1.0.0, or … add dsh-quick-launcher@1.0.0 for the npm form.

Then restart the Harness (systemctl --user restart dsh.service, or restart the dsh web process) and press Ctrl + Space.

Inside a conversation you can also just ask the agent to install dsh-quick-launcher.

What it finds

GroupContents
Recently usedWhat you launched last, with Back to conversation pinned first
SessionsSession list (title / working directory); archive set, subagent children and stale blank rows are filtered out to mirror the sidebar
SkillsThe skill catalog of the session in view, as /name rows
PluginsEvery registered plugin row (including the ones a bundle contributes, such as the task board or the marketplace)
SettingsEvery page inside the settings dialog
CommandsNew session, panel navigation, toggle sidebar, archive current session
AppearanceLight / dark / follow system

↑↓←→ move (down and up step by group, so a one-row group never gets skipped), Enter runs, Esc closes. The gear button opens the palette's own settings (recommendations on/off), kept out of the search rows on purpose.

How it is built

  • shell.overlay: the palette is one entry in the frame-wide overlay layer, which is click-through; the component returns null while closed.
  • No cross-plugin imports. A client bundle may not import another plugin's modules, so everything is local: the shell's own product icons are inlined as path data, and styles use only --dsw-* tokens plus the frame inset variables.
  • Capabilities via ctx.inject. Cordis activates a service for whoever injects it, while ctx.get() only reports an already-active fiber (strict = true). Probing with get yields undefined on first paint and silently empties whole groups. remote is a static dependency because the dotted namespaces (remote.pluginManager, remote.skills) are properties of that service, not services of their own.
  • Icons are the shell's own. packages/client/ui-primitives/src/icons/ is the source of the geometry; the shapes are copied as data, stroked with currentColor.

Why Ctrl + Space is not a shortcut-service binding

Web only accepts a very narrow set of default combinations (packages/client/shortcuts/src/binding.ts:96 — on Web/Linux exactly Ctrl+/, Ctrl+Shift+, and Ctrl+Shift+.). Registering Ctrl+Space as a default throws Unsupported Web shortcut, and a throwing register() takes the whole entry down (1 entry did not activate in the UI). So the palette does both:

  • offers the service a legal default per platform, so the command appears in the shortcuts catalog and stays rebindable;
  • carries Ctrl + Space itself with a private capture-phase listener, which is why it works regardless of platform.

Known limitations

  • Content search depends on the deployment. The palette calls sessions.search, but the Web bundle ships the query index with openAt: 'never' (packages/bundle/web-app/cordis.patch.yml), so full-text search over message bodies is off by default. When the Host refuses the search the palette says so instead of pretending there were no matches. Title and working-directory matching always works.
  • The settings dialog cannot be opened by API. It owns its open state with no public Client service, so settings pages are searchable and are activated by driving the dialog's own rendered navigation.
  • Icon artwork inside the shell's product icon set only; no other imagery.
  • Client code is cached by the Host until the process restarts (packages/client/modules/src/index.ts, cached … until restart), so any change to client.js needs a restart to take effect.

Layout

FilePurpose
index.jsHost half. The launcher is pure browser surface, so this row only makes the bundle a first-class, toggleable, titled entry in the plugin inventory.
client.jsClient half: the overlay component, the shortcut, and every action.
cordis.patch.ymlLoader patch inserting the quick-launcher row.
locale/{en,zh}.jsonTitle and description shown by the plugin manager.
icon.svgOriginal 48×48 icon.

License

MIT


中文说明

一个装在 DeepSeek Harness Web UI 里的全局快捷面板(Raycast / Spotlight 风格)。

  • 唤出:Ctrl + Space(也注册成了快捷键目录里的普通应用命令,可改键)。
  • 能搜:最近使用、会话、技能、插件、设置页、命令、外观。
  • 键盘:↑↓←→ 移动(上下按分组步进,单行分组不会被跳过),Enter 执行,Esc 关闭。
  • 齿轮:打开面板自己的设置(推荐开关),设置项刻意不出现在搜索结果里。

安装

# --profile 是必填的(web / desktop / …),其余参数原样转交给 pnpm add
dsh plugin --profile web add dsh-quick-launcher
# 或从 GitHub
dsh plugin --profile web add github:sadkga/dsh-quick-launcher

装完需要重启 Harness,然后按 Ctrl + Space。

设计要点

  • 浮层挂在 shell.overlay(该层默认 click-through,关闭时组件返回 null,不挡页面)。
  • 不 import 任何其他插件的模块:图标几何数据内联(取自 Harness 自带的产品图标集),样式只用 --dsw-* token,明暗主题都跟随。
  • 能力一律用 ctx.inject() 借:cordis 是"谁 inject 谁触发激活",ctx.get() 只看已激活的 fiber,用它探测会整组消失;remote 用静态 inject,因为 pluginManager / skills 是它身上的属性而不是独立服务。
  • Ctrl+Space 不走快捷键服务的默认键:Web 端只放行极少几种组合,注册它会抛错并拖垮整条 entry。所以既给服务一份各平台合法的默认值(可改键),又用自己的 window 监听器承载 Ctrl+Space。

已知限制

  • 内容全文检索取决于部署:Web bundle 默认把索引设为 openAt: 'never',所以消息正文搜索默认关闭;被拒绝时面板会明确说明,而不是假装"没有匹配"。标题与工作目录匹配始终可用。
  • 设置对话框无法由 API 打开:它自己持有打开状态,没有公开服务;设置项可以搜到,靠驱动它已渲染的导航来切换。
  • 改动 client.js 后必须重启 Harness 才会重新组合(Host 会把 client 元数据缓存到进程重启)。