@zhangbo-cn/dsh-client-ui-voice-input:給 DeepSeek Harness Web 增加 composer 語音輸入與回覆朗讀

前言

DeepSeek Harness 的插件機制允許把客戶端能力掛進 Web UI。對於主要在 composer 中寫消息的使用者來說,語音轉草稿、按住說話、助手回覆朗讀,會比純鍵盤輸入多一種交互方式。下面介紹 @zhangbo-cn/dsh-client-ui-voice-input,它由 Zhangbo-cn 維護,以 MIT 許可證發佈,主要作用於 DeepSeek Harness Web 的 composer 區域。

這是什麼

該插件在 composer 工具行加入一個線性 mic 按鈕。它做三件事:把說話內容逐字寫入草稿;支持按住 mic 錄音並鬆開發送;在滿足條件時朗讀助手回覆。

識別通過瀏覽器 Web Speech API 運行,不需要 API key。回覆朗讀優先走宿主 Edge TTS 的 /api/tts,瀏覽器 speechSynthesis 作爲 fallback。

核心能力

點按監聽

1、點按 mic 開始監聽,圖標進入 DeepSeek 藍並脈衝。
2、說話後,識別結果逐字寫入草稿;mic 在靜默期間仍保持監聽。
3、可以隨時用 composer 的發送按鈕發送,也可以繼續追加語音。
4、再次點按 mic 停止監聽。

靜默結束時,識別段會自動重啓,用於跨過靜默保持監聽。資料說明中把每段 continuous: false 描述爲有意選擇,以避免 continuous: true 在某些瀏覽器下不返回 onresult 的問題。

與 composer 的關係

語音結果追加到當前草稿,而不是覆蓋已有內容。發送後草稿清空;如果繼續監聽,則在新的 recognizer 上繼續,不把舊語音文本回填到輸入框。

按住說話

按住 mic 約 250 ms 以上並開始說話,鬆開後發送。發送後,如果最近 5 分鐘內使用過 mic,則下一次助手回覆啓用朗讀;未最近使用 mic 的純打字發送不觸發回覆朗讀。

可選自動發送

配置 autoSendOnSilenceMs 後,停止說話達到該時長會自動發送消息。默認值爲 0,表示關閉。

回覆朗讀

助手回覆在模型生成過程中按完整句子進入朗讀隊列;最後一句不完整內容在生成結束時朗讀。

朗讀期間暫停識別,避免揚聲器回聲;朗讀結束後,如果原本處於監聽狀態,則恢復識別。點按 mic 可以停止朗讀。

安裝與啓用

先執行安裝命令:

dsh plugin add @zhangbo-cn/dsh-client-ui-voice-input

該命令按 npm 包名安裝插件。刷新 Web UI 後,composer 工具行出現 mic 按鈕即可開始使用。

注意需要使用 0.1.1+0.1.0 曾以錯誤 ModuleLoader id 註冊瀏覽器 bundle,導致 Harness 報出 loaded without registering "@zhangbo-cn/dsh-client-ui-voice-input"。如果停留在 0.1.0,先升級/重裝,再硬刷新 Web UI。

從 DeepSeek Harness checkout 掛載

如果是從 DeepSeek Harness checkout 開發,而不是直接安裝 npm 包,可以在 web-app browser roster 中掛載該包:

- id: ui-voice-input
  name: '@zhangbo-cn/dsh-client-ui-voice-input'

爲了讓回覆朗讀走更可靠的宿主 Edge TTS 路徑,同時掛載:

- id: tts-edge
  name: '@deepseek-ai/dsh-tts-edge'

該掛載用於註冊 /api/tts。沒有它時,回覆朗讀仍可使用瀏覽器 speechSynthesis,但資料說明其效果不如宿主 Edge 神經語音。

經過上面的掛載步驟後,使用倉庫構建客戶端 bundle:

pnpm --filter @zhangbo-cn/dsh-client-ui-voice-input run bundle

典型配置

可在插件配置中設置識別語言、流式中間結果和自動發送靜默窗口:

- id: ui-voice-input
  name: '@zhangbo-cn/dsh-client-ui-voice-input'
  config:
    language: 'zh-CN'
    interimResults: true
    autoSendOnSilenceMs: 0

默認值爲:languagezh-CNinterimResultstrueautoSendOnSilenceMs0(關閉)。

適用場景與注意

該插件適合需要在 DeepSeek Harness Web composer 中使用語音輸入、按住說話發送、或希望助手回覆自動朗讀的場景。由於它在客戶端瀏覽器中運行識別,依賴瀏覽器對 Web Speech API 的支持。

Firefox 的 mic input 不受支持,這是瀏覽器限制,不是插件問題;插件會 feature-detect 並禁用 mic,並給出提示。回覆播放仍可通過 /api/ttsspeechSynthesis

已抓取資料中的 package.json 顯示部分 peerDependencies,包括 @deepseek-ai/cordis ^4.0.1,以及 @deepseek-ai/dsh-client-locale@deepseek-ai/dsh-client-runtime 的 rc 版本要求;資料末尾被截斷,完整依賴以倉庫 package.json 爲準。

安裝前建議檢查源碼與 MIT 許可證。該插件以當前 dsh 進程權限運行,因此安裝前應確認來源可信。

相關頁面

社區目錄:https://www.skillhub.cn/plugins/Zhangbo-cn/dsh-voice-input-plugin
GitHub:https://github.com/Zhangbo-cn/dsh-voice-input-plugin

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

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

小夜