nanami-0713/dsh-notifier
nanami-0713★ 0TypeScript最后同步: 2026-08-15
DSH 插件:任务结束 / 需要用户决策时弹窗提醒(web toast + 桌面通知),类似 Codex / Claude Code 体验
README 摘要
@dsh-external/dsh-notifier DSH 的任务提醒插件: 任务运行结束 、 运行中需要你做决策(权限审批 / 用户提问) 时,弹出 跨窗口可见 的提醒——类似 Codex / Claude Code 的 Hook 通知体验:你切到任何应用、任何桌面空间(甚至全屏应用)都能看到。 - 跨窗口悬浮面板(默认,v0.2) :macOS 用内置 Swift notifier(NSPanel .floating + canJoinAllSpaces + fullScreenAuxiliary ),浮在 所有应用窗口之上、所有 Space / 全屏应用之上 ;样式与网页 toast 同款,「去处理 / 查看会话」按钮直接唤起浏览器打开 DSH - web 内 toast 弹窗 :DSH 网页里的右下角深色通知卡片 + 提示音(React portal 挂在 document.body ,保证浮在面板之上) - 系统通知中心横幅 :macOS osascript / Linux notify-send / Windows 气泡,可配置关闭 - 决策型弹窗钉住不放 :审批 / 提问在 web 端被回答、被拒绝后,悬浮面板自动消失;任务结束/出错面板 10 秒自动消失 效果截图 跨窗口悬浮面板与网页内 toast 使用同一套卡片设计,下面即实际样式: 任务完成 需要批准 需要回答 工作原理 事件 → Hook(host 插件)→ 系统提醒,与 Claude Code 的 Notification Hook 同构: 提醒 触发事件(host Hook) web 弹窗信号(client) 任务结束 agent/status : running → idle 边沿 events.host 流 host/session-status : running: true → false 边沿 权限审批 session/event : approval/asked (waterfall approval/request 辅助观察); approval/decided 关闭面板 events.mux 流 approval/requested / approval/resolved 用户提问 session/event : tool/call ( ask user question );对应 tool/result 关闭面板 events.mux 流 question/requested / question/resolved 任务出错 agent/error events.host 流 host/agent-error - client 用 ctx.connection 消费两条实时事件流,断线自动重连;host 与 client 相互独立,任一失效不影响另一半 - 跨窗…
在 GitHub 查看完整 README →