DeepSeek Harness 插件:dsh-dictation-hotkey

前言

DeepSeek Harness (DSH) 採用插件化架構,允許通過 Web 界面進行智能體開發與交互。在 Web composer 場景下,頻繁切換輸入法或手動打字會影響交互效率。dsh-dictation-hotkey 旨在解決這一問題,提供一種基於快捷鍵的語音輸入方式,複用本地 SenseVoice 引擎,無需額外下載模型或調用雲端 API。

插件概述

該插件爲 DSH Web composer 提供“按住說話”功能。它不引入獨立的識別進程,而是直接驅動 DSH 官方 Web composer 內置的語音 Remote(SenseVoice),通過官方 API 將轉寫結果插入編輯器。

核心功能

  1. 模式控制:支持“按住說話”或“切換模式”。
  2. 發送策略:支持將轉寫內容“填充”到編輯器供檢查,或“立即發送”。
  3. 原生集成:複用官方語音輸入 bundle,不引入獨立的識別器進程。
  4. 原生插入:通過官方 API 將文本插入編輯器,保留光標位置和附件。
  5. 配置管理:快捷鍵、模式、行爲、提示音等配置存儲在瀏覽器本地。
  6. 多場景支持:在新建對話頁面也可工作(需有焦點編輯器)。
  7. 診斷日誌:提供音量、時長、推理時間等診斷信息。

安裝與啓用

插件依賴 DSH 的官方語音輸入 bundle,安裝前需確保環境滿足要求。

前置條件
* DSH 版本:0.2.0-rc.2 或兼容版本。
* 插件管理器中啓用“語音輸入” bundle。

安裝步驟
1. 打開終端,執行安裝命令:

    dsh plugin --profile web add github:AndyYang12345/dsh-dictation-hotkey
  1. 重載 DSH Web UI。

使用方法

安裝後,在 composer 下方的工具欄會出現一個“🎙 Dictation” pill。

基本操作
* 按住 Ctrl+Shift+Space,開始說話,鬆開後文本插入編輯器。
* 點擊 pill 圖標可配置快捷鍵、發送行爲(填充/發送)、模式(按住/切換)、提示音和診斷開關。

常用配置項
配置存儲在瀏覽器 localStorage 的 dsh-dictation-hotkey.settings 鍵下。

配置項 默認值 說明
hotkey Ctrl+Shift+Space 快捷鍵組合,支持 + 分隔。
mode hold hold (按住錄音) / toggle (點擊開始/停止)。
autoSend false 是否在插入文本後自動發送。
beep true 是否播放提示音。
language (空) 識別語言提示,空則跟隨 DSH 設置。
providerId (空) 語音提供者 ID。
minRecordMs 150 最小錄音時長(毫秒),過短會被拒絕。
tailMs 180 鬆開按鍵後保留的音頻時長(毫秒)。
maxRecordSeconds 60 最大錄音時長(秒)。
debug false 是否開啓診斷日誌。

診斷與調試

在 pill 配置界面開啓“診斷日誌”後,每次按鍵操作都會記錄一條結構化日誌。

日誌事件類型
* start: 麥克風啓動,記錄觸發按鍵。
* stop: 鬆開按鍵,記錄錄音時長。
* ok: 識別成功,記錄音頻時長、推理時間、字符數、音量峯值。
* empty-transcript: 返回空文本,記錄音量峯值。
* skip: 被閾值拒絕(如錄音過短、無音頻、語音 Remote 未掛載)。
* transcribe-failed / mic-failed / insert-conflict / finish-threw: 對應的失敗事件。

限制與注意事項

  1. 快捷鍵範圍:快捷鍵僅在 DSH 頁面獲得焦點時有效,不支持系統級全局快捷鍵。
  2. 麥克風權限:麥克風權限僅授予 DSH 域,首次使用可能需要點擊官方麥克風按鈕授權。
  3. 錄音時長:受 maxRecordSeconds(默認 60s)及 Remote 音頻限制。
  4. 開發環境:本地開發需要 Node.js 版本 ^22.19.0 或 >=24.0.0。

結語

該插件通過複用官方 SenseVoice 引擎和 Web composer API,降低了語音輸入的門檻,適合需要頻繁進行語音交互的開發場景。

相關鏈接
* 插件目錄頁
* GitHub 倉庫

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

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

小夜