dsh-plugin-audiolib:按 DeepSeek Harness 会话状态播放 AudioLib.ai 环境音乐

前言

DeepSeek Harness(DSH)支持通过插件扩展 harness 的使用方式。在已有做法里,环境音通常需要手动播放、手动切歌;如果希望声音跟随 agent 的当前状态,就需要把会话事件接进播放逻辑。

dsh-plugin-audiolib 做的事情比较集中:根据 DSH 的会话事件驱动环境音乐,音源来自 AudioLib.ai,并且不在正在播放的曲目中途硬切。

这是什么

dsh-plugin-audiolib 是 DeepSeek Harness 的一个插件,维护者为 yangyue1974,采用 MIT 许可证。

它的一句话定位是:为 DSH 提供由 agent state 驱动的环境背景音,音源使用 AudioLib.ai。AudioLib.ai 提供 100,000+ fully-cleared tracks,每首曲目对应一次 API call。

核心功能

  • 根据 agent 的会话事件(turn open/close)驱动环境音乐。
  • 状态变化不中断正在播放的曲目;只有显式调用 music_stop() 才会停止播放。
  • 提供三个工具:music_play(library)music_stop()music_status()
  • 支持 mpv/ffplay 等 URL 流式播放器;没有这些播放器时,回退到 macOS afplay,并预先下载曲目。
  • API key 存入 DSH credential store:~/.dsh/.credentials.yaml,文件 mode 为 600;不写入配置文件。
  • 临时失败(网络、5xx、超时、限流)会退避重试;坏 key、额度耗尽、缺少播放器或响应不可读时暂停。
  • 卸载插件时关闭播放器并删除临时文件。

安装与启用

DSH 使用 pnpm 管理 profile plugins,缺少 pnpm 会拒绝。先启用 pnpm,再在 web profile 中添加插件:

corepack enable pnpm
npx @deepseek-ai/dsh plugin --profile web add dsh-plugin-audiolib

添加完成后,重启 DSH:

npx @deepseek-ai/dsh web

打开 Settings → Plugins → Plugin configuration,将 AudioLib API key 粘贴到 AudioLib soundtrack 卡片。key 会进入 DSH credential store,不会写入配置文件。

如果你更习惯使用环境变量,也可以这样设置:

export AUDIOLIB_API_KEY=alp_your_key

这里需要注意两个前提:

  • 需要有效的 AudioLib API key;免费额度为 300 requests/month。
  • Node engines 要求 ^22.19 || >=24

典型用法

如果想指定工作/空闲 library,可以在 profile 的 cordis.patch.yml 中覆盖:

- id: audiolib
  name: dsh-plugin-audiolib
  config:
    workingLibrary: audio.focus
    idleLibrary: audio.ambient

卡片中的 library pickers 暂时只读;需要设置 libraries 时,使用 profile 的 cordis.patch.yml

如果希望曲目以流式方式播放,建议安装 mpvffplay

brew install mpv
# or: apt install mpv

没有流式播放器时,afplay 会先下载每首曲目;这是一个可用回退,但可能在中途切换库时 stall。

插件提供三个工具:

  • music_play(library):播放指定 library。
  • music_stop():停止播放。
  • music_status():查询播放状态。

适用场景与注意

适合使用 DSH web profile、希望根据 agent 会话状态自动切换环境音的使用者。它不替你决定音乐是否合适,只把会话事件映射到 AudioLib library,并提供显式的播放、停止和状态查询工具。

使用前建议注意:

  • 插件以当前 dsh 进程权限运行;安装前建议检查源码、依赖与许可证。
  • 需要有效的 AudioLib API key;免费额度为 300 requests/month。
  • 临时失败会退避重试;坏 key、额度耗尽、缺少播放器、响应不可读时暂停。
  • 卡片中的 library pickers 暂时只读;需要设置 libraries 时使用 cordis.patch.yml
  • 建议使用 mpvffplay 以支持流式播放;afplay 回退会下载每首曲目,可能在中途切换库时 stall。
  • Node engines 要求 ^22.19 || >=24
  • 许可证为 MIT;维护者为 yangyue1974

结尾

dsh-plugin-audiolib 的价值在于把 DeepSeek Harness 的会话状态转成低干扰的环境声:turn open/close 驱动音乐状态,状态变化不硬切正在播放的曲目,并保留 music_playmusic_stopmusic_status 这类显式控制工具。

GitHub:dsh-plugin-audiolib

社区目录页是独立站点,与 DeepSeek / 幻方无官方从属关系;本文已核实资料未提供具体目录页 URL,检索时可使用插件名 dsh-plugin-audiolib

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

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

Xiaoye