Back to home@Laplace-bit

dsh-pianist

🎹 A DeepSeek Harness piano plugin — deterministic musical timeline, Canvas2D grand piano, sample-based audio. 让 AI 弹一曲,也是模型的本事。

Stars
1
Language
TypeScript
Created
Aug 17, 2026
Updated
Aug 25, 2026

Introduction

dsh-pianist

dsh-pianist 为 DeepSeek Harnessdsh)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.htmlpnpm run build && pnpm dlx serve .