确定性时间轴
音符驱动的彩带与冲击来自共享时间线,绝不依赖 Math.random();环境微粒使用种子随机数,暂停、拖动、重播始终保持稳定的氛围。同一段乐谱,每一次都演奏得一模一样。
vibe coding 累了,让 Agent 弹一首钢琴。它弹得多好,就是模型的本事。
模型要读懂乐谱、算准节奏、安排好踏板。因为确定性时间轴,同一份乐谱,每次都是同一张考卷。
音符驱动的彩带与冲击来自共享时间线,绝不依赖 Math.random();环境微粒使用种子随机数,暂停、拖动、重播始终保持稳定的氛围。同一段乐谱,每一次都演奏得一模一样。
录音室采样的三角钢琴,多层力度,预载之后点一下就响。
Sample-Based · Multi-Velocity琴身离线预渲染成静态图层,琴键缓存精灵;每帧只动画键位、彩带与冲击,帧成本恒定。
Sprite Cache · Opaque Static Layer落键溅起涟漪和金光,水面倒影、薄雾、流星雨跟着演奏的强弱起伏。
Comets · Reflection · Mist · Grain一个 <dsh-piano-view> 元素即可接入 DeepSeek Harness。设置乐谱、选择皮肤、请求沉浸式舞台,剩下的交给引擎。长乐段可以用紧凑音符对象,减少工具调用的延迟。
材质、灯光、氛围都是数据。想加新皮肤,不用动渲染器。
黑色高光音乐会三角琴,立起琴盖,暖金内饰与金饰硬件。深色舞台之上,金色音板在落键时泛起鎏光。
珍珠白琴身配玫瑰金细节,樱花天之下漂浮着音符。轻雾与蜜桃地平线光,让演奏温柔而透亮。
装好插件、启动界面,然后用自然语言让 Agent 弹琴。完整说明见 GitHub README。
在 DeepSeek Harness 源码仓库里执行:
pnpm dsh plugin --profile web add dsh-pianist
然后启动界面 pnpm dsh web。npm 包自带构建产物,无需任何构建步骤。
直接用自然语言点歌,Agent 会把整段乐谱交给钢琴:
“请弹一下《欢乐颂》前八小节,双手都要,带延音踏板。”
“来一段 C 大调音阶,100 BPM,放慢一点。”
dsh-pianist 的演奏实录,点开就看。
Showreel · 点击播放
演奏短片已就绪
dsh-pianist 是 DeepSeek Harness 的钢琴插件。vibe coding 累了,让 AI 弹一首放松;它弹到什么水平,也是模型能力的一次测验。是玩具,也是考卷。
弹琴要求模型一次执行整段乐谱:读准音高、算准节奏、安排好力度与踏板。dsh-pianist 用确定性时间轴,同一份乐谱每次都是同一张考卷,模型的本事一弹便知。
The renderer is skin-driven: every color, material and atmosphere flag comes from a pure-data PianoSkin. The renderer owns geometry; skins own material, lighting and atmosphere tokens. New skins never require a new render branch.
Two families: 曜黑鎏金 Lacquer Gold, a black high-gloss concert grand with gold hardware; and 樱花珍珠 Sakura Pearl, a pearl-white grand with rose-gold details beneath a soft sakura sky.
Yes. Note-generated ribbons and impacts come from a shared timeline, never Math.random(); ambient motes use a seeded RNG, so pause, seek and replay keep a stable atmosphere.
In DeepSeek Harness, run dsh plugin --profile web add dsh-pianist and restart. For standalone web pages, install from npm and register the dsh-piano-view element. The README has the details.
交流用法、反馈问题,把模型弹的曲子发进来。扫码加入微信交流群。
微信交流群二维码
即将上线
微信扫码 · 交流与反馈