AIFireForAll/dsh-enter-lock

DeepSeek Harness plugin that locks the web chat composer Enter-send. Toggle with a lock button or Ctrl+Shift+K to prevent accidental sends while typing or editing long prompts; unlock to send. IME-safe and per-session.

Project Overview项目介绍

This is a purpose-built plugin for DeepSeek Harness that adds an Enter-send lock feature to the web chat composer. It can be installed directly via the DSH CLI from the public GitHub repository, or cloned and installed from a local directory. To install from GitHub, run the command dsh plugin --profile web add github:AIFireForAll/dsh-enter-lock in your terminal, and you can lock the install to a specific commit for reliable, repeatable deployments. After installation completes, you will need to restart your DSH web instance and force refresh the browser page for the plugin to take effect.

It is designed for any DSH web user who frequently encounters accidental message sends from mis-pressing Enter. This is especially common when typing with Chinese IMEs, where Enter is used to confirm candidate words, or when editing long multi-line prompts, code snippets, or structured text. The plugin adds a lock toggle button in the official input bar slot, and you can also toggle the lock state with a keyboard shortcut: Ctrl+Shift+K on Windows and Linux, or Cmd+Shift+K on macOS. Each chat session keeps an independent lock state, so switching between sessions will not alter the saved setting for any conversation.

The plugin requires DeepSeek Harness version 0.1.0-rc6 or newer, and only works with the DSH web profile on Chromium-based browsers like Chrome or Edge. It requires no external configuration, API keys, or extra dependencies, and it does not store any state outside of your browser’s in-memory cache. It does not replace the default DSH input composer, so all native DSH features like command menus, file attachments, and send queues remain fully functional. The project is released under the permissive open source MIT license, with no hidden costs or usage restrictions.

这是专为 DeepSeek Harness Web 开发的原生插件,为聊天输入框新增了 Enter 发送锁功能,解决了中文输入法选词确认、长提示词编辑时误按 Enter 提前发送消息的常见问题。插件会在输入框右下角、发送按钮旁的官方预留槽位注册一个锁形按钮,用红色填充表示锁定状态、灰色描边表示解锁状态,鼠标悬浮还会显示状态提示文字。

锁定状态下,用户仍可正常编辑输入框内容,所有会触发消息发送的 Enter 操作都会被拦截,但 Shift+Enter 换行、输入法候选词确认、@ 文件/会话候选选择等常用操作完全不受影响。锁状态会按每个会话独立保存,切换会话不会互相干扰,用户可通过点击按钮或快捷键切换状态,快捷键仅在输入框获得焦点时生效,避免误触发。

该插件要求 DeepSeek Harness 版本不低于 0.1.0-rc.6,仅支持 web 配置档,需在基于 Chromium 的现代浏览器中运行。可通过 dsh CLI 直接从 GitHub 仓库或本地目录安装,默认零配置,无需额外设置。锁状态仅保存在浏览器内存中,不会写入本地配置或发起网络请求,项目以 MIT 许可开源,无使用成本。

Pre-install check安装前体检Compatibility · Security兼容性 · 安全性 1 warning1 项注意
  • Only 4 stars - very few users, little community feedback星标只有 4,几乎没人在用,遇到问题缺少社区反馈
DSH walks through these 9 checksDSH 会逐条核对这 9 项

Compatibility兼容性

  • DSH, Node, OS and profile requirementsDSH 版本 / Node 版本 / 操作系统 / profile 是否满足要求
  • External dependencies and runtimes (Electron / Python / Docker, ...)外部依赖与运行时(Electron / Python / Docker 等)是否齐备
  • Conflicts with installed plugins: command names, skill / tool names, ports, duplicate MCP registration与已装插件是否冲突:命令名、skill / tool 重名、端口占用、重复 MCP 注册

Security安全性

  • Repo matches the facts registered here; archived or abandoned?仓库是否与页面登记一致,是否归档或长期停更
  • Safety of preinstall / install / postinstall and install.sh / setup.ps1preinstall / install / postinstall 与 install.sh、setup.ps1 是否安全
  • curl|bash, download-then-execute, obfuscation, unrelated domains → stop immediatelycurl|bash、下载即执行、混淆代码、无关域名 → 立刻停止
  • Typosquatting or unmaintained packages among the new dependencies新增依赖里有没有 typosquatting 或无人维护的包
  • Requested permissions vs. what the feature actually needs申请了哪些权限、是否超出功能所需(filesystem / network / shell / clipboard)
  • Any sudo / admin requirement, plus uninstall and rollback是否要求 sudo / 管理员权限,以及卸载与回滚方式

