ChivasKong/dsh-trafficlight

ChivasKong★ 0TypeScript最后同步: 2026-08-18

在 GitHub 打开

一个 dsh 宿主(Host)插件 + 浏览器半区(Web GUI 订阅按钮) + macOS 全局悬浮窗, 把你订阅的每个会话的任务状态用红/黄/绿三色灯在屏幕右上角的悬浮窗里逐行实时展示。

README 摘要

dsh-trafficlight — DSH 任务状态红绿灯(订阅制多会话) 一个 dsh 宿主(Host)插件 + 浏览器半区(Web GUI 订阅按钮) + macOS 全局悬浮窗 , 把 你订阅的每个会话 的任务状态用红/黄/绿三色灯在屏幕右上角的悬浮窗里 逐行实时展示 。 灯 会话状态 触发条件 🔴 红灯 blocked 阻塞 该会话等待批准( approval/asked → decided )或向你提问( ask user question ) 🟡 黄灯 running 执行中 该会话回合进行中( turn/start … turn/end )且未阻塞 🟢 绿灯 done 已完成 该会话回合已结束 ⚪ 暗灯 idle / offline 已订阅但尚未开始 / 未连接 dsh 订阅制 :悬浮窗只展示你在 Web GUI 中 主动订阅 的会话(而不是全部会话)。 订阅入口是会话头部操作行的「🚦 订阅」按钮( conversation.session.header.actions 官方附加槽)。 订阅列表持久化在 /.dsh/storages/dsh-trafficlight.json ,重启 dsh web 后保留。 悬浮窗布局: - 顶部常驻标题栏 :订阅数 + 执行中/阻塞计数摘要;左侧 ⠿ 拖动手柄;右侧「− / +」最小化与「×」关闭。 - 标题栏下方 :每个订阅会话一行——小号红/黄/绿灯 + 会话标题(常驻首条消息)+ 阻塞时显示瞬态 detail (如「DSH 需要批准: xxx」);每行右侧「⊖」可 单独取消订阅 ,本行立即从悬浮窗消失。 - 面板宽度/高度 自适应内容 (宽度 300–560pt 随最长标题撑开,高度随行数增长并封顶, 超出部分滚动),右侧/顶部锚定,不遮下方操作。 - 取消订阅后该会话不再出现在列表里;列表清空时显示空态提示。 - 拖拽 :按住标题栏左侧 ⠿ 手柄即可拖动悬浮窗(系统级 performDrag ,顺滑跟手); 位置记入 UserDefaults ,下次启动自动恢复。 title (常驻)与 detail (瞬态)由两个独立字段承载:插件把会话标题锁进 title , 阻塞文案放进 detail ,互不覆盖。 标题即会话头部标题 :插件跟随 session/title 事件(dsh-session-title 服务追加的 规范标题事件,用户重命名或自动标题都会写该事件),取最新一条——与界面头部显示一致; 尚无该事件时退化为会话首条用户消息。 快速开始(Quick Start) 其它 profile 把 web 换成对应名字,或设置 DSH PROFILE=tui 。 重启后: - 打开任意会话,在 会话头部操作行 点「🚦 订阅」→ 该会话进入红绿灯列表; - 首次订阅时会 自动拉起 mac…

在 GitHub 查看完整 README →
终端/TUIdshdsh-plugindsh-plugins

分类