前言¶
DeepSeek Harness (DSH) 的核心能力在于其插件化架构。dsh-trafficlight 是一个宿主插件,它结合了浏览器 Web GUI 扩展和 macOS 原生应用,将 DSH 的会话流事件转化为直观的红/黄/绿三色灯状态,帮助开发者在多会话开发中实时掌握任务进度。
功能¶
- macOS 全局悬浮窗:在屏幕右上角显示订阅会话的实时状态。悬浮窗支持拖拽移动、自适应布局,并在连接断开或无订阅时显示空态。
- Web GUI 订阅按钮:在浏览器端会话头部提供「🚦 订阅」按钮,允许用户选择关注特定的会话,而非展示所有会话。
- 状态颜色映射:
- 🔴 红灯:会话处于阻塞状态(如等待批准、提问)。
- 🟡 黄灯:会话正在执行中(回合进行中)。
- 🟢 绿灯:会话已完成。
- ⚪ 暗灯:空闲或未连接 DSH。
- 订阅持久化与交互:订阅列表保存在本地文件,重启服务后保留。悬浮窗内每行提供「⊖」按钮可单独取消订阅。
安装与启用¶
该插件仅支持 dsh 的 web profile。
- 安装:
dsh plugin --profile web add @chivaskong96/dsh-trafficlight
- 重启服务:
dsh web
- 前置要求:
- Node.js 版本 >= 22.19.0
- dsh 版本 0.1.x(web profile)
使用方法¶
- 打开任意会话。
- 在会话头部的操作行点击「🚦 订阅」按钮。
- 首次订阅时,系统会自动拉起 macOS 悬浮窗。
- 悬浮窗会逐行展示每个订阅会话的红黄绿灯状态。点击行尾的「⊖」可取消该条订阅。
注意事项¶
- 版本限制:目前仅支持 dsh 0.1.x 的 web profile。
- 依赖端口:插件内部桥接服务运行在端口 18765,请确保该端口未被占用。
- 构建依赖:如果从源码构建 macOS 悬浮窗,Swift 构建时需禁用沙箱(
--disable-sandbox)。
总结¶
dsh-trafficlight 通过订阅制和原生悬浮窗,为 DSH 用户提供了轻量级的会话状态监控方案。它避免了在大量会话中迷失进度,适合需要同时管理多个智能体任务的场景。