dsh-music-panel:給 DeepSeek Harness 加一個網易雲音樂面板

前言

DeepSeek Harness 的桌面 Web UI 裏,智能體的對話窗口之外,本身不提供任何媒體消費能力。想在聽歌的同時繼續用 DSH,通常只能切回瀏覽器或單獨的音樂客戶端。dsh-music-panel 把網易雲音樂的搜索、排行榜、收藏、播放歷史、歌詞和推薦搬進了 DSH 側邊欄的一個面板頁,音頻走插件自己的 host 路由,瀏覽器不直接接觸第三方 CDN。

這個插件由 woshijing1991-cloud(package.json 裏的作者署名爲 CCC)維護,目前是 0 星的新倉庫,README 明確說明它是私有版本的「乾淨可發佈副本」,移除了原私有版中的解鎖邏輯。下面介紹它實際提供什麼、怎麼裝、以及哪些地方會踩坑。

這是什麼

dsh-music-panel 是 DeepSeek Harness 的一個桌面端插件,在側邊欄加一個音樂入口,點開是 Magpie 風格的獨立頁面,包含搜索、排行榜、收藏、播放歷史、同步歌詞和按個人口味生成的推薦流。所有能播放的音頻都來自官方網易雲音樂 API,官方不給可播放地址時,面板直接報錯停下,不做任何繞過。

它定位爲「聯網工具」分類的插件,但和一般聯網抓取插件不同:它帶一個常駐 host 路由層(搜索、流地址解析、封面代理等),面板頁是插件自帶的前端,不依賴外部音樂服務頁面。

核心功能

README 的功能表列出了這些能力,都是可覈對的:

1、搜索歌曲和歌手,歌手結果附帶入口跳轉到歌手頁。
2、排行榜支持熱歌、新歌、飆升、原創榜,也接受任意歌單 ID。
3、收藏按曲目粒度記錄,存儲在本地。
4、播放歷史記錄播放、跳過、播完事件,保留最近 600 條。
5、歌詞爲 LRC 同步歌詞,有翻譯時附帶翻譯行。
6、口味畫像由收藏、播放記錄和標籤加權生成,帶時間衰減。
7、推薦基於標籤和畫像做發現,可選接入 Last.fm 的相似歌手。
8、播放器爲浮層迷你播放器,支持隊列、隨機/循環,以及下載官方流。

播放策略值得單獨說,因爲它決定了插件的使用邊界:

  • 不解鎖 VIP、付費專輯、地區限制曲目;不含第三方音頻源、代理手段、證書處理或外部輔助進程。
  • 官方 API 不返回 URL(或只給試聽片段)時,/api/url 與 resolve 返回明確錯誤:「該曲目需要官方會員,本面板只播放官方允許的內容」。
  • 免費、無限制的曲目,或你配置的 cookie 對應的賬號有權限的曲目,播放行爲和官方播放器一致。

README 還詳細說明了它與私有解鎖版的差異:私有版進程內接入了去別的音樂服務找可播放地址的解鎖器,這個倉庫刪掉了整個路徑——沒有解鎖庫依賴、沒有第三方源匹配代碼、沒有相關 UI 文案。版本 0.9.0 的 cordis.patch.yml 默認配置裏也只有 basePath、quality、cacheTtlMs 三項,沒有任何源排序配置。私有版能播而這裏不能播,是設計上的差異,不是 bug。

安裝與啓用

這是本地 file: 插件,不在 npm 上。README 給出的安裝路徑如下,按 GitHub 倉庫原文即可。

1、把倉庫目錄放到磁盤任意位置,例如 /path/to/dsh-music-panel(Windows 下類似 D:/plugins/dsh-music-panel)。

2、在 DSH profile 的 package.json(通常是 <DSH_HOME>/profiles/<profile>/package.json)里加依賴:

{
  "dependencies": {
    "dsh-music-panel": "file:/absolute/path/to/dsh-music-panel"
  }
}

3、在同一個文件裏,把插件名加進 dsh.profile.bundles:

{
  "dsh": {
    "profile": {
      "bundles": ["dsh-music-panel"]
    }
  }
}

4、確認插件的 patch 層生效。倉庫自帶 cordis.patch.yml,內容是:

- insert:
    - id: dsh-music-panel
      name: 'dsh-music-panel'
      config:
        basePath: '/dsh-netease'
        quality: 'exhigh'
        cacheTtlMs: 600000

如果 profile 用的是聚合 patch 文件,README 建議把這個塊顯式插進去,不要依賴自動發現。

5、安裝並重啓 DSH:在 profile 目錄跑包管理器(例如 pnpm install),然後完全重啓桌面應用。README 強調熱重載不夠,host 路由是在啓動時註冊的。

