DeepSeek Harness Hub
← 返回列表

会话音效景观Blaczz/dsh-soundscape

DeepSeek Harnessspec-screened在 GitHub 查看 ↗
未验证

为回合完成、审批与报错实时合成提示音并撒彩带

尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/8/14 · 已提供中文文档

DeepSeek Harness Web UI 音景:回合完成庆祝(合成铃声 + 彩纸),阻塞/审批提醒,错误蜂鸣,打字环境音。零音频资源,零核心改动,外加一个 ctx.soundscape 服务。

综合分
28.2
GitHub 分
28.2
用户评分
★ Stars
2
周下载量
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add Blaczz/dsh-soundscape
该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
数据截至 2026/9/16(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-client-runtime@deepseek-ai/dsh-client-ui-conversation@deepseek-ai/dsh-client-ui-primitives@deepseek-ai/dsh-client-ui-settings@deepseek-ai/dsh-client-ui-slots@deepseek-ai/dsh-host-webserver@deepseek-ai/dsh-settings@deepseek-ai/schemastery
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

dsh-soundscape 🔊

DeepSeek Harness Web UI 会话声音景观:回合完成庆典(合成号角 + 彩带)、等待审批/回答警示音、错误提示音、发送提示音与可选打字氛围音。零音频资产、零核心改动,并为其他插件提供 ctx.soundscape 服务。

DeepSeek Harness(DSH) 的 Web GUI 插件:当 agent 完成一个回合、需要你审批、出错或被中断时,用 WebAudio 实时合成的音效给你反馈,成功回合还会撒彩带庆祝。所有声音由振荡器与包络实时生成——没有音频文件、没有网络请求、不改动任何核心代码,安装即用,可在设置页逐项开关。

✨ 特性

| 事件 | 音效 | 默认 |
|---|---|---|
| 回合开始 | 发送回弹敲击声 send | ✅ |
| 回合成功完成 | 庆祝号角 + 彩带 celebrate(或简洁铃声 ding) | ✅ |
| 回合出错 / 被中断 | 低沉蜂鸣 buzz | ✅ |
| 等待你审批 / 回答 / 评审计划 | 双音提醒 alert(节流 1.5s) | ✅ |
| 打开会话 | 柔和双音问候 greet | ⛔ |
| 流式输出(可选) | 打字氛围音 click(节流 + 随机抖动) | ⛔ |

- 零音频资产:全部 WebAudio 振荡器合成。
- 零核心改动:只走官方 client 插件扩展缝(conversation.input.dock / conversation.session.header.actions / settings.section)。
- 设置持久化:soundscape 设置命名空间,设置页即时保存。
- 跨插件服务:ctx.soundscape.play(name) / ctx.soundscape.celebrate(),其他 client 插件可直接调用。
- HMR 友好:所有注册都是 ctx.effect,热重载自动清理。

📦 安装

前置:已安装 DeepSeek Harness(dsh web 可运行)、Node ≥ 22.19、pnpm。

方式一:从 GitHub 仓库安装(推荐先试本地)
dsh plugin --profile web add "github:Blaczz/dsh-soundscape#main"

方式二:本地目录安装(开发用)
cd dsh-soundscape && npm install --legacy-peer-deps && npm run build
dsh plugin --profile web add ./dsh-soundscape

方式三:本地 link 安装
dsh plugin --profile web add link:./dsh-soundscape

安装后重启 dsh web(新增插件行需要重启一次;之后源码变更走 HMR)。

Git 安装需要 allowBuilds 授权:首次 add github:... 失败时,按 dsh 提示把包 key 写入
~/.dsh/profiles/web/pnpm-workspace.yaml 的 allowBuilds 再重跑;或直接发布 npm 包避免构建授权。

🎛️ 使用

1. 安装并重启后,打开任意会话,发送一条消息:
- 回合开始听到回弹敲击声;
- 回合成功完成——号角响起 + 彩带撒落(可在设置关闭庆典,改播简洁铃声);
- 出错/中断——低鸣;需要你审批/回答——双音提醒。
2. 会话标题栏有 🔊/🔇 快捷静音按钮(记住状态,重启不丢)。
3. 设置 → 音效:主开关、主音量、每类音效开关与试听、流式氛围节奏旋钮。

🔌 开发者:ctx.soundscape 服务

其他 client 插件在 inject 中加入 soundscape 即可调用:

export const inject = ['slots', 'soundscape']

export function apply(ctx: Context): void {
// 播放某个音效
ctx.soundscape.play('celebrate')
// 完整庆典(音效 + 彩带)
ctx.soundscape.celebrate()
// 查询/切换主开关
if (!ctx.soundscape.isEnabled()) ctx.soundscape.setEnabled(true)
}

可播放音效:click send ding celebrate buzz alert greet。每个音效受用户设置中对应开关与音量的约束。

🛠️ 本地开发

npm install --legacy-peer-deps          # 安装构建依赖
$env:DSH_NODE_MODULES = "$env:USERPROFILE\.dsh\profiles\node_modules"
npm run setup:dsh-workspace             # 软链运行时的 @deepseek-ai/* 包
npm run verify                          # ★ 一键本地验证(clean + typecheck + test + build)
npm run typecheck                       # 类型检查(src + tests)
npm test                                # vitest 单测(37 项:状态机/synth/引擎/设置/manifest)
npm run build                           # tsc + tsdown → lib/
dsh web --patch ./cordis.patch.yml      # 零安装快速验证(或装进 profile 后重启)

npm run verify 是上传前的门禁:抽取出的纯状态机(turn-feedback.ts)+ mock AudioContext / fetch 单测,能在本地抓出事件映射、门控、节流等逻辑 bug,无需浏览器。

目录结构

dsh-soundscape/
├── package.json            # dsh.bundle.patch + dsh.client 双契约
├── cordis.patch.yml        # bundle 补丁层(插入本包一行)
├── tsdown.config.ts        # client bundle(__ModuleLoader__.load + 纯度门禁)
├── scripts/                # build / clean / setup-dsh-workspace
├── src/
│   ├── index.ts            # 宿主半:设置命名空间 + loopback HTTP API
│   ├── soundscape-settings.ts  # 共享设置模型(schema + 默认值)
│   ├── settings-api.ts     # GET/PATCH 设置 API(loopback-only)
│   └── client/             # 浏览器半
│       ├── index.ts        # apply:ctx.soundscape 服务 + 槽位注入
│       ├── SessionListener.tsx  # 会话快照 diff → 事件音效
│       ├── SoundEngine.ts  # WebAudio 引擎(懒加载 AudioContext)
│       ├── synth.ts        # 纯合成原语(振荡器 + 包络)
│       ├── confetti.ts     # 零依赖 canvas 彩带粒子
│       ├── HeaderMute.tsx  # 标题栏静音按钮
│       ├── SettingsSection.tsx # 设置页(含试听)
│       └── settings-client.ts  # 设置 API 客户端
└── tests/                  # manifest 契约 + 设置补丁校验

🧩 生态定位

- 填补空白:DSH 生态此前没有回合完成音效/庆典动效、无等待审批警示音(桌面通知无声,dsh-fun-typewriter 只覆盖打字氛围)。
- 技术路线:client 插件双面(dsh.client + bundle patch),照搬 dsh-fun-typewriter 的 WebAudio 零资产与插件自持设置 API 模式,扩展 ctx.soundscape 跨插件服务(同 dsh-client-shortcuts 的 ctx.provide 范式)。
- 零核心改动:所有注册走 ctx.effect / ctx.slots.inject,HMR 卸载即清理。

⚖️ License

MIT © 2026 Blaczz。项目与 DeepSeek Harness 无关,社区插件。

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

💬 加入 DPharness 群聊

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

点击加入 QQ 群
DPharness 群聊二维码,手机 QQ 扫码进群
扫码进群