Skip to content

dsh-pianist

Verified

dsh-pianist · v0.1.0 · MIT · Web UI

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

Install

dsh plugin add dsh-pianist

Confirm the layer applied with dsh --profile default --dump-config — see the install guide.

Source

Tags

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