6、從側邊欄的音樂圖標打開面板,或訪問 http://127.0.0.1:<port>/dsh-netease/api/health 確認路由已就緒。

注意:面板頁裏硬編碼了路由前綴,與默認 basePath(/dsh-netease)一致。改了 basePath,還要同步修改 lib/client.js 裏的 var API = '/dsh-netease'。

配置項

配置全部可選,寫在 cordis.patch.yml 的 insert 塊裏(或等價的聚合 patch)。

鍵 默認值 含義
basePath /dsh-netease 所有路由的 HTTP 前綴(/api/search、/stream、/img 等)
quality exhigh 請求碼率:standard(128k)/ high(192k)/ exhigh(320k)/ lossless(999k)
cacheTtlMs 600000 解析出的官方流地址緩存多久後重新解析
dataDir <DSH_HOME>/dsh-music-data library.json(收藏/歷史/標籤/已展示)的寫入位置
cookie ''(環境變量 NETEASE_COOKIE) 你自己賬號的官方登錄 cookie,原樣透傳
lastfmApiKey ''(環境變量 LASTFM_API_KEY) Last.fm 應用 API key,僅用於查相似歌手

關於 cookie:README 明確這是把你自己的網易會話 cookie 原樣傳給官方 API,插件不僞造、不派生憑證,也不用來繞過任何限制,只是讓官方 API 表現得和你賬號登錄後的官方網頁播放器一致。留空即匿名模式。Last.fm key 是應用 key 而非賬號憑證,也可以在面板設置對話框裏填,寫到 <DSH_HOME>/dsh-music-data/settings.json。

典型用法

裝好並重啓後,不需要額外命令。在 DSH 桌面端左側欄點音樂圖標打開面板,然後:

1、搜索框輸入「晴天」,結果直接來自官方網易雲音樂 API,點結果試聽。
2、切到排行榜標籤看熱歌榜(官方流,200 首)。
3、在當前播放頁看滾動歌詞和歌曲信息,音質默認 exhigh(320k),可在配置裏改。
4、播放幾首後,推薦流會基於你的收藏與播放記錄更新。

本地檢查路由是否正常:

curl http://127.0.0.1:<port>/dsh-netease/api/health

維護代碼時,README 給出的校驗命令是:

node --check index.js
node --check lib/client.js && node --check lib/library.js && node --check lib/recommend.js

項目沒有構建步驟、沒有打包器、沒有運行時 npm 依賴,index.js 由 DSH host 直接加載。

適用場景與注意事項

適合誰:想在 DSH 桌面端裏直接聽歌、並接受「只播官方允許的內容」這一邊界的用戶;以及想基於官方 API 自己改面板的開發者(源碼結構簡單,patch 層一目瞭然)。

需要注意的地方:

  • 插件以當前 DSH 進程權限運行,安裝前應自己檢查源碼(index.js、lib/)和許可證。許可證爲 MIT,作者署名 CCC(woshijing1991-cloud)。
  • 兼容性限定 DeepSeek Harness 0.2.x 桌面端、web 前端(dsh.client.platform = "web"),宿主 Node.js 需要 ≥ 20。
  • 匿名模式(不配 cookie)搜索結果明顯更差:網易傾向把 VIP 原創壓後,部分官方 URL 返回空。配自己的 cookie 後結果和直鏈更接近網頁播放器。兩種模式都不解鎖任何東西。
  • /dsh-netease/api/health 會持續報告搜索端點的限流冷卻,因爲網易對搜索 API 按路徑限流,插件在 host × path 矩陣上輪換並指數退避。
  • 歌詞和封面完全取決於官方 API 返回什麼,有些曲目兩者都沒有。
  • 面板只是 main slot 裏的一個頁面,沒有獨立的 Web 構建產物。
  • 無遙測、無分析、無作者側服務器;請求直接從本機發往 music.163.com(配置 Last.fm key 時另發向 ws.audioscrobbler.com)。收藏、播放歷史、標籤、搜索歷史都本地存放在 <DSH_HOME>/dsh-music-data/library.json,刪除該文件即重置面板。封面代理只允許 *.126.net / *.163.com 域名,其他 URL 直接拒絕。

結尾

dsh-music-panel 的價值在於把網易雲音樂的播放能力收進 DSH 自己的界面,同時把邊界劃得很清楚:只用官方 API、不碰解鎖。對不需要 VIP 內容的普通聽衆,這是目前 DeepSeek Harness 生態裏少有的完整音樂面板。倉庫 2026 年 11 月初才創建,星標還是 0,長期維護情況需要自行觀察。

目錄頁:https://www.skillhub.cn/plugins/woshijing1991-cloud/dsh-music-panel
GitHub:https://github.com/woshijing1991-cloud/dsh-music-panel

羽毛球分组比赛记分
小程序二维码

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

小夜