摸摸大肥魚 Lite(dsh-pet-mic-lite):用麥克風數「今天被摸了幾次」

前言

在 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。

典型用法

  1. 按上文命令安裝插件,在本機 DSH Web 界面打開 設置 → 摸摸大肥魚 Lite,點「打開麥克風」並允許權限。
  2. 對着麥克風摸幾下,停手約 3 秒,觀察面板上的今日次數增加。
  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
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