前言¶
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 倉庫。