linanbuan/dsh-system-notify ↗★ 1
@local/dsh-system-notify
系统弹窗 · System notification — DeepSeek Harness 宿主插件:在 agent 运行时层检测「会话要求授权 / 电脑操控请求 / 会话终止 / 任务结束」,通过 Windows App SDK 弹出系统通知。检测点独立于 LLM 输出,规则与发送解耦,支持开关与节流。
インストール
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:linanbuan/dsh-system-notifyドキュメント
README 全文を読む ↗首次使用:编译原生助手
通知真正的发送端是 native/ 下的 Windows App SDK 小助手(Node 自己弹不出系统通知)。有两种情况:
-
自动:
sink.autoBuild默认开启。第一次要发通知时,插件会自己跑native/build.ps1(没有这个脚本就退到dotnet build native/*.csproj -c Release),构建期间的通知会排队等它; -
手动:自己先编一次,之后启动零延迟:
需要 .NET SDK 10(原生侧目标 net10.0-windows10.0.19041.0)
pwsh -NoProfile -File native/build.ps1
构建产物落在 native/bin/Release/(已被 .gitignore 排除)。想确认发送端是否通,用诊断接口的 /test(见下),或直接跑助手自检:
nativeinReleaseDshNotificationSink.exe --selftest
配置
写在 profile 的 cordis.patch.yml 里,按 id 覆盖:
- id: system-notify
config:
enabled: true
sink:
provider: windows # windows | log | none
helperPath: '' # 留空=自动在 native/bin 下找
appName: DeepSeek Harness
appIconPath: '' # 留空=用 native/assets 里的图标
timeoutMs: 5000
autoBuild: true
fallbackProvider: log # windows 发送失败后降级到哪
throttle:
dedupeWindowMs: 8000 # 同一件事的重复通知窗口
minIntervalMs: 1000 # 同一类事件的最小间隔
maxPerMinute: 15 # 全局每分钟上限
quietHours:
start: '' # 'HH:mm',留空=不启用
end: ''
allowHighSeverity: false # 静音时段内高优先级是否仍放行
scope:
includeChildSessions: false # 子 agent 会话要不要弹
approvalGraceMs: 1500 # 授权通知的等待时间,0 = 立刻弹
limits:
maxTitleChars: 72
maxBodyChars: 220
queueLimit: 32
所有字段都有默认值,写错的值会被夹回合法范围并在日志里留一条 系统弹窗配置:… 说明——配置写错不会让插件挂不上,但也不会悄悄生效。