yangyue1974/dsh-plugin-audiolib ↗★ 1
dsh-plugin-audiolib
Ambient soundtrack for DeepSeek Harness, driven by agent state and powered by AudioLib.ai.
安装
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:yangyue1974/dsh-plugin-audiolib说明文档
阅读完整 README ↗dsh-plugin-audiolib
English | 中文
给 DeepSeek Harness 的环境音轨插件:音乐由 agent 自己的状态驱动,曲库来自 AudioLib.ai——10 万首以上全版权清理的原创曲目,一次 API 调用换一首完整曲子。
agent 需要的状态信号本来就在会话事件流里:一个 turn 打开,说明它在干活;所有 turn 关闭,房间安静下来。这个插件把那条事件流变成声音。
状态变化永远不打断正在播的曲子。 turn 的开合远比一首歌短,中途切歌听起来是噪音而不是反馈。曲子放完那一刻你处于什么状态,才决定下一首放什么。只有显式的 music_stop 会立刻停——要安静就得立刻安静。
安装
dsh plugin --profile web add dsh-plugin-audiolib
重启后打开 设置 → 插件 → 插件配置,在 AudioLib 环境音轨 卡片里粘贴密钥,保存即可——密钥存进 DSH 的凭据库(~/.dsh/.credentials.yaml,权限 600),不进任何配置文件,也不用重启。
密钥在 audiolib.ai 获取,免费额度每月 300 次。
不想用界面的话,环境变量同样有效:
export AUDIOLIB_API_KEY=alp_your_key
播放
曲子是流式播放的:缓冲到第一批字节就出声,这也是 AudioLib 的 URL 本来的用法。这需要一个能直接吃 URL 的播放器——mpv 或 ffplay,装哪个都行:
brew install mpv # 或:apt install mpv
都没有时,插件回落到 macOS 自带的 afplay。它只能读本地文件,于是插件会提前把整首下载下来——能用,但每首要花掉几 MB,中途换曲库时还会卡住等下载。建议装一个流式播放器。
配置
在 profile 的 cordis.patch.yml 里按 id 覆盖这一行:
- id: audiolib
name: dsh-plugin-audiolib
config:
workingLibrary: audio.focus
idleLibrary: audio.ambient
| 字段 | 默认值 | 含义 |
|---|---|---|
apiKeyRef | AUDIOLIB_API_KEY | 存放密钥的凭据名——只是引用,密钥本身不写在这里 |
baseUrl | https://api.audiolib.ai/v1/audio | 音频接口地址 |
ambient | true | 是否让会话事件驱动音轨 |
workingLibrary |