DNNCOVO/dsh-sounds0

harness-sounds

DSH 系统提示音插件:在任务完成/失败、回合结束、等待批准及 Agent 提问时提供实时合成的 Web Audio 声音提醒。

AI 分析

核心用途是通过听觉反馈提醒用户 Agent 的运行状态。适合在后台挂机运行长任务、需要即时获知何时需要人工介入或任务已结束的用户。

套件
harness-sounds
版本
0.1.0
授權
MIT
最近更新
2026年8月15日

安裝

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:DNNCOVO/dsh-sounds

dsh-sounds 🔊

DeepSeek Harness 系统提示音 — 任务完成 / 失败 / 回合完成 / 等待批准 / 提问时的声音提醒。

一个独立的 DeepSeek Harness (DSH) 插件,提供 Harness 自己的"系统提示音",由官方事件驱动。

✨ 功能

场景音效触发事件
任务完成 / 回合完成叮咚叮咚叮咚(523/659/784Hz 上行三连音)jobs.onJobDone completed、turn/end
任务失败 / 请求出错嘟——(170Hz 方波)jobs.onJobDone failed、agent/request-error
等待批准叮(880Hz 短音)approval/asked
Agent 提问选择叮(880Hz 短音)tool/callask_user_question

声音使用 Web Audio 实时合成(振荡器),无任何音频文件依赖:零体积、不占空间、无版权问题。

🚀 安装

  1. 把本包放入你的 web profile 的 node_modules/ 下(或任意 bundle 解析位置)
  2. 在 profile 的 package.json 中注册 bundle:
{
  "dependencies": {
    "harness-sounds": "file:./node_modules/harness-sounds"
  },
  "dsh": {
    "profile": {
      "bundles": [
        "@deepseek-ai/dsh-base",
        "@deepseek-ai/dsh-web-app",
        "harness-sounds"
      ]
    }
  }
}
  1. 重启 dsh web,刷新页面
  2. 点击页面任意位置一次(浏览器自动播放策略需要用户手势解锁音频)

🔧 工作原理

┌─────────────────────────────────────────────┐
│  Host (Node.js)                             │
│                                             │
│  jobs.onJobDone ──┐                         │
│  agent/request-error ──┤                     │
│  session/event (approval/asked,             │
│    tool/call ask_user_question, turn/end) ──┘
│           │                                 │
│           ▼                                 │
│  SSE 广播  /harness-sounds/events           │
└───────────┬─────────────────────────────────┘
            │ EventSource
┌───────────▼─────────────────────────────────┐
│  Client (browser)                           │
│  Web Audio 合成 → 播放提示音                 │
└─────────────────────────────────────────────┘
  • Host 端 (.dsh-plugin/index.mjs):直接订阅官方服务事件(jobssession/eventagent/request-error),通过独立的 SSE 端点 /harness-sounds/events 推送。
  • Client 端 (.dsh-plugin/client.js):用 EventSource 订阅,Web Audio 振荡器合成三种音效。

📁 项目结构

harness-sounds/
├── package.json            # DSH bundle 声明(dsh.bundle / dsh.client)
├── cordis.patch.yml        # 组合补丁:挂载 harness-sounds 插件
└── .dsh-plugin/
    ├── index.mjs           # Host:事件订阅 + SSE 广播
    ├── client/
    │   └── index.mjs       # Client 源码:EventSource + Web Audio
    ├── client.js           # Client 构建产物(bundle 加载)
    └── src/
        └── session-events.mjs  # turn/start · turn/end 边沿解析(纯函数)

🔧 开发

# 构建 client(esbuild → __ModuleLoader__ 包装)
npx esbuild .dsh-plugin/client/index.mjs --bundle --format=cjs --platform=browser --target=es2020 --outfile=.dsh-plugin/client-bundle.js
node wrap-client.mjs .dsh-plugin/client-bundle.js .dsh-plugin/client.js harness-sounds

📄 许可证

MIT © 2026

🙏 致谢