dsh-enter-lock:给 DeepSeek Harness Web 输入框加 Enter 发送锁

前言

DeepSeek Harness Web 的聊天输入框通常用 Enter 直接发送消息。编辑长提示词、代码或结构化文本时,这个默认行为很容易造成误触;使用中文输入法时,Enter 也可能被用来确认候选词,而不是发送消息。

dsh-enter-lock 是一个 DeepSeek Harness Web 插件,给聊天输入框增加 Enter 发送锁。锁定后,会触发官方提交路径的 Enter 不再发送消息;解锁后,恢复原有 Enter 发送行为。

DSH 的扩展能力通常按插件方式组织。dsh-enter-lockAIFireForAll 维护,许可证为 MIT。若通过 DSH 社区目录获取,目录是独立站点,与 DeepSeek / 幻方无官方从属关系。

插件定位

dsh-enter-lock 的核心目标只有一个:避免键盘误触导致消息提前发送。

它不替换官方输入框,使用官方 conversation.input.right 槽位,在聊天输入框附近提供一个锁形按钮。锁定后,插件只拦截真正会触发官方提交路径的键盘行为,保留原有输入、换行、候选词确认、候选菜单选择等操作。

插件默认零配置:不需要 API Key,不需要设置项,不写 settings.yaml,也不发起网络请求。

核心行为

dsh-enter-lock 提供以下能力:

  • 在 DeepSeek Harness Web 聊天输入框增加 Enter 发送锁。
  • 提供输入框旁的锁形按钮,用于锁定 / 解锁。
  • 锁定后,普通 EnterCtrl+Enter / Cmd+Enter 等会触发官方提交路径的 Enter 不发送。
  • Shift+Enter 仍然插入换行。
  • IME 组合期间的 Enter 放行,不影响输入法候选词确认。
  • 锁状态按会话独立保存。
  • 提供 Ctrl+Shift+K(Windows/Linux)或 Cmd+Shift+K(macOS)快捷键,用于切换锁定 / 解锁。
  • @ 文件 / Session 候选菜单和 / 命令菜单兼容,打开候选菜单时 Enter 确认候选不受影响。
  • 使用官方 conversation.input.right 槽位,不替换官方输入框。
  • 默认零配置,不写 settings.yaml,不发起网络请求。

鼠标点击官方发送按钮仍然可以发送消息。这个插件只防止键盘误触,不阻止明确的鼠标发送操作。

安装与启用

环境要求

安装前确认当前环境满足以下要求:

  • DeepSeek Harness 0.1.0-rc.6 或更新版本。
  • 使用 web profile。
  • 使用基于 Chromium 的现代浏览器,例如 Chrome / Edge。
  • 快捷键需要安装版本 0.4.0 及以上;0.3.x 中快捷键被刻意禁用。

从 GitHub 安装

先执行以下命令,从 AIFireForAll/dsh-enter-lock 仓库安装插件:

dsh plugin --profile web add github:AIFireForAll/dsh-enter-lock

也可以显式使用 Git URL:

dsh plugin --profile web add https://github.com/AIFireForAll/dsh-enter-lock.git

从本地目录安装

如果要使用本地仓库,可以先克隆仓库,再安装本地目录:

git clone https://github.com/AIFireForAll/dsh-enter-lock.git
dsh plugin --profile web add ./dsh-enter-lock

验证安装

安装完成后,检查插件是否进入当前 web profile 的配置输出:

dsh --profile web --dump-config | grep dsh-enter-lock

启动 Web

确认插件安装后,启动 DeepSeek Harness Web:

dsh web

典型用法

下面按常见操作顺序说明如何使用。

1、启动 DeepSeek Harness Web:

dsh web

2、进入聊天界面后,在聊天输入框右下角、模型选择器和发送按钮附近找到锁形按钮。

3、点击锁形按钮即可锁定 / 解锁。锁定后,键盘提交路径被拦截;解锁后,恢复原有 Enter 发送行为。

4、如果焦点位于聊天输入框卡片内,也可以使用快捷键切换:

  • Windows / Linux:Ctrl+Shift+K
  • macOS:Cmd+Shift+K

5、锁定状态下,常见行为如下:

  • 普通 Enter:不发送。
  • Ctrl+Enter / Cmd+Enter:不发送。
  • 其他会触发官方提交路径的 Enter:不发送。
  • Shift+Enter:仍然插入换行。
  • IME 组合期间的 Enter:用于候选词确认,不受影响。
  • @ 文件 / Session 候选菜单打开时:Enter 确认候选,不受影响。
  • / 命令菜单打开时:Enter 确认候选,不受影响。
  • 鼠标点击官方发送按钮:仍可发送。

6、锁状态按会话独立保存。刷新页面或重启后,锁状态自动清除。

适用场景与注意

这个插件适合以下场景:

  • 在聊天输入框中编辑长提示词、代码或结构化文本。
  • 使用中文输入法,不希望确认候选词时直接发送消息。
  • 希望保留官方输入框、候选菜单、命令菜单和发送按钮,只增加键盘防误触能力。

使用前需要注意:

  • 插件以当前 dsh 进程权限运行,安装前应检查源码与许可证。本项目许可证为 MIT。
  • 锁只防止键盘误触,不阻止鼠标点击官方发送按钮。
  • 快捷键仅在焦点位于聊天输入框卡片内时生效。
  • IME 组合期间快捷键不触发。
  • 长按快捷键产生的自动重复会被忽略。
  • 锁状态仅保存在浏览器内存中,刷新页面或重启后自动清除。
  • 插件默认零配置,不需要 API Key、设置项或 settings.yaml

卸载

如果不再使用这个插件,执行:

dsh plugin --profile web remove dsh-enter-lock

链接

GitHub 仓库:

https://github.com/AIFireForAll/dsh-enter-lock.git
羽毛球分组比赛记分
小程序二维码

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

小夜