dsh-music-player:DeepSeek Harness 的 Audius 音乐播放器插件

前言

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 页面会自动加载插件模块。

核心功能

该插件提供了一套完整的播放与控制功能:

  1. 侧边栏入口:在 DSH Web 左侧边栏的设置按钮上方会出现一个音乐按钮,点击即可打开播放器面板。
  2. 曲库搜索:支持对 Audius 海量曲库进行搜索(带防抖处理)。
  3. 热门榜单:无需搜索即可直接浏览 Audius 的热门榜单。
  4. 收藏与队列:用户可以对喜欢的歌曲进行收藏(数据存储在 localStorage 中,重启后保留),并点击任意曲目将其加入播放队列。
  5. 迷你播放条:关闭播放器面板后,音乐不会停止,右下角会出现一个悬浮的迷你播放条,方便控制播放进度。
  6. 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 中集成音乐功能的开发者,这是一个可直接使用的工具。

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

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

小夜