前言¶
DeepSeek Harness(DSH)的設計理念是“一切皆插件”。要在 DSH 的 Web 界面中嵌入音頻播放功能,通常需要開發者在瀏覽器端處理音頻流並與 Agent 進行交互。dsh-music-player 插件解決了這個問題,它通過集成的側邊欄和 Agent 工具,允許用戶直接在 DSH 界面中搜索並播放 Audius 平臺的合法免費音樂。
插件概覽¶
- 名稱:
hey-ruomei/dsh-music-player - 定位:DSH Web 配置文件下的音樂播放器插件,用於搜索和流式播放 Audius 平臺的音樂。
- 維護者:hey-ruomei
- 許可證:MIT
安裝與啓用¶
在終端中執行以下命令,通過官方插件機制安裝該插件,並重啓 Web 服務:
dsh plugin --profile web add github:hey-ruomei/dsh-music-player && dsh web
安裝完成後,Web 頁面會自動加載插件模塊。
核心功能¶
該插件提供了一套完整的播放與控制功能:
- 側邊欄入口:在 DSH Web 左側邊欄的設置按鈕上方會出現一個音樂按鈕,點擊即可打開播放器面板。
- 曲庫搜索:支持對 Audius 海量曲庫進行搜索(帶防抖處理)。
- 熱門榜單:無需搜索即可直接瀏覽 Audius 的熱門榜單。
- 收藏與隊列:用戶可以對喜歡的歌曲進行收藏(數據存儲在
localStorage中,重啓後保留),並點擊任意曲目將其加入播放隊列。 - 迷你播放條:關閉播放器面板後,音樂不會停止,右下角會出現一個懸浮的迷你播放條,方便控制播放進度。
- Agent 遠程控制:通過 Agent 對話工具控制播放器,無需手動操作界面。
Agent 控制與用法¶
插件爲 Agent 提供了四個專用工具,用於驅動播放器:
music_search:搜索 Audius,返回前 5 首歌曲(包含標題、藝人、時長、ID)。music_play:通過trackId播放歌曲,或根據查詢詞匹配並播放。music_control:控制播放狀態,支持pause、resume、next、prev以及set_volume(音量 0-1)。music_status:報告當前正在播放的歌曲信息。
典型示例:
在聊天中直接輸入自然語言指令,例如:
“play some jazz”
Agent 會自動執行 music_search 和 music_play,將 Jazz 類曲目加入隊列並開始播放。
運行機制與注意事項¶
- 瀏覽器運行環境:音頻播放完全依賴瀏覽器。
dsh web頁面必須保持打開狀態。如果頁面關閉,Agent 的music_play或music_control操作會返回明確的錯誤提示,而不是靜默排隊。 - 去中心化平臺特性:Audius 是一個去中心化上傳平臺。由於節點可能宕機或內容被移除,部分曲目可能會播放失敗。播放器會自動跳過失敗的曲目,當連續失敗 3 次後會停止播放。
- 請求標識:根據 Audius API 的要求,所有發出的請求都會自動攜帶
app_name=dsh-music-player參數。
結語¶
該插件利用 DSH 官方提供的 bundle 層、webServer 路由和 dsh.client 插槽機制構建,不依賴對官方包的打補丁。對於需要在 DeepSeek Harness 中集成音樂功能的開發者,這是一個可直接使用的工具。