前言¶
DeepSeek Harness Web 的聊天输入框通常用 Enter 直接发送消息。编辑长提示词、代码或结构化文本时,这个默认行为很容易造成误触;使用中文输入法时,Enter 也可能被用来确认候选词,而不是发送消息。
dsh-enter-lock 是一个 DeepSeek Harness Web 插件,给聊天输入框增加 Enter 发送锁。锁定后,会触发官方提交路径的 Enter 不再发送消息;解锁后,恢复原有 Enter 发送行为。
DSH 的扩展能力通常按插件方式组织。dsh-enter-lock 由 AIFireForAll 维护,许可证为 MIT。若通过 DSH 社区目录获取,目录是独立站点,与 DeepSeek / 幻方无官方从属关系。
插件定位¶
dsh-enter-lock 的核心目标只有一个:避免键盘误触导致消息提前发送。
它不替换官方输入框,使用官方 conversation.input.right 槽位,在聊天输入框附近提供一个锁形按钮。锁定后,插件只拦截真正会触发官方提交路径的键盘行为,保留原有输入、换行、候选词确认、候选菜单选择等操作。
插件默认零配置:不需要 API Key,不需要设置项,不写 settings.yaml,也不发起网络请求。
核心行为¶
dsh-enter-lock 提供以下能力:
- 在 DeepSeek Harness Web 聊天输入框增加 Enter 发送锁。
- 提供输入框旁的锁形按钮,用于锁定 / 解锁。
- 锁定后,普通
Enter、Ctrl+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或更新版本。 - 使用
webprofile。 - 使用基于 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