dsh-stt-input:爲 DSH Web GUI 增加語音輸入

前言

DSH 的插件體系強調「一切皆插件」,Web GUI 的交互能力可以通過插件擴展。如果經常要在 DSH 的 Web GUI 裏填寫較長提示詞,直接打字可能不如聽寫方便;已有做法通常是先調用外部轉寫工具,再把結果複製回輸入框。下面介紹的 dsh-stt-input 插件把這一步放在 DSH 的 Web 輸入框內:點擊輸入框旁的麥克風按鈕開始錄音,停止後把識別文字填入輸入框。

這是什麼

baisama-cloud/dsh-stt-input 是 DeepSeek Harness(DSH)Web GUI 的語音輸入插件,許可證爲 MIT。它解決的是在 DSH Web GUI 中把語音轉成文字並寫入輸入框的問題。

插件註冊了三項界面位:

輸入框工具行的麥克風按鈕
輸入框下方的狀態條
設置頁中的「語音輸入」配置項

核心功能

兩種識別引擎

瀏覽器本地識別使用 Web Speech API(SpeechRecognition),Chrome/Edge 可用,零配置、無需 API Key,可邊說邊把中間結果寫進輸入框。

API 識別使用 MediaRecorder 錄音,通過 OpenAI 兼容接口轉寫,支持 OpenAI、Groq 或自定義服務。使用的接口爲:

/v1/audio/transcriptions

模型與配置

可選模型包括:

whisper-1
whisper-large-v3
whisper-large-v3-turbo
distil-whisper-large-v3-en

也可以使用自定義模型名。

可配置項包括:

服務預設
API Base URL
API Key
識別語言
寫入方式:追加到輸入框 / 替換輸入框內容

狀態與密鑰保存

輸入框下方顯示即時狀態條,包括錄音計時、識別中狀態與錯誤信息。

API Key 僅保存在頁面內存中,不落盤、不打日誌;非密鑰配置通過 localStorage 在刷新後保留。

安裝與啓用

安裝前確認 Node 環境滿足:

node >=18.18

下面按 tarball 方式安裝到 DSH web profile:

pnpm pack
# 把 dsh-stt-input-*.tgz 複製到 web profile 並添加依賴,
# 例如在 ~/.dsh/profiles/web 下:pnpm add ../path/to/dsh-stt-input-0.1.0.tgz
# 然後重啓 `dsh web`。

先打包插件,再把生成的 tarball 添加到指定 web profile 的依賴中,最後重啓 dsh web 使插件生效。

典型用法

1、打開 設置 → 語音輸入 選擇引擎。

2、如果使用瀏覽器本地識別,無需其他配置,僅支持 Chrome/Edge。

3、如果使用 API 識別,選擇預設(OpenAI 或 Groq)、選擇模型,並粘貼 API Key。Groq 的 whisper-large-v3 目前免費。

4、點擊輸入框旁的麥克風按鈕開始錄音,說話,再點一次停止;識別文字進入輸入框,回車發送。

Firefox 請使用 API 引擎。

適用場景與注意

該插件適合在 Chrome/Edge 中使用瀏覽器本地識別,或需要調用 OpenAI 兼容 Whisper 服務的場景。寫入方式可選擇追加到輸入框或替換輸入框內容,適合對草稿輸入已有內容的情況。

插件啓用後會以當前 dsh 進程權限運行,安裝前應檢查源碼、依賴與 MIT 許可證。

參考鏈接

社區目錄頁:https://www.skillhub.cn/plugins/baisama-cloud/dsh-stt-input

GitHub 倉庫:https://github.com/baisama-cloud/dsh-stt-input

目錄頁爲社區目錄,獨立站點,與 DeepSeek / 幻方無官方從屬關係。

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

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

小夜