DeepSeek Harness (DSH) 的核心架構允許通過插件擴展 Web 界面。dsh-audio-input 是一個 Web 插件,它爲消息編輯器添加了一個麥克風按鈕。它使用 macOS 原生 Speech 框架 (SFSpeechRecognizer) 運行小型輔助進程,無需雲 API 密鑰,音頻不會離開機器。
核心功能¶
- 在消息編輯器中添加麥克風按鈕。
- 使用原生 Apple Speech 框架 (SFSpeechRecognizer)。
- 在 Mac 上運行小型輔助進程。
- 支持本地和遠程模式。
- 無需雲 API 密鑰,音頻不離開機器。
前置要求¶
- 在 macOS 上運行 dsh 服務器(Web 配置文件)。
- 遠程客戶端需要 macOS 以進行遠程語音識別。
- Xcode 命令行工具(僅用於從源代碼重新構建)。
安裝與配置¶
在服務器 Mac 上執行以下步驟。
1. 安裝插件¶
運行安裝命令,將插件添加到 Web 配置文件。
dsh plugin --profile web add link:/path/to/dsh-audio-input
2. 配置遠程令牌¶
編輯 ~/.dsh/profiles/web/cordis.patch.yml,添加 remoteToken 配置。這是遠程模式的安全密鑰。
- id: audio-input
config:
remoteToken: 'choose-any-secret-string'
3. 重啓服務¶
修改配置後,必須重啓 dsh web 服務。
# 停止服務 (Ctrl-C)
# 然後重新啓動
dsh web
遠程端設置¶
如果你需要從其他 Mac 進行語音輸入,必須在遠程 Mac 上配置輔助進程。
1. 下載輔助二進制¶
從服務器下載編譯好的二進制文件。
curl -o ~/dsh-audio-speech http://<SERVER-IP>:3080/audio-input/helper
chmod +x ~/dsh-audio-speech
2. 運行輔助進程¶
在遠程 Mac 上啓動輔助進程,指定服務器地址和令牌。
~/dsh-audio-speech --remote http://<SERVER-IP>:3080 --token 'choose-any-secret-string'
3. 授予系統權限¶
首次運行時,macOS 會提示授權麥克風和語音識別權限。請進入系統設置中的隱私與安全選項進行允許。
典型用法¶
- 點擊消息編輯器工具行右側的麥克風按鈕。
- 說話,轉錄文本會實時顯示在編輯器上方的預覽條中。
- 再次點擊麥克風按鈕停止錄音。
- 文本會自動插入到編輯器草稿中,檢查無誤後發送。
配置參考¶
在 cordis.patch.yml 的 config 節點下,可配置以下選項:
| Key | Default | Meaning |
|---|---|---|
| locale | ‘en-US’ | BCP 47 識別器區域設置,例如 ‘zh-CN’ |
| onDevice | false | 強制使用設備端識別(完全離線,語言支持較少) |
| remoteToken | ’‘ | 遠程輔助進程的共享密鑰,留空則禁用遠程功能 |
故障排查¶
- 運行報錯語法錯誤:下載的文件可能是 HTML 頁面而非二進制文件。請使用
file ~/dsh-audio-speech檢查是否爲Mach-O 64-bit executable arm64。 - 遠程離線:檢查遠程 Mac 上的輔助進程是否正在運行,且
--remote地址和--token與服務器配置一致。 - 權限被拒:請前往系統設置 → 隱私與安全,手動開啓麥克風和語音識別權限。
- 重複點擊提示:更新插件後請重啓
dsh web服務以加載新的客戶端包。
安全說明¶
remoteToken 是唯一的安全屏障,用於驗證遠程輔助進程與服務器之間的連接。請確保該密鑰的強度足以保護你的 dsh 服務。