Maple-Yoli/dsh-notice-card ↗★ 0
dsh-notice-card
任务结束或等待审批、回答时弹出通知卡片 适合需要非抢占式桌面弹窗提醒任务状态的用户。
安裝
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:Maple-Yoli/dsh-notice-card說明文件
閱讀完整 README ↗配置
在 patch 的 config: 里传,例如只关掉「任务结束」的提示:
- insert:
- id: notice-card
name: C:/path/to/dsh-notice-card/lib/index.mjs
config:
onTurnEnd: false
seconds: 20
| 键 | 默认值 | 说明 |
|---|---|---|
onTurnEnd | true | 一轮任务结束时弹卡 |
onApproval | true | DSH 等你审批工具调用时弹卡 |
onQuestion | true | DSH 等你回答问题(ask_user_question)时弹卡 |
seconds | 10 | 无人操作时卡片存活秒数;有请求在等的卡会提前收起 |
turnEndTitle | 任务已结束 | 任务结束卡的标题 |
turnEndBody | DSH 已完成本轮任务,等你下一步。 | 任务结束卡的正文 |
approvalTitle | 等你审批 | 审批卡的标题 |
approvalBody | 工具:{tool}{reason} | 审批卡的正文模板,{tool} 为工具名,{reason} 为审批理由 |
questionTitle | 等你回答 | 提问卡的标题 |
questionBody | 问题:{question} | 提问卡的正文模板,{question} 为问题文本 |
processName | 自动推断 | 点卡片右上角窗口图标时聚焦的进程名 |
appPath | 自动推断 | 该进程不在时启动的可执行文件路径 |
scriptPath | 包内 notify.ps1 | 想改绘制逻辑时指向你自己的副本 |
processName 与 appPath 默认从宿主进程推出来:桌面端下是 DeepSeek Harness 和它的 exe 路径。如果你用别的壳跑 DSH,改成对应值即可;两个都留空则窗口图标只关卡片、不聚焦。
行为说明
- 不抢焦点:卡片创建时带
WS_EX_NOACTIVATE,并会把焦点还给原来那个窗口。你可以一直打字、一直全屏放视频。 - 独占全屏时绕开:游戏(或任何盖满屏幕的前台窗口)独占显示时,画一张普通顶层窗口会逼 Windows 切换显示模式,屏幕黑一下再回来(约 0.7 秒)。所以「任务已结束」卡会先等最多 10 秒——够你 alt-tab 出来看它——全屏还在就丢弃;审批/提问卡则会一直等到全屏结束,因为它是 agent 卡住时唯一的提示。
- 点了才关:点卡片右上角的
✕立即收起;点窗口图标则把 DSH 窗口调到前台。不点的话,seconds秒后淡出。 - 审批卡不会自己消失:审批/提问的卡会一直挂着,直到应用内面板真的把请求答完,然后才淡出。最少显示 1.2 秒,避免秒闪。
- 压在最上层:卡片进程自己声明
HWND_TOPMOST,跟其他置顶窗口抢顶时可能被挤到后面,属正常现象。