DeepSeek Harness(DSH)採用插件化架構。在開發智能體處理音樂資源時,往往需要解決跨平臺下載、格式轉換(如 MP3 320k)以及歌詞獲取的問題。dsh-song-download 插件直接解決這些需求。
插件定位¶
這是一個由 Raywh 維護的開源插件(MIT 協議)。它提供搜索與下載兩大核心能力,能夠將 B站、YouTube 等平臺的音頻資源轉換爲 MP3 320k 格式(酷狗、QQ音樂等播放器通用),並自動附帶 LRC 歌詞。
核心功能¶
插件提供以下兩個工具:
song_search:搜索歌曲。優先調用 B站 搜索接口,B站反爬失敗時自動切換 YouTube 搜索。返回結果包含標題、時長、上傳者及鏈接。song_download:下載音頻到工作區downloads/目錄。默認輸出 MP3 320k(帶 ID3 標籤),也支持下載原始音質。
工作流程¶
從用戶發出指令到文件生成,流程如下:
- 用戶輸入指令(如「下載周杰倫的晴天」),觸發
song_download。 - 插件自動搜索 B站 首個結果。
- 若遇到 B站 412 反爬限制,自動切換至 YouTube 源。
- 使用
yt-dlp獲取最佳音頻流。 - 通過
ffmpeg將音頻轉碼爲 MP3 320k,並寫入 ID3 標籤(標題、歌手、專輯)。 - 優先提取站點字幕轉爲 LRC,若無字幕則通過網易雲音樂 API 補抓歌詞。
- 最終輸出「歌手 - 歌名.mp3」和「歌手 - 歌名.lrc」文件。
安裝與啓用¶
安裝該插件需要 DSH 環境。
dsh plugin --profile main add dsh-song-download
安裝後需重啓 dsh web 進程,該插件會對所有會話生效。
典型用法¶
安裝完成後,可以通過自然語言指令進行操作:
- 「下載周杰倫的晴天」
- 「搜一下 Beyond 海闊天空」
- 「把這幾個鏈接的音頻下載到 downloads」(支持傳入 URL 批量下載)
依賴與注意事項¶
依賴項:
* Python 3 環境
* yt-dlp 庫(pip install yt-dlp)
* ffmpeg(用於轉碼,可通過 PATH 環境變量配置,或通過 pip install imageio-ffmpeg 內嵌二進制提供)
注意事項:
* 插件以當前 DSH 進程的權限運行,請確保工作目錄有寫入權限。
* 下載前請確認你有權使用該資源,並遵守各平臺的版權條款。
* 如需查看源碼或貢獻,請訪問 GitHub 倉庫。