DSH Plugins Marketplace

DSH Plugins

Plugins

/

Terminal & Clients

/

dsh-dudulu

d

dsh-dudulu

Manifest valid

Beep · Task Notification Sound Plugin: plays 【dudulu~】 when a task completes, pauses (waiting for approval/question), or errors. Detection and playback happen entirely in the browser — by directly listening to the pendingInteraction / running edges via the sessions store of dsh-client-connection (more accurate than inferring from turn/end reason). The sound plays on the machine where you have the web page open, no server-side audio device needed. Sub-agents stay silent. Settings are stored in localStorage: three notification toggles, a volume slider, and a custom notification sound (upload, <1MB). The default sound is the built-in dudulu01.mp3 (base64-embedded into client.js, works out of the box, no dependency on any audio file hosting).

UI (client)hasBundlePatch

dsh-dudulu(嘟一声)

DeepSeek Harness (dsh) 网页界面的任务提示音插件:任务完成、任务暂停(等待审批 / 提问)、出错时播放【嘟嘟噜~】。

检测与播放全部在浏览器端完成——声音在你开网页的那台机器上响,与 DSH 服务端跑在哪台机器、什么操作系统无关。Windows / Linux 都行,不需要在服务端装播放器或配置声卡。

它解决什么

DSH 跑在 Kali / 远程机、你从 Windows 浏览器(甚至 SSH 隧道)访问时,原来服务端本地播放的声音你根本听不见。这个插件把"判定 + 出声"都放到浏览器:网页开着,任务有进展就响,你随时能知道 agent 卡住等你了。

工作原理(v0.5.5)

适配 DeepSeek Harness 0.1.1-rc.2 及以后:settings.section 按新版 list slot 契约注册(slots.register(options, Component),options 必须带全局唯一 id + label 函数)。旧版 {title, component} 写法会抛 list slot "settings.section" requires options.id 导致插件加载失败。

通过 @deepseek-ai/dsh-client-connection 提供的 sessions store 直接监听会话状态边沿(参考 dsh-alert-sound 的同款做法):

触发信号说明
任务暂停pendingInteraction === 'approval' / 'question'直接信号,比 turn/end 的 reason 推断更准
任务完成running 由真 → 假,且会话无错—
出错running 由真 → 假,且会话有错(turn-error / lastAgentError)—
  • Host 半片是空占位:只为让 bundle 按包名注册;判定、播放、设置全在 client/client.js。
  • 播放用 Web Audio API。默认提示音是内置的 dudulu01.mp3(你提供的音频,base64 内嵌进 client.js,开箱即响,不依赖任何音频文件托管);仅当该音频解码失败时才回落**内置合成音「嘟嘟噜」**兜底(三段上行短音,A5→D6→E6,纯 oscillator 生成,不落盘)。
  • 浏览器自动播放策略:首次点击 / 按键后解锁 AudioContext,之后照常响。

通知类型

默认三类都开,可在设置页分别关:

  • 任务完成
  • 任务暂停(等待审批 / 提问)
  • 出错

子代理(subagent)不响。

设置(存 localStorage)

偏好保存在浏览器 localStorage 的 dsh-dudulu.v1 键下,刷新 / 重启保留:

  • 总开关
  • 三类通知各自的开关
  • 音量滑条(0–100,拖动即试听)
  • 默认提示音为内置 dudulu01.mp3;可上传 <1MB 的自定义音频覆盖,支持「恢复默认」(回到 dudulu01.mp3)与「清除」(清除后回落内置合成音「嘟嘟噜」)

打开 设置 → dudulu · 嘟一声 配置。

要求

  • DeepSeek Harness web profile(dsh web)
  • 支持 Web Audio 的浏览器
  • 网页需保持打开(关了就不响);首次需一次用户手势解锁声音

安装

# 方式一(默认):git-over-HTTPS 走 github.com 主域
dsh plugin --profile web add github:Cmjingahaha/dsh-dudulu