Anything uncertain must be marked unknown with a note on how to confirm it. This site's signal screen is a static snapshot, not a security audit.拿不准的必须标「未知」并说明要我怎么确认。本站的信号筛查是静态快照,不能替代安全审计。

Or use CLI install (for developers)或使用命令行安装(适合开发者)

CLI Install命令行安装

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

把 AIFireForAll/dsh-enter-lock 加入你的 DSH 配置(web profile)即可启用。

READMEREADME

dsh-enter-lock

中文 | English

A DeepSeek Harness plugin that adds an Enter-send lock to the web chat composer.

DeepSeek Harness Web 插件:给聊天输入框增加一个 Enter 发送锁。

  • 点击输入框旁的锁形按钮,即可锁定/解锁。
  • 锁定后仍然可以正常编辑输入框中的内容,但按 Enter 不会发送消息。
  • 再次点击按钮即可解锁,恢复 Enter 发送。

功能起因

DeepSeek Harness Web 的输入框默认在按下 Enter 时立即发送消息。以下场景很容易误触:

  • 使用中文输入法时,按 Enter 只是为了确认候选词,但消息被直接发送;
  • 编辑长提示词、代码或结构化文本时,想继续编辑,却误按 Enter;
  • 输入框中的内容还没有编辑完,就意外进入了发送流程。

该插件补上了“发送前先解锁”这一层保护。

聚焦的功能

  • 锁形按钮:注册在官方 conversation.input.right 槽位,显示在输入框右下角、发送按钮附近;锁定状态为醒目的红色填充。
  • 按会话隔离:每个会话独立保存锁状态,切换会话互不影响。
  • 不替换官方输入框:只拦截键盘提交路径,保留官方输入状态机、命令菜单、队列、附件等能力。
  • 中文输入法友好:IME 组合期间的 Enter 永远放行。
  • 快捷键:Ctrl+Shift+K(Windows / Linux)/ Cmd+Shift+K(macOS)锁定/解锁,焦点需位于输入框卡片内。
  • 与 at file(@ 文件候选)兼容:锁定状态下打开 @ 文件/Session 候选菜单时,按 Enter 仍可正常确认选中的文件/会话——锁只拦截真正会发送的 Enter,不干扰候选选择。

状态样式说明

状态 锁图标样式 含义
解锁(普通状态) 灰色描边图标 当前 Enter 可正常发送消息
锁定(关锁状态) 红色填充 + 白色锁图标 当前 Enter 无法发送消息

鼠标悬浮到锁图标上时,tooltip 会显示当前状态的提示:

  • 解锁:已解锁,当前 Enter 可正常发送消息
  • 锁定:已锁定,当前 Enter 无法发送消息

可以防止什么行为

锁定状态下,以下键盘发送行为都会被阻止:

  • 普通 Enter 发送;
  • Ctrl+Enter / Cmd+Enter 发送;
  • 其他会触发官方提交路径的 Enter 组合;
  • 尚未编辑完成的输入内容被意外提交。

同时保留这些正常行为:

  • Shift+Enter 仍然插入换行;
  • 输入法候选词确认的 Enter 不受影响;
  • @ 文件/Session 候选菜单(at file)、/ 命令菜单打开时,Enter 确认候选不受影响;
  • 输入框内容的编辑、复制、粘贴、附件操作不受影响;
  • 鼠标点击官方发送按钮仍然可以发送——锁只防键盘误触。

快捷键

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

仅在焦点位于聊天输入框卡片内时生效:处理器需要从当前焦点元素所在的输入框卡片解析会话 id,焦点在聊天区或侧边栏时不会切换。IME 组合期间不触发,长按的自动重复(key repeat)被忽略。

环境要求

  • DeepSeek Harness 0.1.0-rc.6 或更新版本;
  • web profile;
  • 基于 Chromium 的现代浏览器(Chrome / Edge 均可)。

安装

方式一:从本仓库 GitHub 安装

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

建议锁定到某个 commit 以保证可重复安装:

dsh plugin --profile web add 'github:AIFireForAll/dsh-enter-lock#<commit-sha>'

方式二:从本地目录安装

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

验证安装

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

Showing the opening section of the README — the full document lives in the repository以上为 README 开头摘要,完整文档在仓库内 · View the full README on GitHub →在 GitHub 查看完整 README →

← 上一个 Prev dsh-powershell-check 下一个 Next dsh-workspace-hygiene →