前言¶
在 DeepSeek Harness (DSH) 的使用中,智能体常在后台运行。当任务需要用户介入(如模型提问、授权请求或方案审查)时,若用户处于页面失焦或隐藏状态,容易错过处理时机。dsh-tab-alert 插件旨在解决这一可见性问题,同时为外部工具提供统一的事件数据流。
功能¶
该插件提供两项核心能力:
任务栏提醒
当 dsh 需要用户操作时,插件通过 Web Notification 触发系统通知,并在操作系统任务栏上闪烁图标(Windows 下为橙色闪烁,Linux 下为通知与 Dock 脉冲)。仅对以下场景触发:
1. 模型提问
2. 授权请求
3. 方案审查
4. 目标完成/失败
5. 后台任务完成/失败
6. 会话在别处完成
7. dsh 完成当前回合
实时事件源
插件维护各会话的实时状态机,并将归一化的状态数据通过 WebSocket 端点对外提供,供外部消费方使用。
- 端点地址:ws://127.0.0.1:<port>/tab-alert/stream
- 典型应用场景:dsh-pet 桌面宠物插件、状态面板或自定义监控工具。
安装¶
安装前请确保 dsh CLI 可用,且目标 profile(如 web)已初始化。
- 执行安装脚本:
powershell -ExecutionPolicy Bypass -File .\install.ps1
- 卸载插件:
dsh plugin --profile web remove dsh-tab-alert
配置¶
可通过 dsh 行级 config 覆盖默认值。以下配置项可用于控制通知行为:
- id: dsh-tab-alert
config:
enabled: true
kinds:
question: true
approval: true
planReview: true
goalComplete: true
goalBlocked: true
jobCompleted: true
jobFailed: true
sessionCompleted: true
silent: true # 静音模式:只闪烁不响铃
requireInteraction: false # 通知常驻直到手动关闭
debug: true # 控制台调试日志
注意事项¶
- 仅对需要用户介入的场景(提问、授权等)触发提醒,普通回复不触发。
- 首次使用需请求通知权限,用户拒绝后插件保持静默,不做页内降级。
- 插件依赖以下 peerDependencies:
@deepseek-ai/cordis(^4.0.1)@deepseek-ai/dsh-client-runtime(^0.1.0-rc.6)- 卸载插件后,相关的订阅快照与通知配置将自动清理。
结语¶
dsh-tab-alert 通过系统通知与任务栏闪烁解决了后台任务可见性问题,同时通过 WebSocket 为外部工具提供了统一的事件流接口。该项目遵循 MIT 许可证,源码与文档可在其 GitHub 仓库查阅。