按 agent 工作状态自动播放 AudioLib 曲库音乐
31.7/100
综合分
3
GitHub 星标
41
npm 周下载
—/5
用户评分
数据截至 2026/8/20 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add dsh-plugin-audiolibnpm 源 · dsh-plugin-audiolib 的发布者账号已校验与本仓库一致
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:仅索引
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 自动检查通过展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✓npm 包dsh-plugin-audiolib @ 0.2.0
✓Node 引擎要求 ^22.19 || >=24 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/10 15:48:18
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 8 处,展示前 8 条)
- 发起网络请求lib/index.js:90
async fetch(library, signal) { - 发起网络请求lib/index.js:187
return { library, startsAt: soundtrack.request(library) }; - 发起网络请求lib/ambient.js:306
const track = await this.#options.source.fetch(library, signal); - 执行外部命令来自配置/变量lib/player.js:53
return binary => spawnSync(locator, [binary], { stdio: 'ignore' }).status === 0; - 发起网络请求lib/player.js:86
const response = await fetch(url, { signal }); - 删除本地文件递归lib/player.js:92
const dispose = () => rm(directory, { recursive: true, force: true }); - 写入本地文件lib/player.js:94
await pipeline(Readable.fromWeb(response.body), createWriteStream(file), { signal }); - 执行外部命令来自配置/变量lib/player.js:137
const child = spawn(binary, rest, { stdio: 'ignore' });
扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
⚠ 该插件运行需访问外部网络 / 远程 API,部署在国内无外网环境时可能无法正常使用。
依赖的 DSH / Cordis 模块
@deepseek-ai/schemastery@deepseek-ai/cordis@deepseek-ai/dsh-client-connection@deepseek-ai/dsh-client-runtime@deepseek-ai/dsh-client-ui-primitives@deepseek-ai/dsh-client-ui-settings@deepseek-ai/dsh-client-ui-settings-plugins@deepseek-ai/dsh-client-ui-slots@deepseek-ai/dsh-credentials@deepseek-ai/dsh-session@deepseek-ai/dsh-settings@deepseek-ai/dsh-tools给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 按代理状态播放音乐
- 接入曲库音轨
- 状态切换不中断音轨
由代理状态驱动的DeepSeek Harness的安眠音轨. 从AudioLib.ai流出100k+清除的音轨——一条音轨总是会完成,所以州变永远不会切断一条音轨.
README
由 DeepSeek 最新模型翻译生成dsh-plugin-audiolib
npm
ci
license
给 DeepSeek Harness 的环境音轨插件:音乐由 agent 自己的状态驱动,曲库来自 AudioLib.ai——10 万首以上全版权清理的原创曲目,一次 API 调用换一首完整曲子。
agent 需要的状态信号本来就在会话事件流里:一个 turn 打开,说明它在干活;所有 turn 关闭,房间安静下来。这个插件把那条事件流变成声音。
状态变化永远不打断正在播的曲子。 turn 的开合远比一首歌短,中途切歌听起来是噪音而不是反馈。曲子放完那一刻你处于什么状态,才决定下一首放什么。只有显式的 music_stop 会立刻停——要安静就得立刻安静。
安装
如果你是用 npx @deepseek-ai/dsh web 装的 DSH——不装全局包,CLI 就活在 profile 里——那 dsh 根本不在 PATH 上,直接敲 dsh 只会得到 command not found。改用 npx 调用它,并且先启用 pnpm:DSH 用 pnpm 管理 profile 插件,没装就直接拒绝。
展开完整文档(README 剩余 1 节)
dsh-plugin-audiolib
npm
ci
license
给 DeepSeek Harness 的环境音轨插件:音乐由 agent 自己的状态驱动,曲库来自 AudioLib.ai——10 万首以上全版权清理的原创曲目,一次 API 调用换一首完整曲子。
agent 需要的状态信号本来就在会话事件流里:一个 turn 打开,说明它在干活;所有 turn 关闭,房间安静下来。这个插件把那条事件流变成声音。
状态变化永远不打断正在播的曲子。 turn 的开合远比一首歌短,中途切歌听起来是噪音而不是反馈。曲子放完那一刻你处于什么状态,才决定下一首放什么。只有显式的 music_stop 会立刻停——要安静就得立刻安静。
安装
如果你是用 npx @deepseek-ai/dsh web 装的 DSH——不装全局包,CLI 就活在 profile 里——那 dsh 根本不在 PATH 上,直接敲 dsh 只会得到 command not found。改用 npx 调用它,并且先启用 pnpm:DSH 用 pnpm 管理 profile 插件,没装就直接拒绝。
corepack enable pnpm
npx @deepseek-ai/dsh plugin --profile web add dsh-plugin-audiolib
corepack 随 Node 自带,这一步不会引入任何第三方全局安装,corepack disable pnpm 也能随时撤销。要是你的 PATH 上本来就有 dsh,直接 dsh plugin --profile web add dsh-plugin-audiolib 效果一样。
重启——npx @deepseek-ai/dsh web——之后打开 设置 → 插件 → 插件配置,在 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 | audio.focus | turn 打开期间播放的曲库;'' 表示静音 |
| idleLibrary | '' | 所有 turn 关闭后播放的曲库;'' 表示静音 |
| exposeTools | true | 是否把 music_play / music_stop / music_status 给模型 |
| playerCommand | [] | 播放器 argv;留空自动选。{url} 声明流式播放器,{file} 声明只读本地文件的 |
| requestTimeoutMs | 15000 | AudioLib 请求超时 |
曲库共 25 个——audio.focus、audio.ambient、audio.cinematic、audio.jazz、audio.classical、audio.sleep、audio.meditation、audio.workout、audio.electronic 等。API 认的 id 都能用;完整列表在 src/libraries.ts,也写进了 music_play 的工具描述。
工具
- music_play(library) — 让模型给自己的工作配乐。在下一个接缝处生效;当前没有播放时立即开始。
- music_stop() — 立刻停止,并保持静音直到再次调用 music_play。
- music_status() — 报告正在播放的曲目,以及 AudioLib 的套餐、剩余调用次数和速率上限。配额搭在每次取曲的响应里返回,所以这个查询不花调用额度。
两者都是 ctx.tools 上的普通注册,因此在 Code Mode 里也能直接 await tools.music_play({ library })。
music_play 选的曲库只活到这段工作结束:最后一个 turn 关闭时,音轨回到 idleLibrary。明确选的曲库,是为它配的那段工作而选的。
请求失败时,瞬时原因——网络、5xx、超时、速率限制——会退避重试且不设上限,音乐自己接上。密钥错误、额度耗尽、播放器缺失、响应读不了则转为暂停;music_status 会说是哪一种,其中额度暂停在周期翻转后自行解除。
实现方式
| 部分 | 扩展点 |
| 状态跟踪 | ctx.on('session/event') — 按会话计数 turn/start / turn/end |
| 模型控制 | ctx.tools.register(),原始 JSON Schema 定义 |
| 卸载清理 | ctx.effect() — 插件卸载即杀掉播放器并删除全部临时文件 |
playerCommand 里的占位符决定播放模式。{url} 把 AudioLib 的 URL 直接交给播放器,边播边缓冲——不落盘,API 一返回就出声。{file} 表示播放器不能流式,插件才会先把曲子下载到私有临时目录,播完删除。
两种模式都会提前取好下一首:插件加载时取一首,让第一个 turn 一开就有声;每首开始播时再取下一首,接缝处没有空隙。AudioLib 调用很便宜,因状态变化被丢弃的预取不值得优化。
开发
npm install
npm run build
不安装、直接把源码 checkout 挂进运行中的 harness:
audiolib.overlay.yml
- insert:
- id: audiolib
name: '/absolute/path/to/dsh-plugin-audiolib/lib/index.js'
config:
workingLibrary: audio.focus
dsh web --patch ./audiolib.overlay.yml
许可
MIT预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
yangyue1974/dsh-plugin-audiolib
按 agent 工作状态自动播放 AudioLib 曲库音乐
相关插件 · 工具 / 效率
破甲管控台kingcharleslzy-ai/dsh-purge
dsh-purge Community · DeepSeek Harness 社区维护版:宿主兼容、状态诊断、提示词管理、更新与本机备份回滚。基于小杨 / YuJunZhiXue 的 dsh-purge。
★ 4,330已汉化DeepSeek 客户端
74.5
网文长卷lingfengQAQ/webnovel-writer
基于 Claude Code 的长篇网文辅助创作系统,解决 AI 写作中的「遗忘」和「幻觉」问题,支持 200…
★ 7,826已汉化DSH
72.2
花束设计alchaincyf/huashu-design
一句话生成网页、原型、PPT 与信息图等可交付设计
★ 28,638已汉化DSH
71.7
多智能体协作HKUDS/AutoSwarm
AutoSwarm: Unify Your Agents. Unify Your Context (Codex · Claude Code · DeepSeek Harness · Muse · Grok · WorkBuddy· nanobot · and more)
★ 2,349已汉化DSH
71.6
Vox 拼贴视频生成Alisa0808/vox-director
🎬 Vox Director拼贴动效导演
★ 2,129已汉化DSH
71.4
Agent 演化引擎Q00/ouroboros
智能体 OS:智能体自己变聪明,我们只守住底线:面试准入、分阶段评估、带预算的进化循环。MCP 服务器,14 种运行时:Claude Code、Codex CLI、Gemini CLI、OpenCode、Copilot、Kiro 等。
★ 6,311已汉化DSH
71.4
这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。