# 方式二(备用):github.com 主域不可达、仅 codeload.github.com 可达时,
# 用源码压缩包安装(实测该网络下 git-over-HTTPS 会静默挂起)
dsh plugin --profile web add https://codeload.github.com/Cmjingahaha/dsh-dudulu/tar.gz/refs/heads/main

重启 dsh web,打开 设置 → dudulu · 嘟一声 即可。

故障排查

  • 设置页没有「dudulu · 嘟一声」条目:先看浏览器 F12 控制台是否报 failed to apply loader entry (dsh-dudulu)。apply() 抛错会让整个插件条目回滚——设置面板和提示音会一起失效(同一根因的两个表现)。
  • 确认软链存在:~/.dsh/profiles/web/node_modules/dsh-dudulu → ~/.dsh/plugins-local/dsh-dudulu(host 端 bare specifier 解析依赖它)。
  • 修改插件后务必硬刷新浏览器(Ctrl+Shift+R)——前端会缓存旧的 client bundle。

项目结构

├─ package.json        # dsh.bundle + dsh.client(声明注入 dsh-client-connection 等)
├─ cordis.patch.yml    # 组合补丁:插入一行 host 占位
├─ index.js            # Host 半片(空占位)
└─ client/
   └─ client.js        # Client 逻辑:sessions 边沿检测 + WebAudio 播放 + 设置面板

许可

MIT

Comments

Loading…

From the same category

dsh-web

by zhu1090093659

DeepSeek Harness (DSH) Web Plugin Aggregation Ecosystem · Everything is a plugin, distributed via the Creative Workshop

Tools & CapabilitiesUI & ExperienceDevelopment & InfrastructureTerminal & ClientsModels & ProvidersManifest valid

★ 8.3k

↓ 172/wk

Apache-2.0

TypeScript

Oct 2, 2026

dsh plugin --profile web add dsh-web

by ccch1mneyyy

DSH 官方公众号收录的 TUI 补位插件:Claude Code 风,鲸鱼顶栏/实时状态/流式思考/双击 Esc 回滚/上下文进度+TPS。npm 一键装。 DSH official WeChat featured TUI plugin — Claude Code style: whale bar, live status, streaming thoughts, double-Esc rol

Terminal & ClientsManifest valid

★ 3.9k

↓ 13.6k/wk

MIT

TypeScript

Oct 2, 2026

dsh plugin --profile terminal add @deepseek-harness-tui/dsh-tui

by YuJunZhiXue

DeepSeek Harness 破甲:让所有模型都能破甲,不同模型可换不同提示词;默认提示词面向国模「小码酱」。Jailbreak for every model — swap prompts per model. 求 Star 收藏 ⭐

Tools & CapabilitiesTerminal & ClientsManifest valid

★ 3k

MIT

JavaScript

Oct 2, 2026

dsh plugin --profile web add dsh-purge

by bowenliang123

The best DeepSeek Harness plugin for context insight and management, with context dashboard / browser / sidebar and context command, for context statistics, composition, breakdown, evolution details,

Tools & CapabilitiesUI & ExperienceTerminal & ClientsManifest valid

★ 1.8k

↓ 33.2k/wk

Apache-2.0

TypeScript

Sep 30, 2026

dsh plugin --profile web add dsh-context

by agentrq

AgentRQ: Human-in-loop realtime conversational task manager for AI Agents. Self-hosted! Control your own agents from wherever you want Mobile, Web, Desktop. Designed to work well with your own Claude

Workflow & AutomationUI & ExperienceTerminal & ClientsManifest valid

★ 1.1k

↓ 56/wk

Apache-2.0

JavaScript

Oct 2, 2026

dsh plugin --profile web add @agentrq/dsh-plugin-agentrq

by vshulcz

One memory shared by Claude Code, Codex, Cursor, Copilot CLI, OpenClaw and 20 more coding agents, built from the session history already on disk. A fix found in one agent comes back in any of them, in

Tools & CapabilitiesTerminal & ClientsMemory & ContextManifest valid

★ 1.1k

↓ 1.3k/wk

MIT

Go

Oct 2, 2026

dsh plugin --profile web add dsh-deja