前言¶
在 DeepSeek Harness(DSH)里做桌面宠物、角色或本地互动时,往往需要一种不联网、不跑模型的轻量输入:用户真的在「摸」设备或麦克风,系统只记次数,别的程序自己去读。常见做法是键盘快捷键或手动点按钮,和「对着麦克风摸几下、停手再结算」的体验对不上。
下面介绍社区插件 dsh-pet-mic-lite(摸摸大肥鱼 Lite):用浏览器麦克风采集电平,在本机判定「摸一摸」段落,把今日次数写入 count.json,供宠物脚本或角色逻辑读取。它不合成语音、不调用模型、不上传音频。
这是什么¶
dsh-pet-mic-lite 由 yizhuzhu-glitch 维护,在 SkillHub 目录中归类为「记忆」。插件只做一件事:统计今天被「摸摸」结算了几次,以及顺带记录的总下数(strokes),落盘为本地 JSON。README 说明「大肥鱼」是作者桌面宠物的名字,计数逻辑与具体角色无关。
当前 package 版本为 0.1.0,许可证 MIT;非 DeepSeek 官方插件。
核心功能¶
动作判定与结算¶
手对着麦克风摸几下,停手 3 秒(默认 sessionIdleMs: 3000),这一段结算为一次「摸摸」,count 加 1。判定在服务端 detector.cjs 完成:维护「未接触时」更新的环境基准(3 秒中位数),电平高出基准 thDb 且持续 enterMs 才算接触,低于门限的 exitRatio 并持续 exitMs 才算离开,因此房间略吵或增益略大时通常不必重调绝对音量阈值。
数据流概览:
麦克风 getUserMedia → 每 10ms 一帧 dB → POST /frame → detector 判定
↓
手停 3 秒 → 这一段结算成一次「摸摸」
↓
count.json 的 count +1
落盘数据¶
默认目录:~/.dsh-pet-mic-lite/(Windows:C:\Users\<你>\.dsh-pet-mic-lite\)。
count.json 示例:
{
"note": "大肥鱼读这里:date 是今天,count 是今天被摸摸的次数,strokes 是被摸的总下数。跨天自动从 0 开始。",
"date": "2026-11-02",
"count": 12,
"strokes": 87,
"updatedAt": 1793615472187
}
| 字段 | 含义 |
|---|---|
date |
本地时区今天(YYYY-MM-DD) |
count |
今天被摸摸的次数(停手 3 秒结算一次) |
strokes |
今天被摸的总下数 |
updatedAt |
最后一次结算的时间戳(毫秒) |
跨天自动归零(覆盖写入);写入采用临时文件加原子改名;每次结算还会在同目录追加 sessions-YYYY-MM-DD.jsonl 便于排查。
HTTP 路由(仅本机)¶
路由前缀:/plugins/dsh-pet-mic-lite。非 127.0.0.1 / ::1 请求返回 403。
| 路由 | 说明 |
|---|---|
POST /frame |
页面推送电平帧 { levels: [[db, t], ...] },返回当前计数 |
GET /state |
今日计数与实时电平状态 |
POST /reset |
今日计数清零(调试 / 演示) |
设置面板与隐私¶
装好后在 DSH 设置 → 摸摸大肥鱼 Lite 打开麦克风并授权一次。面板含麦克风开关、实时电平条、今日次数;上次开关状态记在 localStorage。
音频仅在浏览器内转为 dB 数字;服务端只收到 [[dB, 时间戳], ...]。麦克风走 getUserMedia,需安全上下文——DSH Web 界面在 127.0.0.1 / localhost 下可用;用局域网 IP 访问面板时浏览器可能拒绝开麦。
安装与启用¶
尚未发布到 npm,请用 GitHub 地址安装(README 注明用包名 dsh plugin add dsh-pet-mic-lite 会 404):
dsh plugin add github:yizhuzhu-glitch/dsh-pet-mic-lite
也可从本地目录或已下载的 tgz 安装:
dsh plugin add /path/to/dsh-pet-mic-lite
package.json 要求 Node >= 22。安装后进入设置页打开麦克风并完成浏览器权限即可开始计数。
配置¶
在 profile 的 cordis.patch.yml 中按插件 id 覆盖,例如:
- id: dsh-pet-mic-lite
name: dsh-pet-mic-lite
config:
thDb: 9
logDir: D:/dsh-data/pet-mic-lite
| 键 | 默认 | 说明 |
|---|---|---|
enabled |
true |
关闭后不注册路由、不计数 |
thDb |
9 |
高出环境基准多少 dB 算「手放上去」,可调 3–30 |
minStrokes |
3 |
一段至少摸几下才算一次 |
minTouchMs |
2000 |
或累计接触满多少毫秒也算有效互动 |
sessionIdleMs |
3000 |
手停多久结算一段,可调 500–30000 |
logDir |
~/.dsh-pet-mic-lite |
计数与日志目录 |
noiseFile |
空 | 可选噪声校准 JSON(含 thDb, gateDb),填则替代默认阈值 |
阈值不合手时优先调 thDb;需要固定校准参数时,可写 { "thDb": 6, "gateDb": -61.7 } 的 JSON 并将路径填入 noiseFile。
典型用法¶
- 按上文命令安装插件,在本机 DSH Web 界面打开 设置 → 摸摸大肥鱼 Lite,点「打开麦克风」并允许权限。
- 对着麦克风摸几下,停手约 3 秒,观察面板上的今日次数增加。
- 让你的桌面宠物或脚本定期读取
count.json中的date、count、strokes,按业务决定是否跨天重置或调用POST /reset(仅调试)。
开发与自测可在插件目录执行:
npm test
等价于 node test-count.mjs,在不启动完整 DSH 的情况下跑计数链路断言。
适用场景与注意¶
适合需要本地、离线、低耦合的「摸摸」计数,再由其它 DSH 插件或外部程序读 JSON 驱动表情、对话或统计的场景。不适合需要识别语义、上传音频或远程协作开麦的场景。
DSH 社区目录(如 SkillHub 插件页)独立于 DeepSeek / 幻方,并非官方应用商店。插件以当前 dsh 进程权限运行,安装前建议阅读 GitHub 仓库 源码与 MIT 许可证,确认麦克风与本地文件写入符合你的环境策略。
结尾¶
dsh-pet-mic-lite 把「摸麦克风 → 停手结算 → 写 count.json」收成一条本机链路,给角色侧留一个稳定的今日计数接口。进一步了解可查看目录页与仓库 README:
- 目录页:https://www.skillhub.cn/plugins/yizhuzhu-glitch/dsh-pet-mic-lite
- GitHub:https://github.com/yizhuzhu-glitch/dsh-pet-mic-lite