前言¶
DSH 的插件思路允許把 Web 端能力掛到 dsh 運行環境裏。dsh-MusicPlayer 針對一個具體場景:你在 DSH Web 對話過程中,希望同時播放、暫停、切歌,或讓 agent 按自然語言控制播放,而不是離開對話頁面去操作音樂客戶端。
下面介紹這個插件的定位、已覈實的能力、安裝啓用方式和注意事項。
這是什麼¶
dsh-MusicPlayer 是一個面向 DSH Web 的插件,由 xiekai886 維護,許可證爲 MIT。它提供一個懸浮播放器,接入網易雲音樂歌單與單曲搜索,並暴露一個 music 工具給 agent 調用,使瀏覽器播放器與 host 狀態機同步。
核心功能¶
懸浮播放器¶
播放器位於頁面右下角,是深色毛玻璃小卡片。可拖動,位置自動記憶;展開/收起帶動畫。支持播放/暫停、上一首/下一首、點擊進度條、音量、循環/單曲循環/隨機、播放列表。
前端爲手寫 __ModuleLoader__ 格式,使用內聯 SVG 圖標,不依賴 CDN。
網易雲音樂接入¶
支持導入/切換歌單:粘貼鏈接或 id。支持搜索單曲並加入播放列表。host 端代理搜索、歌單和音頻流,繞過瀏覽器跨域與防盜鏈,並支持 Meting 同源地址解析。
默認曲庫¶
可配置環境變量 DSH_MUSIC_PLAYLIST 指定歌單 id。啓動時自動加載爲內置曲庫;未配置則播放列表爲空,可手動導入。
agent 音樂工具¶
提供 music 工具,支持播放指定歌曲、導入歌單、搜索、切歌、暫停、調音量、切換模式、恢復/隱藏默認歌單、查看/添加/移除隊列。
狀態同步¶
瀏覽器播放器與 host 狀態機通過 REST 同步:
- 輪詢狀態:
/dsh-music/state - 控制命令:
/dsh-music/command
無持久化,每次啓動全新加載默認曲庫。
安裝與啓用¶
安裝需要 DSH CLI 與 pnpm。下面是已覈實資料給出的安裝命令示例:
dsh plugin --profile web add "github:你的用戶名/dsh-music"
注意:命令裏的 github:你的用戶名/dsh-music 是佔位示例,未給出實際完整倉庫或包名安裝命令。實際啓用前,請以倉庫 README 中給出的安裝說明爲準,不要直接拼接未經確認的倉庫地址。
安裝後需要重啓 dsh web:
dsh --profile web
典型用法¶
1、點右下角播放器卡片展開;拖動卡片頂部任意位置可移動,位置自動記憶;點右上角箭頭展開/收起。
2、點搜索入口進入網易雲搜索:輸入歌名或歌手,回車搜索;點 + 加入播放列表。
3、在第一行輸入框粘貼網易雲歌單鏈接或 id,回車導入,替換當前曲庫。
4、在對話裏輸入自然語言控制,例如:
- “放首歌”
- “放一首周杰倫的晴天”
- “導入我的歌單”
- “下一首”
- “暫停”
- “隨機播放”
- “音量調到 50%”
agent 會調用 music 工具控制播放器。
配置默認歌單¶
如果想讓播放器啓動時加載固定歌單,可設置:
set DSH_MUSIC_PLAYLIST=13060319975
dsh --profile web
未設置時,播放列表爲空;打開播放器後可手動導入。
可選:登錄態與穩定播放¶
默認匿名解析時,網易雲對免費歌曲返回全曲,對受限/VIP 歌曲只返回 30 秒試聽。匿名解析依賴第三方 Meting 服務,受限歌曲可能失效;若需穩定播放 VIP 全曲,推薦搭配自建雲端代理。
如果需要本機登錄態解析,可配置:
set DSH_MUSIC_COOKIE=MUSIC_U=...
dsh --profile web
DSH_MUSIC_COOKIE 應包含本機網易雲登錄態(含 MUSIC_U)。Cookie 僅保存在本機環境變量中,不會上傳到任何第三方。
適用場景與注意¶
適合在 DSH Web 中需要邊對話邊聽歌、並用自然語言控制播放/隊列的使用者。
需要注意:
- 受版權/VIP 限制的歌曲可能無法播放。
- 本項目與 DeepSeek、網易雲音樂無關;音頻來自網易雲公開接口與第三方 Meting 解析服務,僅供學習交流。
music工具與 UI 操作均在本地 DSH 實例內完成。- 插件會以當前 dsh 進程權限運行;安裝前應檢查源碼與許可證。
- 雲端代理地址與令牌請勿公開傳播。
參考¶
- 目錄頁:https://www.skillhub.cn/plugins/xiekai886/dsh-MusicPlayer
- GitHub:https://github.com/xiekai886/dsh-MusicPlayer