← 返回列表
D

@chivaskong96/dsh-trafficlight

v0.2.0 · 0 天前发布

DSH task-status traffic light: a host plugin that folds the session/event firehose into per-session idle/running/blocked/done states for the user-subscribed session set, exposes them over a loopback HTTP+SSE bridge (port 18765), adds a per-session「🚦 订阅」t

dshdeepseek-harnessoverlaytraffic-lightstatusmacoscordis-plugindsh-plugin

README

dsh-trafficlight — DSH 任务状态红绿灯(订阅制多会话)

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

| 灯 | 会话状态 | 触发条件 |
|---|---|---|
| 🔴 红灯 | blocked 阻塞 | 该会话等待批准(approval/askeddecided)或向你提问(ask_user_question) |
| 🟡 黄灯 | running 执行中 | 该会话回合进行中(turn/startturn/end)且未阻塞 |
| 🟢 绿灯 | done 已完成 | 该会话回合已结束 |
| ⚪ 暗灯 | idle / offline | 已订阅但尚未开始 / 未连接 dsh |

订阅制:悬浮窗只展示你在 Web GUI 中主动订阅的会话(而不是全部会话)。
订阅入口是会话头部操作行的「🚦 订阅」按钮(conversation.session.header.actions 官方附加槽)。
订阅列表持久化在 ~/.dsh/storages/dsh-trafficlight.json,重启 dsh web 后保留。

悬浮窗布局:

  • 顶部常驻标题栏:订阅数 + 执行中/阻塞计数摘要;左侧 ⠿ 拖动手柄;右侧「− / +」最小化与「×」关闭。

  • 标题栏下方:每个订阅会话一行——小号红/黄/绿灯 + 会话标题(常驻首条消息)+ 阻塞时显示瞬态

  • detail(如「DSH 需要批准: xxx」);每行右侧「⊖」可单独取消订阅,本行立即从悬浮窗消

    版本兼容矩阵

    DSH 版本状态说明
    dsh@0.1.0-rc.6 ✅ 兼容 cordis patch ✅
    dsh@0.1.0 ✅ 兼容 标准 patch ✅
    dsh@0.2.0 ⚠️ 待验证 待实测(API 可能在变)
    dsh@0.3.0+ ❓ 未知 尚未发布

    💡 兼容矩阵每周末自动跑实测,欢迎 PR 修正

    元数据

    License
    MIT
    npm
    @chivaskong96/dsh-trafficlight
    Repo
    Engines
    {"node":">=22.19.0"}
    Weekly DL
    0
    Monthly DL
    0
    dsh.bundle
    {"client":{"platform":"web","inject":["@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-ui-conversation","@deepseek-ai/dsh-client-ui-slots"]}}