dsh-hotkeys:为 DSH 提供全局快捷键

前言

DeepSeek Harness(DSH)社区常用插件方式扩展客户端能力。csiroqa/dsh-hotkeys 面向 DSH 的 web 使用场景,把切换会话、发送/清空草稿、停止生成、复制会话、归档会话等操作绑定到键盘,减少鼠标往返。它更适合需要在 DSH 中高频操作会话、并希望用快捷键替代部分点击动作的开发者。

这是什么

  • 插件:csiroqa/dsh-hotkeys
  • 维护者:csiroqa
  • 许可:MIT
  • 安装对象:DSH web profile
  • 核心目标:为 DSH 客户端添加全局快捷键,并支持配置键位、sendModeignoreInputs

核心功能

会话导航

  • 会话切换:按侧栏顺序环绕切换,按住可连续切换。
  • 新会话:与侧栏“新建会话”同一入口。

草稿与发送

  • 发送草稿:send 等价 composer 加速 Enter;草稿为空且有排队消息时,把排队消息推入运行中的回合;发送/受理进行中自动拦截。
  • 清空草稿:只清文本,保留已附加图片。

会话管理

  • 停止生成:停止当前会话运行中的回合;仅普通会话与 continuable 子代理可打断;未运行时给出页面内提示。
  • 复制会话:fork 当前会话(标题递增)并跳转到新会话。
  • 归档会话:调用原生 workspaces.archiveSession,将当前会话移入“已归档”。

/hotkeys 命令

在会话中输入 /hotkeys,可列出全部 8 个动作的当前生效键位,包含用户自定义覆盖。

触发守卫

  • IME 组合输入中不触发。
  • AltGr 键击不触发。
  • 已被消费(defaultPrevented)的按键不触发。
  • 开启 ignoreInputs 时,纯按键组合(无 Ctrl/Cmd/Alt)在输入框/文本域内不触发。
  • 按住不放只放行导航类动作。
  • 非法/重复键位会在控制台 warn,并指明动作名。

安装与启用

先准备环境:

  • Node.js >= 22
  • pnpm
  • 本机 deepseek-harness 源码检出(依赖以 link: 指向 ../deepseek-harness

然后执行:

git clone https://github.com/csiroqa/dsh-hotkeys.git
cd dsh-hotkeys
pnpm install
pnpm build

安装进 web profile。插件以 link: 指向当前仓库目录,因此命令使用当前目录:

dsh plugin --profile web add link:$(pwd)

重启 dsh web,并在浏览器中执行 Ctrl+F5 硬刷新。之后如果需要改源码,重新 pnpm build 并硬刷新即可生效。

典型用法

1、打开任意会话,使用 Ctrl+Alt+[ / Ctrl+Alt+] 切换会话;使用 Ctrl+Alt+N 新建会话。

2、输入草稿后使用 Ctrl+Enter 发送;使用 Ctrl+. 停止生成;使用 Ctrl+Shift+F 复制会话。

3、使用 Ctrl+Alt+A 归档当前会话,会话会移入侧栏“已归档”。

4、输入 /hotkeys 查看当前生效的全部快捷键。

键位中的 mod 在 Windows/Linux 上为 Ctrl,在 macOS 上为 。键位按 US 键盘布局假设,shift 上档字符会还原。

配置

键位、sendModeignoreInputs 通过 settings 命名空间持久化。

可以在 DSH 中通过“设置 > 通用 > 快捷键”进行可视化编辑:

  • 编辑各动作键位。
  • 一个动作支持多个键位,逗号分隔。
  • 输入空串可禁用该动作,并重置回默认。
  • 调整 sendMode
  • 打开或关闭 ignoreInputs

也可以编辑 $DSH_HOME/settings.yamlhotkeys: 段,配置键位、sendModeignoreInputs

注意:cordis.patch.yml 的 insert config 段不达浏览器半区,键位配置请写 settings.yaml

sendMode 设为 auto 时,与 composer 加速 Enter 行为一致。ignoreInputs 用于控制纯按键组合是否在输入框/文本域内触发。

适用场景与注意

适合经常使用 DSH web 会话、希望减少鼠标操作的人。该插件针对 DSH 0.1.1-rc.2 源码检出开发验证,并在 @deepseek-ai/dsh@0.1.1-rc.2(npm 全局/npx 安装)环境实测可用。平台为 Windows / macOS / Linux,Node.js 版本要求为 >= 22

需要注意:

  • 插件会在当前 dsh 进程权限下运行。安装前请先检查源码与 LICENSE。
  • 它依赖 sessions / workspaces 两个公开服务,以及一处 untyped 的 conversation.input 运行时面;ui-conversation 缺席时相关动作静默降级。
  • 已知限制:slash 菜单打开时的拾取仲裁由 composer 私有持有,send 直接提交草稿而非拾取高亮项。
  • 快捷键只在本机页面上生效,DSH 默认回环绑定,不涉及任何网络监听。
  • 键位配置写入 $DSH_HOME/settings.yaml,这是本机文件;请勿把 DSH 端口暴露到公网。

许可与链接

本项目使用 MIT License。使用、修改、引用或收录时,请保留 LICENSE 文件与版权声明,并标明出处(本仓库链接)。

项目仓库:https://github.com/csiroqa/dsh-hotkeys

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

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

小夜