dsh-spotlight: DeepSeek Harness's Spotlight-style command panel

前言

DeepSeek Harness(DSH)把界面能力拆成可组合的客户端插件。设置、插件列表、会话切换、主题和快捷键往往分散在不同入口里;若还要记住每个功能的键位,日常操作成本会偏高。VS Code、macOS 等环境普遍用「命令面板」把可执行项集中到一个可搜索的浮层里。下面介绍社区插件 dsh-spotlight(维护者 hakulat2023),它在 DSH Web 客户端或桌面应用中提供同类体验:全局快捷键或 / 打开面板,搜索并执行设置、插件、会话、快捷键、主题,以及其它插件注册的命令。

这是什么

dsh-spotlight 是 DSH 的 bundle 型客户端插件(分类:客户端)。它在 shell.overlay 上挂载一个全局命令面板,把 Harness 内置操作与可配置快捷键目录镜像到同一列表,并通过 spotlight 服务供其它客户端插件扩展。当前版本 1.0.1,许可证 MIT;开发与验证针对 DSH 0.2.x(README 写明在 0.2.1-rc.5 上验证)。

核心功能

全局面板与快捷键

  • 在 Settings → Shortcuts 中可重新绑定的打开命令:Cmd/Ctrl+Shift+P 切换面板;在非文本输入区域按 / 也可打开。
  • 面板内:↑ / ↓ 移动高亮,Enter 执行,Esc 关闭。打开器走 shell 的 shortcut 服务,桌面端经原生键盘桥接生效。
  • README 说明:默认不用 Cmd/Ctrl+Shift+/,因 macOS 上 Electron 会先消费该组合键;另有模态层打开时面板不会弹出,以免无法聚焦输入框。

内置命令分组

分组 能力(英文标签与 README 一致)
Navigate Open Settings、Open Plugins、Search Sessions、Add Workspace、Keyboard Shortcuts
Session New Session、Archive Current Session、Compact Session
View Toggle Sidebar、Toggle Right Sidebar、Workspace Files
Appearance Theme: Dark / Light / System;Language: English / 中文

Archive Current Session 复用 shell 的 session.archive 快捷键逻辑(含运行中确认与归档提示)。Compact Session 通过 Host 的 /compact 执行,需空闲 agent 且历史可压缩。Workspace Files 与 Toggle Right Sidebar 优先走 shell 快捷键,必要时回退到 sidebarRight 控制器。

Shortcuts 镜像组

除上述一等命令外,插件把 shell 可配置快捷键目录中剩余项列入 Shortcuts 组,每行显示本地化名称与当前生效的键位;执行时走 shell 自身的 resolve(),因此 rename、fork、split、fullscreen、terminal 等未单独暴露 client 服务的命令也可从面板触发。窗口/页面关闭及删除类操作被刻意排除。

扩展注册表

其它客户端插件通过 Cordis 的 spotlight 服务注册命令:id、run 必填;可选 title / titleKey、group、hint、keywords(中英文均可检索)。register() 返回 disposer,应挂到 ctx.effect 以便插件禁用或 HMR 时卸载。服务还提供 open、close、toggle、isOpen、list。

样式表在 bundle 物化时注入并由模块系统认领;locale、命令表、快捷键项与 overlay 槽位以 Cordis effect 注册,禁用或热更新 teardown 时会一并移除。

环境要求

项 说明
DeepSeek Harness 0.2.x
运行面 Web 客户端(dsh-web-app)或桌面应用
构建 无需单独构建;浏览器 bundle 为手写 JavaScript
Node.js 使用插件本身不需要;仓库测试套件需 Node 20+

安装与启用

包在 package.json 中声明 dsh.bundle.patch 与 dsh.client,cordis.patch.yml 插入 host 行。安装后须出现在 profile 的 dsh.profile.bundles 列表中;仅写在 dependencies 而未选 bundle 时,客户端半部分不会进入模块图。

从 GitHub 安装(官方 README 命令):

dsh plugin --profile desktop add github:hakulat2023/dsh-spotlight#v1.0.1

省略 #v1.0.1 则跟踪默认分支。本地目录可用 plugin_manager install_bundle 或 dsh plugin --profile desktop add /absolute/path/to/dsh-spotlight(路径需为绝对路径)。

安装或更新后应重启应用。 Host 半部分是 Node 模块,运行中的进程保留已加载的模块代际;客户端模块图在发布前也会快照 bundle,仅刷新页面可能仍服务旧 bundle。重启可保证新客户端半部分加载,并重新向原生键盘桥接注册面板快捷键。

社区目录页(与 DeepSeek / 幻方无官方从属关系):skillhub.cn/plugins/hakulat2023/dsh-spotlight。

典型用法

  1. 安装并重启 DSH 桌面 profile(或对应 Web 部署)。
  2. 在任意非输入焦点处按 Cmd/Ctrl+Shift+P,或按 /,打开面板。
  3. 输入关键词(如 theme、插件、session)筛选,用方向键选中后 Enter 执行。
  4. 在 Settings → Shortcuts 中按需改绑「切换命令面板」快捷键。

其它插件向面板贡献命令时,在 client 模块中 inject: ['spotlight'] 并调用 ctx.spotlight.register({ ... });完整字段与 TypeScript 接口见 GitHub README。

适用场景与注意

  • 适合:习惯命令面板工作流、希望少记分散快捷键、需要在同一入口切换主题/语言/侧栏/会话,或希望把自有客户端能力暴露为可搜索命令的插件作者。
  • 权限与安全:插件在当前 DSH 进程权限下运行;安装前请阅读仓库源码与 MIT 许可证,确认 bundle 列表与 cordis.patch.yml 变更符合预期。
  • 限制:面板无法在其它模态打开时使用;部分 mirrored 快捷键在无当前会话、无聚焦页面或无空闲 agent 时会被 shell 拦截,面板关闭后行为与直接按快捷键一致。

结尾

dsh-spotlight 把 DSH 常用客户端操作与快捷键目录收进一个可搜索的 Spotlight 式浮层,并留出 spotlight 服务供生态扩展。源码与详细说明见 GitHub:hakulat2023/dsh-spotlight;插件索引见 SkillHub 目录页。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye