前言¶
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 流式播放器;没有这些播放器时,回退到 macOSafplay,并预先下载曲目。 - 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。
如果希望曲目以流式方式播放,建议安装 mpv 或 ffplay:
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。 - 建议使用
mpv或ffplay以支持流式播放;afplay回退会下载每首曲目,可能在中途切换库时 stall。 - Node engines 要求
^22.19 || >=24。 - 许可证为 MIT;维护者为
yangyue1974。
结尾¶
dsh-plugin-audiolib 的价值在于把 DeepSeek Harness 的会话状态转成低干扰的环境声:turn open/close 驱动音乐状态,状态变化不硬切正在播放的曲目,并保留 music_play、music_stop、music_status 这类显式控制工具。
GitHub:dsh-plugin-audiolib
社区目录页是独立站点,与 DeepSeek / 幻方无官方从属关系;本文已核实资料未提供具体目录页 URL,检索时可使用插件名 dsh-plugin-audiolib。