DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

Quick Launcher — DeepSeek Harness 插件(DSH Plugin)
DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins

dsh-quick-launcher

Quick Launcher

Harness Web UI 中的 Ctrl+Space 命令面板:一个输入框即可查找会话、调用技能、打开面板和切换外观。

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add dsh-quick-launcher@1.0.1
README兼容性版本

兼容性与来源证明

Quick Launcher 以 dsh-quick-launcher 发布,当前版本为 1.0.1。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
web
发布来源
npm
Registry 更新时间
2026/10/16

版本

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

相关插件

正在加载相关插件…

最新版
1.0.1
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
89.4 kB
文件数
9
Surface
web
许可证
MIT
发布源
npm
GitHub
★ 0
周下载
0
最近提交
2026/10/16
查看源码 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题

相关插件

继续浏览 ui-customization 分类下经过校验的插件。

Whale Widgetdsh-whale-widgetDSH Web 界面右下角的 DeepSeek 余额小鲸鱼挂件:余额/今日已用/峰谷定价、自定义泡泡点击序列(文本/余额/今日/峰谷/图片/随机语句与并列加权选择)、逐行样式与字体、悬浮快捷编辑、音效与每轮消耗、自定义角色/动图/音效、吸附与翻转自定义Client Ui Skill Explorer@linxin666/dsh-client-ui-skill-explorerDSH 技能中心:按来源(bundled / project / user / custom / runtime)浏览已加载的技能,在 Web GUI 面板中启用或禁用、创建和删除技能。Remote Web Ui@linxin666/dsh-remote-web-ui通过扫码配对访问 dsh Web GUI,共享一个官方界面:设置按钮旁的二维码可将手机和 PC 配对到同一个 Web GUI(手机采用竖屏触控适配层,PC 使用完整桌面界面),通过一次性令牌和 rClient Ui Task Board@linxin666/dsh-client-ui-task-board面向 DSH Web GUI 的主机权威任务面板,支持实际会话执行、主机 cron 调度以及可选的跨平台空闲睡眠保护;以挂载方式提供,无需修改 DSH 源代码。

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 元数据缓存到进程重启)。