DSH 生態強調插件化與 Agent 能力的擴展。在開發 Agent 應用時,往往需要音頻播放能力,或者希望將音樂播放器無縫集成到工作流中。dsh-music-player 是一個專注於簡約的 Web 端播放器插件,支持網易雲與本地音樂源,並提供完整的 Agent SKILL,允許 AI 自定義播放器風格、控制播放,並將隊列與搜索功能集成在官方設置頁。
核心功能¶
懸浮窗播放器
插件提供常駐掛載的懸浮窗,支持毛玻璃與發光效果。具備逐字歌詞顯示、可拖拽進度條與音量控制功能。收起懸浮窗不會中斷播放。
本地音樂支持
通過指定文件夾加載本地音樂。音頻路徑會保存在隊列中,支持同名 .lrc 文件自動加載歌詞,以及 MP3 內嵌封面顯示。
網易雲在線
支持在線搜索、歌詞獲取與播放地址解析。官方 API 優先,被限流時自動降級到備用網關。VIP 歌曲(如《起風了》)需在官方設置頁填寫 Cookie 才能播放。支持通過歌單 ID 或鏈接批量導入歌曲。
Agent 控制
提供完整的 Agent SKILL,包含搜歌、播新歌、隊列增刪查、播放控制、播完通知以及自定義 CSS 與 UI 配置等工具。播完一首歌后,插件會清空隊列併發送通知,便於 Agent 決定是否添加新歌。
安裝與啓用¶
前置準備
首次安裝前需注意:如果環境中的 pnpm 版本 ≥ 10,默認會拒絕執行 git 依賴的構建腳本。需在 profile 的 pnpm-workspace.yaml 中添加 allowBuilds 聲明,然後重跑安裝命令。
安裝命令
dsh plugin --profile web add github:xiaoqiezi-china/dsh-music-player
版本鎖定
建議在安裝命令後釘住 commit SHA 以固定版本,方便後續回滾:
dsh plugin --profile web add github:xiaoqiezi-china/dsh-music-player#<commit-sha>
使用示例¶
- 加載歌詞:確保本地音樂文件夾中存在與音頻文件同名的
.lrc文件,插件會自動加載。 - VIP 體驗:進入官方設置頁,在網易雲相關配置中填入 Cookie,即可播放 VIP 歌曲。
- Agent 交互:Agent 可調用搜歌、播新歌等工具,將音樂播放整合到對話流中。
注意事項¶
- 構建依賴:pnpm ≥ 10 環境下,務必在 profile 配置中處理 git 構建腳本的信任問題。
- 播完行爲:播放模式設定爲順序播放時,播完一首會自動清空隊列併發送通知,提示 Agent 添加新歌。
- API 穩定性:播放地址解析優先使用官方 API,若遇限流會自動切換至備用網關。
總結¶
dsh-music-player 是一個輕量、乾淨的 Web 端音樂播放方案。它解決了在 DSH 環境中集成音頻播放的需求,特別是通過 Agent SKILL 實現了音樂控制與 AI 的深度結合。完整的文檔與源碼可參考以下鏈接。