前言¶
在 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