DeepSeek Harness 音樂播放器插件

前言

DeepSeek Harness(DSH)的理念是“一切皆插件”。當用戶在對話中需要播放音樂時,直接打開本地播放器會打斷上下文流,而讓模型輸出文本鏈接又缺乏交互性。dsh-music 解決了這個問題:它在對話流中渲染一張可交互的播放器卡片,模型只需輸出一個 dsh-music 圍欄,卡片即刻出現並接管播放控制。

插件定位

  • 名稱:jh-evil/dsh-music
  • 維護者:jh-Evil
  • 類型:客戶端插件
  • 功能:將 DSH 會話中的 dsh-music 代碼塊渲染爲支持網易雲/QQ 雙後端的音樂播放器卡片,提供視覺特效與完整播放控制。

核心功能

1. 雙後端與自動降級

插件集成了網易雲音樂和 QQ 音樂兩個後端。
* 網易雲音樂:支持搜索、播放直鏈(默認 320kbps)、歌詞與翻譯。
* QQ音樂:在免登錄環境下,由於騰訊簽名限制,多數歌曲無法獲取直鏈。插件會自動跨後端切換到網易雲音樂尋找同名同歌手曲目播放,並在狀態欄標註降級原因。
* 容錯機制:若兩個後端均失敗,卡片會標記爲“不可播”並自動跳下一曲。

2. 視覺與交互

  • 主題:提供 glass(玻璃擬態)、neon(霓虹發光)、paper(紙感)、vapor(蒸汽波)四種預設主題,以及自定義主題對象。
  • 歌詞模式:
    • bubble:懸浮玻璃歌詞氣泡,隨播放浮動換行(默認)。
    • bar:內嵌三行滾動歌詞欄(含翻譯)。
    • none:不顯示歌詞。
  • 特效:播放時氣泡隨節拍從唱片邊緣升起(基於 WebAudio 實時頻譜驅動,跨域不可用時降級爲模擬節拍);點擊卡片任意處可觸發氣泡迸發;唱片隨播放旋轉。

3. 播放控制與狀態

  • 完整控制:支持切歌、循環/單曲/隨機切換、音量調節、進度拖拽。
  • 本地管理:支持本地收藏與電臺模式(播完自動搜索相似歌曲加入隊列)。
  • 系統集成:集成 MediaSession,支持鎖屏控制與媒體鍵操作。
  • 狀態持久化:刷新頁面後自動恢復隊列與偏好,直鏈過期時自動重新解析。

安裝與啓用

安裝命令如下:

dsh plugin --profile web add dsh-music

安裝完成後重啓 DSH Web 界面即可。插件依賴 Node.js 環境運行,要求 Node >= 20,無運行時依賴。

使用示例

模型在回覆中輸出 dsh-music 圍欄即可觸發卡片。以下是幾種典型用法:

  1. 搜索播放:
    輸入:
    {"theme":"glass","backend":"netease","keyword":"周杰倫 晴天","autoplay":true,"lyricMode":"bubble"}
  1. 指定主題與歌單:
    輸入:
    {"theme":"vapor","playlist":[
      {"title":"晴天","artist":"周杰倫"},
      {"title":"Lemon","artist":"米津玄師"}
    ]}
  1. 自定義主題:
    輸入:
    {"theme":{"accent":"#f9a8d4","bg":"#3b0764"}}
  1. AI 推薦:
    點擊卡片狀態欄的「AI 推薦」按鈕,會將當前曲目回傳給模型,模型可據此回覆新的播放指令。

配置與環境變量

變量名 作用
DSH_MUSIC_NETEASE_COOKIE 網易雲 Cloud Music Cookie。填寫後可提高 VIP 歌曲、高碼率直鏈的成功率(默認使用匿名 Cookie)。
DSH_MUSIC_QQ_COOKIE QQ 音樂 Cookie。填寫用戶 Cookie 後,QQ 側免費歌曲有機會直接獲取直鏈,減少自動降級。

注意事項:
* 瀏覽器自動播放策略限制:首次 autoplay 可能需要用戶點擊播放按鈕。
* 僅供個人學習使用,音樂版權歸各平臺所有。

結語

dsh-music 通過“Node 宿主半區”提供搜索與代理服務,結合“瀏覽器半區”的渲染與交互,實現了在對話流中無縫播放音樂的能力。對於需要在智能體場景中引入音頻體驗的開發者,這是一個輕量且功能完備的解決方案。

  • 目錄頁:https://www.skillhub.cn/plugins/jh-Evil/dsh-music
  • 源碼:https://github.com/jh-Evil/dsh-music
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