前言¶
在 DSH 裏跑智能體,常見做法是純文本對話:用戶打字、模型回字。要看屏幕上的報錯或界面,往往得自己描述或另開工具截圖再粘貼;想讓助手「念出」回覆,或 hands-free 用喚醒詞開聊,通常要再接一套腳本或服務。維護者 Geang-yy 的 dsh-senses 把截屏、本機 TTS、喚醒詞監聽合成一個插件,三項能力可在設置裏分別開關,面向「需要 AI 偶爾看屏、聽完回覆、喊一聲再說話」的本地開發場景。
下面按定位、能力、安裝配置和用法說明,事實均來自倉庫 README 與 package 描述(版本 0.1.0,MIT)。
這是什麼¶
dsh-senses 是給 DeepSeek Harness 用的社區插件:給 AI 裝上眼睛(按需截屏,不做常駐錄屏)、嘴巴(每條回覆結束後本機朗讀,聲音不外傳)、耳朵(常駐監聽,識別喚醒詞後把那句話送進會話,且只認主人聲紋)。倉庫:https://github.com/Geang-yy/dsh-senses;社區目錄頁:https://www.skillhub.cn/plugins/Geang-yy/dsh-senses。DSH 生態強調「一切皆插件」,目錄站點與 DeepSeek / 幻方無官方從屬關係。
核心功能¶
眼睛(eye)¶
需要時截一張屏,看完即結束。可配置寬度、保留最近幾張;超寬屏可用 look(region: "left"|"right"|"top") 只截半屏,在同樣輸出寬度下文字更清晰。look(text: true) 走本機 OCR(Windows 自帶 Windows.Media.Ocr),只返回文字,避免整圖再丟給大模型;look() 返回截圖路徑供自行讀圖。中文 OCR 結果中的多餘空格會清洗,換行保留。
嘴巴(mouth)¶
每回復完一條就唸出來,使用 edge-tts 等本機合成。可設音色、語速、最長/最短念讀字數;另有 scripts/mood_voice.py 可讀 ~/.dsh/feiyu-mood/state.json 按心情調整句尾語氣詞與語速音調(未裝心情插件時按平靜處理)。
耳朵(ear)¶
常駐聽麥克風,喊配置的喚醒詞(默認示例爲「小魚」)後將語句送入會話。聲紋未登記前「出廠鎖定」,不認主人之外的人。喚醒詞也可通過 models/keywords.txt 音素序列自定義(需與 models/tokens.txt 對齊)。
安裝與啓用¶
先安裝 Python 側依賴,再用官方給出的命令加入插件,裝完重啓 DSH:
pip install edge-tts soundfile sounddevice sherpa-onnx faster-whisper opencc-python-reimplemented
dsh plugin add https://github.com/Geang-yy/dsh-senses
裝完必須先登記聲紋(耳朵不認你之前誰喊都不應):
python scripts/enroll.py --device 3
錄約 20 秒平常語速的一段話;一致度 > 0.7 可用,< 0.5 會提示重錄。README 強調不要用 TTS 生成的音頻冒充真人樣本,否則後續鏈路會一直拒真人。
裝完建議跑一次體檢(只讀、不改配置):
python scripts/doctor.py --device 3
逐項檢查依賴、模型、聲紋、麥克風、TTS 是否正常。
在 DSH 配置中指定裝了上述包的 Python 路徑,並開關三項感官。示例結構如下(設備號、路徑按本機修改):
- id: dsh-senses
name: dsh-senses
config:
python: C:\path\to\venv\Scripts\python.exe
enabled:
eye: true
mouth: true
ear: true
eye:
width: 1280
keep: 10
mouth:
voice: zh-CN-XiaoxiaoNeural
rate: "+4%"
maxChars: 180
minChars: 8
ear:
device: 3
wake: 小魚
autoStart: true
客戶端設置裏有一頁「魚的感官」,三個開關與上述能力對應。
查麥克風設備號:
python -c "import sounddevice; [print(i, d['name']) for i, d in enumerate(sounddevice.query_devices()) if d['max_input_channels']>0]"
不要選「立體聲混音 / Stereo Mix」,那是播放回環而非麥克風。
典型用法¶
半屏截屏(帶魚屏 / 大屏):
look(region: "left")
look(region: "right")
look(region: "top")
只要文字、省 token 費用時:
look(text: true)
look()
重新登記聲紋或換人、換麥:
python scripts/enroll.py --device 3
適用場景與注意¶
適合在 Windows 上本地跑 DSH、希望助手能看屏(尤其開發調試界面)、聽完回覆、或喚醒詞 + 聲紋門禁 hands-free 輸入的開發者。README 寫明:眼睛依賴 PowerShell 截屏,嘴和耳朵理論上可跨平臺,但未在 macOS / Linux 上驗證。
插件與腳本在本機以 DSH 進程權限運行,會訪問麥克風、截屏與本地模型;安裝前應閱讀源碼與 MIT 許可證,並自行評估隱私與安全。OCR 與 TTS 均爲本機路徑(Windows OCR、edge-tts),不依賴把截圖再發給雲端讀圖——與「截圖後仍用大模型讀圖」的做法在成本上不同。
維護者在 README 中記錄了喚醒詞 KWS、Whisper VAD、TTS 被麥克風回錄、聲紋樣本錯誤等踩坑與對策,排查時可對照倉庫註釋。
結尾¶
dsh-senses 把看屏、朗讀、喚醒監聽收進一個可分項關閉的 DSH 插件,並強調真人聲紋登記與裝後體檢。進一步細節與模型文件見 GitHub 倉庫;在 SkillHub 目錄可檢索同名插件條目。