dsh-hotkeys:爲 DSH 提供全局快捷鍵

前言

DeepSeek Harness(DSH)社區常用插件方式擴展客戶端能力。csiroqa/dsh-hotkeys 面向 DSH 的 web 使用場景,把切換會話、發送/清空草稿、停止生成、複製會話、歸檔會話等操作綁定到鍵盤,減少鼠標往返。它更適合需要在 DSH 中高頻操作會話、並希望用快捷鍵替代部分點擊動作的開發者。

這是什麼

  • 插件:csiroqa/dsh-hotkeys
  • 維護者:csiroqa
  • 許可:MIT
  • 安裝對象:DSH web profile
  • 核心目標:爲 DSH 客戶端添加全局快捷鍵,並支持配置鍵位、sendMode、ignoreInputs

核心功能

會話導航

  • 會話切換:按側欄順序環繞切換,按住可連續切換。
  • 新會話:與側欄“新建會話”同一入口。

草稿與發送

  • 發送草稿:send 等價 composer 加速 Enter;草稿爲空且有排隊消息時,把排隊消息推入運行中的回合;發送/受理進行中自動攔截。
  • 清空草稿:只清文本,保留已附加圖片。

會話管理

  • 停止生成:停止當前會話運行中的回合;僅普通會話與 continuable 子代理可打斷;未運行時給出頁面內提示。
  • 複製會話:fork 當前會話(標題遞增)並跳轉到新會話。
  • 歸檔會話:調用原生 workspaces.archiveSession,將當前會話移入“已歸檔”。

/hotkeys 命令

在會話中輸入 /hotkeys,可列出全部 8 個動作的當前生效鍵位,包含用戶自定義覆蓋。

觸發守衛

  • IME 組合輸入中不觸發。
  • AltGr 鍵擊不觸發。
  • 已被消費(defaultPrevented)的按鍵不觸發。
  • 開啓 ignoreInputs 時,純按鍵組合(無 Ctrl/Cmd/Alt)在輸入框/文本域內不觸發。
  • 按住不放只放行導航類動作。
  • 非法/重複鍵位會在控制檯 warn,並指明動作名。

安裝與啓用

先準備環境:

  • Node.js >= 22
  • pnpm
  • 本機 deepseek-harness 源碼檢出(依賴以 link: 指向 ../deepseek-harness)

然後執行:

git clone https://github.com/csiroqa/dsh-hotkeys.git
cd dsh-hotkeys
pnpm install
pnpm build

安裝進 web profile。插件以 link: 指向當前倉庫目錄,因此命令使用當前目錄:

dsh plugin --profile web add link:$(pwd)

重啓 dsh web,並在瀏覽器中執行 Ctrl+F5 硬刷新。之後如果需要改源碼,重新 pnpm build 並硬刷新即可生效。

典型用法

1、打開任意會話,使用 Ctrl+Alt+[ / Ctrl+Alt+] 切換會話;使用 Ctrl+Alt+N 新建會話。

2、輸入草稿後使用 Ctrl+Enter 發送;使用 Ctrl+. 停止生成;使用 Ctrl+Shift+F 複製會話。

3、使用 Ctrl+Alt+A 歸檔當前會話,會話會移入側欄“已歸檔”。

4、輸入 /hotkeys 查看當前生效的全部快捷鍵。

鍵位中的 mod 在 Windows/Linux 上爲 Ctrl,在 macOS 上爲 ⌘。鍵位按 US 鍵盤佈局假設,shift 上檔字符會還原。

配置

鍵位、sendMode、ignoreInputs 通過 settings 命名空間持久化。

可以在 DSH 中通過“設置 > 通用 > 快捷鍵”進行可視化編輯:

  • 編輯各動作鍵位。
  • 一個動作支持多個鍵位,逗號分隔。
  • 輸入空串可禁用該動作,並重置回默認。
  • 調整 sendMode。
  • 打開或關閉 ignoreInputs。

也可以編輯 $DSH_HOME/settings.yaml 的 hotkeys: 段,配置鍵位、sendMode、ignoreInputs。

注意:cordis.patch.yml 的 insert config 段不達瀏覽器半區,鍵位配置請寫 settings.yaml。

sendMode 設爲 auto 時,與 composer 加速 Enter 行爲一致。ignoreInputs 用於控制純按鍵組合是否在輸入框/文本域內觸發。

適用場景與注意

適合經常使用 DSH web 會話、希望減少鼠標操作的人。該插件針對 DSH 0.1.1-rc.2 源碼檢出開發驗證,並在 @deepseek-ai/dsh@0.1.1-rc.2(npm 全局/npx 安裝)環境實測可用。平臺爲 Windows / macOS / Linux,Node.js 版本要求爲 >= 22。

需要注意:

  • 插件會在當前 dsh 進程權限下運行。安裝前請先檢查源碼與 LICENSE。
  • 它依賴 sessions / workspaces 兩個公開服務,以及一處 untyped 的 conversation.input 運行時面;ui-conversation 缺席時相關動作靜默降級。
  • 已知限制:slash 菜單打開時的拾取仲裁由 composer 私有持有,send 直接提交草稿而非拾取高亮項。
  • 快捷鍵只在本機頁面上生效,DSH 默認迴環綁定,不涉及任何網絡監聽。
  • 鍵位配置寫入 $DSH_HOME/settings.yaml,這是本機文件;請勿把 DSH 端口暴露到公網。

許可與鏈接

本項目使用 MIT License。使用、修改、引用或收錄時,請保留 LICENSE 文件與版權聲明,並標明出處(本倉庫鏈接)。

項目倉庫:https://github.com/csiroqa/dsh-hotkeys

羽毛球分组比赛记分
小程序二维码

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

小夜