精选
为什么选中它
待人工精选——以下事实来自源码仓库。
它能做什么
Desktop notifications for DeepSeek Harness turn completions, with per-outcome controls and include/exclude keyword rules.
适合谁
想用 DSH 获得这项能力的用户;装前建议先看源码和文档。
风险提示
- 未发现明显风险信号;安装前仍建议查看源码。
Desktop notifications for DeepSeek Harness turn completions, with per-outcome controls and include/exclude keyword rules.
待人工精选——以下事实来自源码仓库。
Desktop notifications for DeepSeek Harness turn completions, with per-outcome controls and include/exclude keyword rules.
想用 DSH 获得这项能力的用户;装前建议先看源码和文档。
dsh plugin --profile web add github:omdsh-dev/dsh-notification 类型判定: Installable DSH plugin via 'dsh plugin add' that contributes a notification skill to the web GUI. · 模型判定 · 2026年8月18日
作者没有声明支持的平台。
Notification API), so you can switch tabs and still know when DSH is done. Per-outcome toggles and include/exclude keyword rules control exactly which completions notify. No harness change is needed: the host contributes a session projection (a bounded summary of each session's last completed turn), and the client watches the session list's completion reminder and applies its own persisted preferences. host: notification projection (last turn's reason/text/tools) --session/projection--> browser client: session list completion reminder (live, dedup) + persisted settings -> permission + current-session visibility gate -> new Notification("DSH finished", { body: "deploy done" }) ## Install sh dsh plugin --profile web add https://github.com/omdsh-dev/dsh-notification/archive/refs/tags/v0.1.2.tar.gz Restart the web server so the host half and the served client bundle pick up the plugin. The default dsh web profile has the required client composition (the session list, the settings shell, and locale). The settings section lives under Settings > Notifications. ## Settings | Setting | Default | Effect | | --- | --- | --- | | Enable notifications | on | Master switch; off stops every notification while keeping rules. | | Notify on completed / error / aborted / blocked / token limit | completed + error on, rest off | Which turn-end reasons notify (the host projection reports the reason). | | Keyword rules | none | Include/exclude filters matched against the session title, the turn's reply text, and its tool names. Include rules: at least one must match. Exclude rules: a match suppresses. Rules support literal or regex matching with an optional case-sensitive flag. | | Require manual dismiss | off | The notification stays until dismissed. | | Only notify when the task is out of view | on | Suppress a notification only when its session is currently in view. A completion still notifies while the page is hidden or while another session/workspace is open. Turn it off to notify even for the session being watched. Notifications for the same session replace each other. | Preferences persist in the browser (localStorage). The section also grants browser permission and sends a test notification. ## Configuration Host-side tunables live on the plugin row in cordis.yml: yaml - id: dsh-notification name: dsh-notification config: maxBodyChars: 400 # projection body budget; longer replies are ellipsized host-side ## Model experience | Aspect | Effect | | --- | --- | | Token cost | None — notifications are UI-only and never enter a request. | | Tool calls | None — the model gets no new tool. | | Session log | Unchanged — the projection reads the existing log and adds no events. | | Prompt | Unchanged — no system-prompt section is registered. | ## Permission boundary - The host folds a pure projection over the session log (turn reason, bounded reply text, tool names) and the projection seam delivers it to the browser; the plugin writes nothing to the log and registers no model-facing tools. - The client watches the session list's completion reminder (a live "finished while not selected" edge the runtime already computes) and shows a notification only when the user has granted Notification permission. - Rule matching runs client-side against the projected content; the reply body never exceeds maxBodyChars. ## Development sh pnpm install # links the sibling dsh checkout for build and tests pnpm run check # typecheck + tests + build pnpm run test # vitest (host projection + composition, client decision/runner/helpers/section) pnpm run build # esbuild host/client/invariant bundles + tsc declarations The repo expects the harness checkout at ../dsh for the dev-time link: resolutions. The composition spec boots the real SessionStore and SessionProjectionRegistry and proves the fold. ## Known limitations - Notifications require the page to be open (the browser shows them while it is hidden, but not after the tab is closed) and Notification permission granted; a denied site permission cannot be overridden from inside the page. - Notifications fire once per finished turn (a running→idle edge on any session); a completion that happened while the page was disconnected is not re-notified on reconnect. - The rule subject is the session title plus the last turn's reply text and tool names — earlier turns are not matched. - Notification body is a flat text snippet; the click action only focuses the window (no deep link to the turn). ## License MIT不看 Star,人工一条条挑的。
把 DSH 的 settings.yaml 做成可视化看板:所有已注册的 settings namespace——包括官方界面从未覆盖的第三方插件配置——都渲染成可编辑表单。项目还早,但方向很对:告别手改 YAML。
给 DSH 的 DIY 轨迹可视化:把 agent 的计划与执行画成图,不用翻原始日志也能看清它在干嘛。项目还早,但补上了「一眼看懂 agent 在做什么」这个真实缺口。
从 Claude Code / Codex 把活派给 DSH:在宿主内拉起带分级预设的 DSH agent 会话,看原生子代理进度,还能借它的多模态桥给纯文本的 DSH 补上视觉和生图。编排型插件,把 DSH 变成其他编码 agent 的后端。