前言¶
在 DSH 的插件化思路里,聊天輸入框可以擴展。若希望把語音輸入放進 dsh web 的聊天輸入框,而不是依賴外部工具單獨處理粘貼,voco-input-sh 提供了一種做法:在輸入框旁增加麥克風按鈕,啓動 VocoType 的本地識別,再把識別結果插入輸入框草稿。
下面介紹這個插件的定位、安裝方式和典型用法。
這是什麼¶
voco-input-sh 是一個 dsh web 插件包。它負責檢測、啓動和自動部署 VocoType,讀取 VocoType 識別日誌,將識別結果插入聊天輸入框,並在草稿已包含相同文本時去重。
倉庫地址爲:
https://github.com/Nothree-code/voco-input-sh
許可證爲 MIT。package.json 中版本號爲 0.2.0,依賴項包含 react ^18.2.0。
核心功能¶
這個插件主要提供以下能力:
- 在輸入框工具行右側提供麥克風按鈕,使用千問風格圖標,hover 高亮,錄音中紅點呼吸。
- 在輸入框上方彈出錄音面板,顯示波形動畫、狀態提示和累計插入條數。
- 檢測 VocoType 進程;未運行時自動啓動;未安裝時自動下載官方安裝包並靜默安裝。
- 基於 VocoType 的開源離線語音輸入能力,支持 Paraformer 中文識別、FSMN-VAD 和 CT-Transformer 標點。
- 讀取 VocoType 識別日誌,並按 mtime 優化輪詢,日誌文件無變化時不重複讀取。
- 識別結果自動插入輸入框草稿;若草稿已包含該文本,則跳過,避免雙份。
- 一次啓動後可持續輸入多句,再次點擊按鈕或關閉面板結束。
- 面板出錯時提供重試按鈕。
- 日誌路徑基於
%LOCALAPPDATA%,exe 探測多個常見安裝位置。
安裝與啓用¶
安裝流程屬於本地 profile 安裝,不是一條單命令插件添加流程。先準備 pnpm,並把包放入 dsh profile 的 packages/ 目錄。
先確認目錄,例如:
C:\Users\<你>\.dsh\profiles\web\packages\voco-input-sh
然後在 profile 根目錄執行安裝:
cd <你的 profile 目錄> # 例如 C:\Users\<你>\.dsh\profiles\web
pnpm add "file:./packages/voco-input-sh"
接着在 cordis.patch.yml 添加掛載行:
- insert:
- id: voco-input-sh
name: 'voco-input-sh'
最後重啓 dsh web。經過上面的步驟,聊天輸入框工具行會顯示麥克風按鈕。
典型用法¶
1、點擊輸入框右側麥克風按鈕,彈出錄音面板。
2、按住 AltRight 說話,鬆開。
3、識別文字自動插入輸入框草稿。
4、如果 VocoType 已把文字粘貼到輸入框,插件會在草稿已包含該文本時跳過插入。
5、連續說多句時,識別結果會按順序全部插入。
6、再次點擊麥克風按鈕,或點擊面板關閉按鈕,結束本次持續輸入。
適用場景與注意¶
這個插件適合希望在 dsh web 聊天輸入框中使用持續語音輸入,並接受 VocoType 自動部署的用戶。
使用前注意以下幾點:
- 需要
pnpm。 - VocoType 會自動部署。首次會自動下載約 25MB 安裝包並靜默安裝;模型約 1.6GB,由 VocoType 首次啓動時下載。
- 安裝命令示例使用 Windows 路徑,並涉及 PowerShell 與
%LOCALAPPDATA%路徑。 - 插件會以當前 dsh 進程權限運行。安裝前建議檢查源碼、依賴和 MIT 許可證。
package.json中版本爲0.2.0,依賴項包含react ^18.2.0。- 安全設計包括:部署操作使用 POST 並校驗 anti-CSRF token;安裝包固定 SHA-256 校驗;下載鏈路移除
--ssl-no-revoke;路由有 Origin/Sec-Fetch-Site 守衛;PowerShell 調用有 180s 超時;客戶端 ensure 請求有 120s 超時。 - 日誌按 UTF-8 讀取失敗時,會自動改用 GBK 解碼。
結尾¶
voco-input-sh 的價值在於把 VocoType 的離線語音識別結果接入 dsh web 輸入框,減少重複粘貼和外部工具切換。DSH 社區目錄是獨立站點,與 DeepSeek / 幻方沒有官方從屬關係;當前已覈實資料未提供具體目錄頁地址。倉庫地址:
https://github.com/Nothree-code/voco-input-sh