前言¶
在 DeepSeek Harness(DSH)裏和智能體對話,常見做法是切到 DSH 窗口再輸入或說話。若你正在玩遊戲、全屏應用或其它軟件佔着前臺,按熱鍵(例如 F9)觸發語音識別後,如何把識別出的文字送進當前 DSH 會話,又不必搶焦點、也不必用鍵盤模擬?外部 ASR 工具往往能輸出文本,但缺少一條穩定、只在本機生效的投遞通道。
下面介紹的 dsh-voice-inject 是社區維護者 nanchen8888 提供的 DSH 客戶端類插件:在本機 127.0.0.1:8790 上提供 HTTP 接口,把外部語音識別結果直接寫入目標會話,宿主側完成注入,不依賴前臺焦點切換。
這是什麼¶
- 定位:把外部語音識別結果注入 DSH 會話的本地 Cordis 插件(bundle)。
- 維護者:nanchen8888。
- 倉庫與目錄:GitHub、SkillHub 目錄頁(社區插件站點,與 DeepSeek / 幻方無官方從屬關係)。
- 當前 package 版本:
0.1.0(以倉庫package.json爲準)。 - 許可證:MIT。
核心功能¶
插件啓動後僅監聽本機地址,不對外網開放。README 中列出的 HTTP 能力如下。
文本注入¶
- 端點:
POST /inject - 作用:把一段文本投遞到 DSH 會話。
- Body 可帶可選字段
sessionId;若不傳,按「最近更新的會話 →voice-target.json中釘住的會話」選擇目標。
TTS 開關¶
- 端點:
POST /tts/toggle或POST /tts - 作用:翻轉 TTS 開關,並寫回
<DSH_HOME>/tts/config.json。
狀態查詢¶
- 端點:
GET /state - 作用:返回當前 TTS 狀態與目標會話信息。
運行環境要求(來自 package.json):Node >=22,DSH >=0.2.2-rc.1;入口爲 lib/index.js,僅依賴 Node 內置模塊。
路徑約定¶
插件按 Windows 本機環境將 DSH 數據目錄寫死爲 D:\dsh-home(其下使用 sessions/、tts/、pet-lan/ 等)。若你的實際目錄不同,需在 lib/index.js 頂部修改 HOME 常量後再使用。
日誌寫入 <DSH_HOME>/tts/inject.log;文件超過 200 KB 時會清空重寫。
安裝與啓用¶
README 未給出 dsh plugin add github:... 一類的一行命令,安裝方式爲把本倉庫作爲 DSH bundle 掛到 profile,或在 profile 的 node_modules 中鏈接本目錄,並在 cordis.patch.yml 中完成註冊。
典型步驟可歸納爲:
- 獲取插件源碼目錄(例如從 GitHub 下載或解壓到本機路徑,勿在不明環境直接運行未審閱的腳本)。
- 將該目錄作爲 bundle 安裝到當前 DSH profile,或把目錄鏈接進 profile 對應
node_modules。 - 確認
cordis.patch.yml已註冊;插件入口爲lib/index.js。 - 若
D:\dsh-home不是你的 DSH 主目錄,先改lib/index.js中的HOME再啓動 DSH。
package.json 中聲明對 @deepseek-ai/cordis 的 peer 依賴(optional),與 Cordis patch 機制一致。
權限說明:插件隨當前 DSH 進程運行,具備該進程所能訪問的本機文件與網絡綁定能力。安裝前應閱讀源碼與 MIT 許可證,確認路徑與安全策略符合你的環境。
典型用法¶
外部語音識別或其它本機程序在得到文本後,向本機 HTTP 服務投遞即可。以下爲 README 所描述接口的示意(具體 body 字段以倉庫文檔爲準)。
向默認/自動選擇的會話注入文本(請求體字段名以倉庫 README / 源碼爲準;README 明確提到 body 可帶可選 sessionId):
POST http://127.0.0.1:8790/inject
Content-Type: application/json
{}
指定會話時,在 JSON body 中設置 sessionId。
切換 TTS:
POST http://127.0.0.1:8790/tts/toggle
查詢狀態:
GET http://127.0.0.1:8790/state
典型鏈路是:全屏場景下由外部工具完成拾音與識別 → 本機 POST /inject → DSH 會話收到用戶側文本,全程無需把 DSH 窗口提到前臺。
適用場景與注意¶
適合誰
- 需要在遊戲、全屏應用前臺使用語音輸入,又不想頻繁 Alt+Tab 或模擬按鍵的 DSH 用戶。
- 已有本機 ASR 流水線,只需一個穩定的「文本進會話」注入點。
安全與部署
- 服務只綁定
127.0.0.1,沒有鑑權;同一臺機器上的其它進程理論上可調用這些接口。不要反向代理或暴露到公網。 - 非 Windows 或 DSH 主目錄不在
D:\dsh-home時,必須改HOME常量,否則會話與 TTS 配置路徑會對不上。
生態背景
DSH 奉行「一切皆插件」;本插件屬於社區目錄中的客戶端類擴展,星標與熱度以目錄站展示爲準(當前 GitHub 星標爲 0),選用時以自身需求與代碼審閱爲準。
結尾¶
dsh-voice-inject 用本機 127.0.0.1:8790 把外部語音識別結果送進 DSH,並附帶 TTS 切換與狀態查詢,面向「不搶焦點」的語音輸入場景。更多信息見 SkillHub 目錄頁 與 GitHub 倉庫。