DeepSeek Harness 插件

cc-dsh-notifier

Claude Code + DeepSeek Harness Windows 通知系统:Toast + 点击跳转(英文原文)

跳到安装方式

来源信息

GitHub 仓库
baobaolaodie/cc-dsh-notifier
最近更新
2026年8月18日
分类
模型与服务商
GitHub stars
0
载体类型
plugin
目录证据
上游声明已找到 dsh.bundle
证据路径
package.json#dsh.bundle
核对版本
0.1.0-rc.8
上游核对日期
2026-08-20

该证据由上游目录提供。本站没有安装、运行或安全审核这个插件。

安装

默认先复制一段 Prompt,让 Agent 读 GitHub 仓库和源码;需要自己装时再切到命令。

复制这段 Prompt,发给 DSH、Codex 或其他 Agent,让它先读 GitHub 仓库和源码。

请先不要安装或执行任何命令。阅读这个插件的 GitHub 仓库、README 和关键源码,然后用清楚、直接的方式回答以下问题,帮助我判断它是否适合我的需求:

1. 这个插件是什么,解决什么问题;
2. 适合哪些用户和典型使用场景;
3. 安装后如何使用,并给出一个最小使用示例;
4. 有哪些已知限制,以及隐私、安全、兼容性或维护风险;
5. 给出“推荐 / 有条件推荐 / 不推荐”的明确建议和理由。

请区分仓库明确说明、根据源码推断和未知信息。证据不足时请明确说明,不要猜测或照抄 README。

GitHub:https://github.com/baobaolaodie/cc-dsh-notifier
插件名:cc-dsh-notifier
作者:baobaolaodie

检查来源文件

安装前先看这个插件目录里的 README 和其他文件。

文件资源管理器3 个文件
README.md来源说明 · 只读预览

<h1 align="center">cc-dsh-notifier</h1>

<p align="center"> <strong>Windows desktop notifications for Claude Code and DeepSeek Harness sessions</strong> <br /> <em>Permission requests · Questions · Waiting for input · Click-to-return</em> </p>

<p align="center"> <a href="#quick-start"><img src="https://img.shields.io/badge/Quick_Start-4CAF50?style=for-the-badge" alt="Quick Start" /></a> <a href="LICENSE"><img src="https://img.shields.io/badge/License-MIT-yellow?style=for-the-badge" alt="License" /></a> </p>

<p align="center"> <a href="https://github.com/baobaolaodie/cc-dsh-notifier/releases"><img src="https://img.shields.io/badge/version-0.1.2-4CAF50?style=flat" alt="version 0.1.2" /></a> <a href="https://docs.anthropic.com/en/docs/claude-code"><img src="https://img.shields.io/badge/Claude_Code-D97757?style=flat&logo=claude&logoColor=white" alt="Claude Code" /></a> <img src="https://img.shields.io/badge/DeepSeek_Harness-4D6BFE?style=flat&logo=deepseek&logoColor=white" alt="DeepSeek Harness" /> <img src="https://img.shields.io/badge/Windows_10%2F11-0078D6?style=flat&logo=windows&logoColor=white" alt="Windows 10/11" /> <img src="https://img.shields.io/badge/Node.js_18+-339933?style=flat&logo=node.js&logoColor=white" alt="Node.js 18+" /> <img src="https://img.shields.io/badge/Python_3-3776AB?style=flat&logo=python&logoColor=white" alt="Python 3" /> </p>

<p align="center"> English · <a href="README-zh.md">中文</a> </p>

cc-dsh-notifier raises a native Windows toast with sound when an agent needs your attention and you are not looking at its window. It serves Claude Code through its hook system and DeepSeek Harness through a small bundle plugin, sharing one daemon pipeline. Clicking a toast returns you to the session window. Zero third-party npm dependencies.

Features

FeatureDescription
Interruption eventsNotifies on permission requests, questions, and waiting for input
Focus awarenessSuppresses notifications while the session window is focused; notifies only when it is not
Click-to-returnSetForegroundWindow targets the session window; browser tabs activate via CDP, with a UIA fallback
Multi-sessionEach session binds its own window handle; toasts carry the session identity
Localized notificationsToast text follows the Windows display language (auto) or a language setting (zh/en)
DeepSeek HarnessThe dsh-notifier plugin covers web and tui profiles with one install

Quick Start

Prerequisites

  • Windows 10 or 11
  • Node.js 18 or later
  • Python 3 with the winrt packages: pip install winrt-runtime winrt-Windows.UI.Notifications winrt-Windows.Data.Xml.Dom

Install (Claude Code)

node scripts/install.mjs

The installer backs up ~/.claude/settings.json, injects five hooks, registers the cc-notifier AppUserModelID, and writes the default config. Open a new Claude Code session afterwards.

Install (DeepSeek Harness)

Recommended — download the tarball from the latest release and install it (no repository clone, no credentials):

dsh plugin --profile web add ./baobaolaodie-cc-dsh-notifier-0.1.5.tgz
dsh plugin --profile dsh-tui add ./baobaolaodie-cc-dsh-notifier-0.1.5.tgz

