dsh-adhd-noise:DSH 裏給 ADHD 用的實時合成專注聲景插件

前言

寫代碼、調智能體、反覆跑會話的時候,很多人會開白噪音或雨聲來壓住環境干擾。市面上的白噪音工具要麼要你自己去錄音網站找素材,要麼播放器和命令行界面各佔一邊,切一次聲音就要點開另一個窗口。

下面介紹 tommy00748-tech/dsh-adhd-noise(版本 3.1.2)。它把這件事放到 DSH 裏:五種聲音全部由瀏覽器 Web Audio API 實時合成,不下載一個音頻文件,也不發起任何網絡請求。插件在對話輸入框下方放一個小膠囊,點開是一張 Liquid Glass 質感的浮層卡片,裏面有會隨波形呼吸的聲球、聲音切換、音量和定時。適合想「開一個會話順便把背景聲一起打開」的 DSH 開發者。

目錄頁:https://www.skillhub.cn/plugins/tommy00748-tech/dsh-adhd-noise
倉庫:https://github.com/tommy00748-tech/dsh-adhd-noise

這是什麼

一句話:一個把 ADHD 友好的固定聲景嵌入 DSH 界面的插件。維護者是 tommy00748-tech,分類「趣味換裝」,許可證 MIT。它解決的問題是:在 DSH 會話裏直接播放棕色 / 粉紅 / 白噪聲、雨聲、風扇聲,同時讓視覺和聲音一起工作,而不是把播放器放在另一個窗口。

README 給出了和其他白噪音方案的四點差別:零素材零聯網、爲 ADHD 調的默認值(淡入淡出、安全音量、尊重減少動態效果 / 減少透明度)、視覺本身就是功能(真實波形驅動聲球)、可配置默認值。

核心功能

五種聲音:白噪聲、粉紅噪聲(Paul Kellet 濾波)、棕色噪聲(泄漏積分器)、雨聲(粉紅底噪 + 低頻 body + 6 kHz 水霧 shimmer + 密度起伏的雨滴)、風扇聲(55/110/165 Hz 扇葉諧波 + 空氣噪聲)。雨聲和風扇用去相關的立體聲緩衝,戴耳機時聲場更寬。

一個播放/暫停按鈕加 400px 浮層卡片(shell.overlay,不佔佈局):頂部 132px 聲球,球內白線是 AnalyserNode 的實時時域波形;下面襯線標題直接寫當前聲音名,圓形播放按鈕和剩餘時間;音效用五枚粉彩漸變小圓球選擇,選中放大 10%。音量是一根 2px 細滑桿,定時是極簡文字選項。×、Esc、點擊卡片外側都能收起。

玻璃材質:backdrop-filter: blur(30px) saturate(180%) 之上疊 SVG feTurbulence + feDisplacementMap 的折射層,邊緣用 conic-gradient 加 mask-composite 描出 1px 玻璃邊;白色徑向高光跟隨鼠標(--adn-mx/--adn-my)。材質讀宿主主題的 --dsw-alias-bg-base 亮度打 data-tone 做深淺自適應,不支持 backdrop-filter 時退回不透明底色。

窄窗口會翻轉:插件測量輸入框卡片矩形,400px 壓到輸入框就挪到左右空白,兩側不夠再懸浮到輸入框上方,不蓋住發送按鈕。對齊方式是探針掃描緊鄰同類兄弟節點找到 composer 卡片本身,借它的 bottom 對齊,並通過監聽尺寸變化跟隨輸入框變高。

默認值可由 Host 注入:插件行 config 寫進 window.__ADHD_NOISE_DEFAULTS__,localStorage 優先。

安裝與啓用

安裝命令來自 README,需要帶 profile:

dsh plugin --profile desktop add "git+https://github.com/tommy00748-tech/dsh-adhd-noise.git"

本地開發用符號鏈接形式:

dsh plugin --profile desktop add "link:/path/to/dsh-adhd-noise"

