前言¶
DeepSeek Harness(DSH)的 Web UI 生态强调“一切皆插件”。dsh-pianist 是其中一款专注于音乐交互的插件。它为 DSH 带来了一台具备 Canvas2D 渲染能力的钢琴,允许 AI 生成乐谱并基于真实采样进行演奏。这款插件既可以作为开发者调节工作节奏的工具,也能作为评估模型生成确定性乐谱能力的“考卷”。
核心功能¶
- 确定性时间轴:底层采用确定性时间轴设计。这意味着同一份乐谱在暂停、拖动或重播时,表现完全一致,便于复现和测试。
- Canvas2D 钢琴渲染:使用 Canvas2D 技术进行钢琴外观的绘制,支持 88 个键。
- 基于采样的音频:音色来源于 Salamander Grand Piano V3 的真实录音采样,包含力度、键释放、弦共振和踏板动作细节。
- 多套皮肤与特效:提供“曜黑鎏金”和“樱花珍珠”两套皮肤。配合沉浸式舞台特效(如瀑布音符、水光倒影、流星),增强视觉反馈。
- 多模态控制:支持鼠标滑奏、电脑键盘按键以及方向键控制。
- 内核兼容性:支持 DSH 内核版本 0.1.0-rc.5 至 0.1.2-alpha.3。
安装与启用¶
在 DSH 项目根目录下执行以下命令安装插件:
pnpm dsh plugin --profile web add dsh-pianist
如果 PATH 环境变量中已包含 dsh 命令,也可直接使用:
dsh plugin --profile web add dsh-pianist
安装完成后,启动 Web 界面即可使用:
pnpm dsh web
如需卸载,可执行:
pnpm dsh plugin --profile web remove dsh-pianist
典型用法¶
安装完成后,Agent 会根据自然语言指令生成乐谱并播放。
1. 自然语言点歌
支持对曲谱、调性、速度的描述。例如:
* “请弹一下《欢乐颂》前八小节,双手都要,带延音踏板。”
* “来一段 C 大调音阶,100 BPM,放慢一点。”
* “即兴来首轻快的小曲子,放松一下。”
2. 界面设置与控制
进入 Settings -> Plugins -> Pianist 卡片,可以:
* 启用或停用插件。
* 切换皮肤(曜黑鎏金 / 樱花珍珠)。
* 切换沉浸式舞台或聊天卡片形态(演奏结束后自动切回卡片)。
* 调整画质(低/中/高)、音量以及特效开关。
3. 浏览器播放限制
由于浏览器的自动播放策略限制,首次加载或切换场景时可能需要手动点击播放按钮才能听到声音。
适用场景与注意¶
- 生态背景:DSH 理念为“一切皆插件”,本插件属于社区插件,目录站点(如 skillhub.cn)与 DeepSeek / 幻方无官方从属关系。
- 内核版本说明:DSH 内核 0.1.2 起移除了
settingsNamespace()运行时助手。本插件在注册设置命名空间时使用本地内联常量,以兼容旧版(≤ 0.1.1)和新版(0.1.2-alpha.3)内核。 - 模块导入警告:不要对
@deepseek-ai/*包做静态导入。宿主 CLI 经node --import tsx/esm启动时,外部插件对运行时符号的裸导入可能被重定向进宿主源码,一旦宿主侧改名或删除符号,会导致模块实例化错误。类型导入(import type)不受影响。 - 音源授权:内置钢琴录音来自 Salamander Grand Piano V3(CC BY 3.0 授权),使用时需注意署名。
总结¶
dsh-pianist 通过确定性时间轴和真实采样音源,为 DSH Web UI 提供了高质量的音乐交互能力。无论是通过自然语言控制演奏,还是调整视觉特效,它都为开发者提供了一个直观且可复现的音乐测试与娱乐环境。更多详情可参考项目主页或 GitHub 仓库。