> 版本说明 / Version note: 顶部徽章 0.1.2 是 root 包版本;上方 tarball 名 0.1.5 是 dsh 插件包版本,两者是两个独立的发布单元(en: top badge = root package, tarball = dsh plugin; independent release units). Alternative — git install (clones the whole repository, zero config):

dsh plugin --profile web add github:baobaolaodie/cc-dsh-notifier
dsh plugin --profile dsh-tui add github:baobaolaodie/cc-dsh-notifier

> GitHub Packages (@baobaolaodie/cc-dsh-notifier) exists as a maintainer convenience channel only: GitHub Packages' npm registry always requires a read:packages token for downloads, even for public packages (verified). Use the tarball or git install instead.

Verified against dsh 0.1.0-rc.6 on Windows 11 (2026-08-16): web and tui profiles, permission/question/waiting-for-input notifications, focus-aware silence, click-to-return, and the tarball install flow.

Verify

npm test

Usage

Claude Code

Start a session and switch away. The system notifies when Claude requests a permission, asks a question, or finishes a turn.

claude
# switch to another window; toasts appear when Claude needs you

DeepSeek Harness

The plugin forwards dsh session events into the same pipeline. Web sessions bind to the browser window; tui sessions bind to the terminal window:

dsh web          # or: dsh --profile web
dsh-tui          # or: dsh --profile dsh-tui

Manual trigger (testing)

node scripts/test.mjs permission-request   # permission-request | ask-user-question | stop | session-start

Toasts are suppressed while the target window is focused, so switch away to observe them.

Configuration

Edit ~/.cc-notifier/config.json (created on install):

KeyDefaultDescription
enabledtrueSet to false to disable notifications globally
dedupWindowMs0Deduplication window (ms); 0 = no dedup; >0 merges per session+type
pythonPathemptyAbsolute path of the toast interpreter (written by the installer); empty = python from PATH
pollIntervalMs10000Daemon window-poll period (ms)
windowWhitelist[]Browser process whitelist for dsh web binding/focus (e.g. chrome.exe/msedge.exe)
soundtrueSet to false to mute toast sound
languageautoToast language: auto (system display language, zh-*→zh, en-*→en, other/failure→en), zh, or en

Architecture

An event-driven pipeline runs only while sessions are active. Claude Code hooks and the dsh plugin both produce the same normalized payloads; a resident daemon decides whether to notify, and a Python agent shows the toast:

%%{init: {'theme': 'base', 'themeVariables': {'fontSize': '14px'}}}%%
flowchart LR
    CC["Claude Code<br/>hooks"] --> NA["notify-agent.mjs<br/>forwarder"]
    DSH["dsh-notifier<br/>plugin · web/tui"] --> NA
    NA -->|"HTTP · localhost"| DM["daemon.mjs<br/>sessions · focus · lifecycle"]
    DM --> TA["toast-agent.py<br/>winrt toast"]
    TA -->|"click"| WIN["session window<br/>SetForegroundWindow · CDP/UIA tab"]
    DM --> ST[("state · logs<br/>%LOCALAPPDATA%")]

    classDef client fill:#3B82F6,stroke:#2563EB,color:#fff,stroke-width:2px
    classDef service fill:#10B981,stroke:#059669,color:#fff,stroke-width:2px
    classDef data fill:#8B5CF6,stroke:#7C3AED,color:#fff,stroke-width:2px

    class CC,DSH,WIN client
    class NA,DM,TA service
    class ST data

The daemon is single-instance: it wakes on demand, exits after 60 seconds of no sessions, and self-restarts when its code changes. Sessions re-register automatically after a daemon restart.

Project Structure

├── scripts/               # Runtime pipeline
│   ├── notify-agent.mjs   # Hook forwarder (Claude Code)
│   ├── daemon.mjs         # Resident process: sessions, focus, dedup
│   ├── toast-agent.py     # Python winrt toast + click handling
│   └── lib/               # Shared modules, win32 bridge, CDP/UIA helpers
├── plugins/
│   └── dsh-notifier/      # dsh bundle plugin (web + tui profiles)
├── test/                  # node:test suite (explicit file list)
├── docs/                  # Installation, usage, troubleshooting (bilingual)
└── package.json           # Zero runtime dependencies

Tech Stack

LayerTechnologyPurpose
RuntimeNode.js 18+ (ESM)Forwarder, daemon, plugin
NotificationsPython 3 + winrtWindows toast rendering and activation
Window bridgePowerShell 5.1 + C# helpersWindow enumeration, foreground query, CDP/UIA tab activation
Testingnode:testUnit + integration tests

Deployment

CI runs on GitHub Actions (test × 6 matrix across Node 18/20/22 on Ubuntu and Windows, plus quality, pr-policy, docs-links, and a summary job). See .github/workflows/ci.yml.

Contributing

1. Fork the repository 2. Create a feature branch (git checkout -b feature/your-change) 3. Commit with Conventional Commits (feat:, fix:, docs:, …) 4. Open a Pull Request

PRs must pass the full CI suite, including the bilingual documentation mirror check and version consistency checks. See [CONTRIBUTING.md](CONTRIBUTING.md).

License

[MIT](LICENSE)