前言¶
在 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 目录可检索同名插件条目。