前言¶
在 DeepSeek Harness(DSH)裏寫 prompt、改配置或和智能體對話時,輸入框的快捷鍵往往沿用宿主或引擎的默認映射:有的環境 Enter 直接發送,Shift+Enter 換行;也有人習慣 Ctrl+Enter(macOS 上爲 ⌘+Enter)發送。習慣不一致時,要麼誤觸發送,要麼多按一次組合鍵,打斷思路。引擎本身不一定暴露這三組手勢的獨立開關,社區插件 dsh-keys-setting 的作用,就是在 DSH 設置窗口 →「通用」 裏爲 Enter、Shift+Enter、Ctrl/Cmd+Enter 分別選擇「發送消息」或「換行」,且默認與引擎原生行爲一致,不改設置時不額外干預。
下面介紹該插件的定位、實現要點、安裝方式與配置字段。事實以 GitHub 倉庫 README 與 package.json(當前版本 0.2.6)爲準;社區目錄頁見 SkillHub(獨立站點,與 DeepSeek / 幻方無官方從屬關係)。
這是什麼¶
dsh-keys-setting 由維護者 itchenshi 發佈,分類爲客戶端插件:面向 DSH 的 Web 頁面半邊,在「設置 → 通用」增加一行「按鍵設置」,用三個下拉框分別綁定 Enter、Shift+Enter、Ctrl+Enter(macOS 爲 ⌘+Enter)的語義。它只重映射手勢,不修改輸入內容;發送與換行仍由引擎決定。
核心功能¶
設置界面¶
- 在「設置 → 通用」增加「按鍵設置」,三個手勢各有一個選擇器:發送消息 / 換行。
- 在設置窗口裏修改後立即生效。
頁面側行爲¶
- 在捕獲階段監聽輸入框的
keydown:僅當你的選擇與引擎原生行爲不同時才攔截,並重新派發引擎對應的另一種手勢。 - 輸入法(
isComposing/ keyCode 229)與 Alt+Enter 一律放行,避免干擾中文輸入等特殊場景。 - 默認值等於引擎原生行爲;未改設置時干預次數爲 0。
宿主側與存儲¶
- 偏好落在 profile 的
cordis.patch.yml裏id: composer-keys這一行的config(由插件Configschema 聲明);插件不直接讀寫任意文件。 - 宿主提供
GET/POST /composer-keys,走引擎信任圍欄(Host 白名單 + 瀏覽器會話 cookie);無 cookie 的裸請求會得到 401。插件無對外網絡請求。 config.enabled === false時宿主不註冊路由、也不顯示設置行。
安裝與啓用¶
DSH 生態理念是「一切皆插件」;安裝前建議自行查看倉庫源碼與 MIT 許可證,並理解插件以當前 dsh 進程權限運行。
DSH Ready GUI(推薦)¶
插件隨 GUI 內置。打開 GUI → 設置窗口 →「第三方插件」勾選按鍵設置,裝完按提示刷新頁面(該插件帶頁面半邊)。
其它 DSH 宿主(dsh web / CLI)¶
任選一條命令;裝到的都是本倉庫完整內容(含 cordis.patch.yml),裝完無需額外配置。本包不在 npm(registry.npmjs.org 查無此包)。
# 推薦:直接從 GitHub 裝
dsh plugin --profile web add github:itchenshi/dsh-keys-setting
# 備選:從本倉庫 Release 的 tarball 裝
dsh plugin --profile web add https://github.com/itchenshi/dsh-keys-setting/releases/download/v0.2.6/dsh-keys-setting-0.2.6.tgz
典型用法¶
- 打開 DSH 設置窗口 →「通用」,找到「按鍵設置」。
- 按需爲 Enter、Shift+Enter、Ctrl/Cmd+Enter 分別選擇「發送消息」或「換行」。
- 回到對話輸入框驗證:只有與默認不同的映射纔會被插件改寫。
若習慣手改 profile,可編輯 cordis.patch.yml 中 id: composer-keys 的 config。宿主半邊在頁面窗口重新獲得焦點時重讀配置,切回 Harness 窗口即生效,一般不必刷新整頁。
配置說明¶
cordis.patch.yml 裏 id: composer-keys 一行的 config 不能省略;缺少則沒有設置條目,宿主無法讀寫偏好。
| 鍵 | 默認 | 說明 |
|---|---|---|
enter |
send |
send = 發送消息,newline = 換行 |
shiftEnter |
newline |
Shift+Enter 同上 |
ctrlEnter |
send |
Ctrl+Enter(macOS ⌘)同上 |
兼容性與常見問題¶
- 需要 DSH >= 0.2.0-rc.2(0.2.0 更換了設置服務 API,0.1.x 無法保存偏好)。
- Node >= 20;運行時無額外 npm 依賴,schema 使用引擎自帶的
@deepseek-ai/schemastery。
改完沒生效? 設置窗口內改應立即生效;手改文件後需切回 Harness 窗口觸發重讀。宿主啓動日誌應出現 [composer-keys] route ready at /composer-keys (entry composer-keys),沒有則說明插件未加載。
引擎過舊? 更舊引擎使用已移除的舊設置服務(register / get / section),插件無法保存偏好。
適用場景與注意¶
- 適合:長期在 DSH Web 界面輸入、希望三組 Enter 相關手勢與默認不一致、又不想改引擎核心的開發者或日常用戶。
- 注意:僅重映射按鍵語義,不改變消息內容與發送邏輯;與 IME、
Alt+Enter相關的邊界已由插件放行。 - 安裝與啓用前請閱讀 GitHub 源碼 與許可證;社區目錄 itchenshi/dsh-keys-setting 便於檢索,安裝命令仍以 README 爲準。
結尾¶
經過上面的步驟,你可以在 DSH 通用設置裏統一 Enter 家族快捷鍵,且默認零干預。倉庫:https://github.com/itchenshi/dsh-keys-setting;目錄頁:https://www.skillhub.cn/plugins/itchenshi/dsh-keys-setting。