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
羽毛球分组比赛记分
小程序二维码

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

小夜