voyager
Nagi-ovo
Enhancement suite for Gemini, AI Studio, Claude & ChatGPT — plus a prompt manager for any web UI, DeepSeek Harness included. / 面向 Gemini、AI Studio、Claude 与 ChatGPT 的增强套件;提示词管理器可用于任意 Web UI,含 DeepSeek Harness。
byh819-png/dsh-client-ui-notify
Ringtone notifications for DeepSeek Harness: alerts are triggered when the conversation ends and when authorization is required (either with a built-in tone, TTS voice, or custom audio). **DeepSeek Harness 网页端铃声提醒插件:回答完成或需要授权时响铃提醒,支持内置铃声 / 文字转语音 / 自定义音频。
PROJECT TOPICS
INSTALL REFERENCE
dsh plugin --profile web add github:byh819-png/dsh-client-ui-notify
该命令指向仓库当前默认分支;尚无绑定当前 commit 的完整验证结果。
PROJECT README
English | 中文
Sound-alert plugin for the web client: rings when a session's answer completes and when a session needs authorization, so a background conversation cannot finish unnoticed.
The browser half provides ctx.notify (a NotifyRuntime) and registers a preference row into the settings General section; the Host half exposes the durable ui-notify settings namespace the row reads and writes through ctx.settingsScope, stored in the user-settings document ($DSH_HOME/settings.yaml by default).
The runtime observes ctx.sessions.list and rings in two situations, both gated by the master switch and their own toggle:
running bit flips true → false (the sidebar's green "done" reminder, current session included).pendingInteraction appears (approval, plan review, or ask-user question).The first list snapshot only records observed state (a session already idle at load rings nothing), and connection/reset re-baselines so reconnect status replay cannot ring.
src/client/builtin-ringtone.ts), so no extra asset route exists.speechSynthesis.speak reads the configured text aloud (skipped when the text is empty).$DSH_HOME/storages/ui-notify/audio/, read and written through the trust-fenced /_dsh-ui-notify/audio/<id>.<ext> webServer route (the same browser-trust fence as /api, loopback-only); the durable setting stores just the served URL — file bytes never enter the settings document.
Common audio formats are supported (wav, mp3, ogg, mp4, m4a, webm, aac, flac, aiff, wma, mid).Playback degrades to a no-op when the platform capability is absent, so a misconfigured alert never throws from an event handler. The row's Preview button plays the current method immediately.

The General settings row adds the Enable sound alerts master switch, the two event switches (alert when an answer completes / alert when authorization is needed), the Alert method selector, the method-specific input fields, and the Preview button. Every control writes exactly one field through the injected setField face; the row never touches the settings transport itself. The Host half registers the namespace only when the settings provider is composed, so a deployment without one shows no row and no namespace.
Quick start: download the installer (zip), extract it, and run install.ps1 on Windows or bash install.sh on macOS/Linux; restart dsh web and you are done.
Manual installation:
Copy the plugin directory (package.json + lib/) to $DSH_HOME/profiles/node_modules/@deepseek-ai/dsh-client-ui-notify/ ($DSH_HOME defaults to ~/.dsh).
Append the loader row to $DSH_HOME/profiles/web/cordis.patch.yml (or the profile that serves the web UI):
- insert:
- id: ui-notify
name: '@deepseek-ai/dsh-client-ui-notify'
Restart dsh web and refresh the browser; the Sound alerts row appears under Settings → General.
To uninstall: delete the copied directory and the ui-notify rows from cordis.patch.yml.
The plugin is a plain npm package; its runtime dependencies (cordis, dsh-settings, …) come from dsh's built-in closure, so no extra install is needed.
None, as the plugin plays browser sounds; nothing here reaches a model request.
None; this package neither assembles nor sends a provider request.
trustedHosts gets 403 on uploads/downloads (playback of http(s)/data URLs is unaffected); wiring the route into the trusted-host list is deferred.$DSH_HOME/storages/ui-notify/audio/; no retention sweep exists yet.CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: notification。