npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

dsh-pianist

v0.1.0

Published

A deterministic piano performance plugin for DSH: shared musical timeline, piano audio engine, visual engine, and DSH-compatible host/browser boundary.

Downloads

372

Readme

dsh-pianist

dsh-pianist 为 DeepSeek Harness(dsh)Web UI 带来一台会弹琴的 Agent:写代码累了,让 AI 弹一曲放松;它弹得多好,就是模型的本事。是玩具,也是考卷。

项目主页:https://laplace-bit.github.io/dsh-pianist/

npm License: MIT TypeScript PRs welcome

效果

dsh-pianist 演奏短片

▶️ 点击封面观看演奏短片(docs/showreel.mp4),或直接到在线 Demo 点一曲实时试听。

它弹起来什么样

  • 真实音乐会级音色。 内置 Salamander Grand Piano V3 真实录音采样:六层力度、键释放、弦共振与踏板动作,不是"哔哔"作响的合成音。
  • 两套高级皮肤。 🖤 曜黑鎏金——黑色高光音乐会三角琴、暖金内饰与鎏光落键;🌸 樱花珍珠——珍珠白琴身、玫瑰金细节、樱色天光。演奏中随时切换。
  • 全屏沉浸式舞台。 瀑布音符、水光倒影、落键流星与音乐厅薄雾,像坐进了一场小型独奏会。
  • 88 键真的能弹。 鼠标滑奏、电脑键盘弹奏、方向键选音,想自己上手也行。
  • 同一份乐谱,永远是同一张考卷。 确定性时间轴驱动:暂停、拖动、重播,每次都分毫不差——模型的本事,一弹便知。

安装

在 DeepSeek Harness 源码仓库里:

pnpm dsh plugin --profile web add dsh-pianist

如果 PATH 上已经有 dsh:

dsh plugin --profile web add dsh-pianist

npm 包自带构建产物,无需额外构建步骤,直接可装。

然后启动界面:

pnpm dsh web

卸载:pnpm dsh plugin --profile web remove dsh-pianist(或 dsh plugin --profile web remove dsh-pianist)。

使用

装好后直接用自然语言点歌,Agent 会把整段乐谱交给钢琴:

请弹一下《欢乐颂》前八小节,双手都要,带延音踏板。
来一段 C 大调音阶,100 BPM,放慢一点。
即兴来首轻快的小曲子,放松一下。

浏览器自动播放策略可能要求先点一次页面上的播放按钮——这是正常现象。

在 Settings -> Plugins -> Pianist 卡片里可以随时调整:

  • 启用/停用插件,切换皮肤(曜黑鎏金 / 樱花珍珠);
  • 沉浸式舞台或聊天卡片两种形态,演奏结束后自动回到卡片;
  • 画质(低/中/高)、音量、瀑布音符、踏板与粒子特效开关。

改完保存即生效。

社区

交流用法、反馈问题,或者把模型弹的曲子发进来。欢迎扫码加入微信交流群。

微信交流群二维码

许可证

插件代码 MIT。内置钢琴录音来自 Salamander Grand Piano V3(CC BY 3.0),署名见 THIRD_PARTY_NOTICES.md。

独立网页可通过 npm 引入并注册 Web Component:

import { registerDshPianoView } from 'dsh-pianist/demo';
registerDshPianoView();
// <dsh-piano-view> 提供 setScore / setPianistSettings / play / pause /
// seek / setRate / requestImmersive 等公开 API。

设置卡片经由 settings.plugin.item 注册于 Settings -> Plugins。本地预览落地页 docs/index.html:pnpm run build && pnpm dlx serve .。