dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
在 DSH 界面里弹一条钢琴键盘:点单个键出声,按住鼠标 / 触控板横向滑动会像刮奏(glissando)一样连续发声。声音用 Web Audio 实时合成,零采样、零网络、零第三方依赖。
localStorage,下次进来仍在原处;400ms 内的 click 才算"点开",拖动不会吞掉下一次真正点击。localStorage,刷新后保留。| 项 | 做法 |
|---|---|
| 挂载槽位 | shell.overlay(常驻应用面座位) |
| 音频 | Web Audio 合成:基音 + 泛音(指数衰减)+ 高通噪声锤击瞬态 + 低通 + 压缩器防削波 |
| 刮奏 | 指针按下 setPointerCapture → pointermove 用 document.elementFromPoint 命中 data-midi 键 → 键变化即触发新音 |
| 客户端形态 | 手写 window.__ModuleLoader__.load 零构建 bundle,platform: web |
dsh plugin --profile desktop add dsh-piano
装好后左下角出现 🎹 按钮(包名会进 dsh.profile.bundles,实测热载入,一般不用重启;没生效就刷新页面)。
本包是「双面」的(dsh.bundle.patch + dsh.client):Loader 行拉起空的 Host 半,浏览器半通过 exports["./client"] 到达。
# 以 file:/link: 目录依赖装进 profile,并加入 bundles(或 cordis insert)
dsh plugin --profile desktop add /path/to/dsh-piano -w
# 或手写:profile/package.json 加 "dsh-piano": "link:...", 并在 dsh.profile.bundles 加 "dsh-piano"
npm test # node test/bundle-check.mjs —— 断言 bundle 结构与关键 marker
客户端 bundle 用 link: 目录依赖时,改完浏览器刷新即生效;服务端半改动需重启 Host。
AudioContext(极老环境)时静默不发声。