裝好後重啓 DSH 或刷新頁面,輸入框下方出現膠囊。插件只在瀏覽器裏合成聲音,不需要 API Key,不讀取任何憑據。啓用 / 停用在「設置 → 插件」裏的 dsh-adhd-noise 行;停用後膠囊消失、聲音停止,本地文件不受影響。卸載在插件管理中移除即可。

engines 要求 dsh >=0.2.1-rc.1 <0.3.0,裝之前先確認本地 DSH 版本落在這個區間。

典型用法

裝好之後不需要額外配置就能用。裝完刷新頁面,輸入框下方會出現形如 [▶] ◍ 粉紅噪聲 24:12 ⌃ 的膠囊:

  1. 點 ▶ 開始播放,膠囊裏出現隨聲音呼吸的小光球。
  2. 點 ⌃ 浮出聲景卡片,在聲球下方聽波形,用五枚粉彩小球換聲音,用細滑桿調音量。
  3. 需要限時時選定時項;到點後 8 秒淡出,而不是硬停。

要在團隊裏固定一套默認值,在 Host 的插件配置裏注入:

- id: adhd-noise
  name: dsh-adhd-noise
  config:
    defaultSound: brown      # brown | pink | white | rain | fan
    defaultVolume: 0.35      # 0–1 或 0–100
    timerMinutes: 25         # 0 | 15 | 25 | 50 | 90

注意 README 內部有一處不一致:上面配置示例的 defaultVolume 是 0.35,而「和其他白噪音插件的區別」一節寫的是默認 30% 音量。兩者都是資料原文,具體數值以你本地配置爲準。

適用場景與注意事項

適合個人或團隊想在 DSH 會話裏用固定聲景輔助專注的場景,尤其是不希望另外開一個播放器、也不希望下載音頻文件的情況。

注意三點:

  • 插件以當前 DSH 進程的權限運行,安裝前應先讀一遍源碼與許可證(MIT)。
  • 聲音由瀏覽器合成,音色「接近」而非採樣級真實錄音;需要絕對逼真的雨聲 / 風扇聲,應換採樣方案。README 的候選優化裏也把「真實採樣音色」排在前面,代價是約 300–600KB 體積。
  • 僅簡體中文 / English,沒有更多本地化。

效果方面 README 寫得比較剋制:默認粉紅噪聲,引用的是 Nigg 等 2024 年的元分析(13 項研究、335 名被試,實驗室注意力任務平均約 8–10% 的小幅改善),同時明確寫臨牀樣本里約三分之一的人反而更差,面板裏有「因人而異」提示。棕色噪聲目前沒有針對 ADHD 的對照試驗,插件把它做成選項而非默認。README 沒有采納 40 Hz 雙耳節拍,理由是現有對照研究未發現對注意力網絡有作用,而且依賴耳機、容易與音頻緩衝產生拍頻干擾。

離線開發自檢可以直接跑:

node tools/verify.cjs

它會在 mock 掉 React / Web Audio / Canvas2D / DOM 的環境里加載 client.js,檢查槽位註冊、浮層幾何、聲球與小球畫布尺寸、5 個聲音和 5 個定時項、文案 key、引擎播放 / 暫停 / 換聲 / 定時、Host 注入默認值、立體聲緩衝的 RMS 與峯值。改 UI 或音頻後跑一遍能攔住大部分迴歸。

結尾

這個插件的價值在於把「合成 + 播放 + 界面」收進一個包裏:五種聲音全部現算,零素材零聯網,默認值和淡入淡出按 ADHD 的感覺敏感與安全聽音來調,反而是少見的誠實度。如果你本來就在 DSH 里長時間跑會話,裝一個試試成本很低,卸載也很乾淨。

目錄頁:https://www.skillhub.cn/plugins/tommy00748-tech/dsh-adhd-noise
GitHub:https://github.com/tommy00748-tech/dsh-adhd-noise

羽毛球分组比赛记分
小程序二维码

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

小夜