前言¶
DeepSeek Harness(DSH)的 Web 模式默認快捷鍵是 Enter 發送消息。對於需要編寫多行提示詞或複雜數據結構的開發者來說,這降低了輸入效率。DSH 的生態理念是「一切皆插件」,dsh-composer-modenter 就是爲此設計的 Web 插件,它允許你在 Web 界面中反轉輸入框的按鍵行爲。
這是什麼¶
dsh-composer-modenter 是一個由 yonchicy 維護的 DSH Web 插件。它通過瀏覽器端的邏輯修改,改變了 Web 輸入框的默認按鍵響應:將 Enter 鍵由「發送」改爲「換行」,同時保留了發送快捷鍵和菜單選擇功能。
核心功能¶
該插件主要提供以下能力:
* 插入換行:在輸入框內按 Enter 鍵插入換行符。
* 發送消息:在 macOS 上按 Cmd+Enter,在 Linux/Windows 上按 Ctrl+Enter 發送消息。
* 菜單選擇:在斜槓菜單打開時,按 Enter 仍可選中高亮條目。
* 輸入法兼容:不干擾輸入法的組合輸入(如中文選詞)。
安裝與啓用¶
使用官方命令安裝該插件:
dsh plugin --profile web add github:yonchicy/dsh-composer-modenter
安裝或更新後,需要重啓 Web GUI 才能生效。
典型用法¶
- 打開 DSH Web GUI。
- 在輸入框內輸入多行文本,每行按 Enter 換行。
- 按下 Cmd/Ctrl+Enter 發送消息。
- 如果斜槓菜單已打開,按 Enter 會選中當前高亮的命令。
工作原理¶
插件邏輯完全運行在瀏覽器端。它在 document 上註冊捕獲階段的 keydown 監聽器,對輸入框內的按鍵進行攔截和處理:
1. 修飾鍵檢查:跳過帶有修飾鍵(Shift、Meta、Ctrl、Alt)的事件,保證 Cmd/Ctrl+Enter 照常發送。
2. 輸入法檢查:跳過輸入法組合事件(isComposing 或 keyCode === 229),確保中文等輸入法不受影響。
3. 目標元素檢查:僅處理 [data-composer-input] 元素內的事件。
4. 菜單狀態檢查:當斜槓菜單打開時,不干預按鍵,允許 Enter 正常選中菜單項。
5. 換行實現:其餘情況下,插件將事件僞裝爲 Shift+Enter;如果原生字段被凍結,則使用 preventDefault() + insertLineBreak 插入換行。
適用場景與注意¶
該插件適合習慣於 IDE 或代碼編輯器快捷鍵(Enter 換行)的開發者,用於在 Web 界面進行多行提示詞編寫。
需要注意以下幾點:
* 插件邏輯在瀏覽器端運行,不依賴後端。
* 安裝後必須重啓 Web GUI。
* 插件遵循 MIT 開源協議。
短結尾¶
通過 dsh-composer-modenter,Web 界面的交互體驗得到了改善。如果你正在尋找一種方式來優化 Web 模式的輸入流,可以查閱社區目錄或源碼倉庫。