dsh-pending-review-glow:用颜色区分侧边栏会话的审批、运行与刚完成

前言

在 DeepSeek Harness(DSH)里同时开多个会话时,左侧列表往往看不出哪一行在等审批、哪一行还在跑、哪一行刚结束但你还没点开。靠记忆切会话成本高,也容易漏掉悬置的审批。

dsh-pending-review-glow 是社区插件(维护者 BroCC57,分类「趣味换装」),在会话行上统一用「内描边 + 淡底」和行尾同色小圆点表达三种状态,只靠颜色和动效区分,不改动审批流程本身。

这是什么

插件包名 / 行 id 为 dsh-pending-review-glow / pending-review-glow。服务端监听 DSH 的 emit 事件维护状态,浏览器半轮询 GET /pending-review-glow/state 并在侧边栏会话行槽位挂载探针,给 DOM 打上 data-dsh-session-state。零依赖、零构建;浏览器半以 classic script 形式加载。

三种状态与优先级

状态 颜色 动效 含义
pending 红 rgba(244,63,94,…) 呼吸 1.5s 有审批在等你
running 黄 rgba(245,158,11,…) 常亮,不呼吸 推理/运行中
finished 绿 rgba(34,197,94,…) 呼吸 1.5s 刚跑完、不需要审核、且自那以后没点开过

同一行若多种状态并存,优先级为:红 > 黄 > 绿。行尾小圆点与行色一致(黄点常亮,红/绿点呼吸)。在 prefers-reduced-motion 下,红/绿呼吸会降级为常亮描边。

数据从哪来

状态全部来自事件广播,无固定调用顺序要求:

  • 待审核:approval/asked / approval/decided,并用 approval/request + prepend 交叉校验。
  • 运行中:api-session/status(sessionId, running)。
  • 刚完成:同上,在 running: true → false 时记录时间戳。

approval/request 监听器始终 next() 透传,不认领、不改写、不改超时任何审批。收到 turn/end 时会强制清空该会话的待审相关状态(审批在回合内封闭)。

绿色何时消失

finished 只表示「曾经跑完」。浏览器在两种情况下把「已看过」时间写入 localStorage(键 dsh-pending-review-glow:ack):该行被点击(pointerdown),或跑完瞬间该行正被选中。若 ack ≥ finished.at,该行不再显示绿色,直到下次跑完刷新时间戳。

还会根据行上的选中标记(如 aria-selected、aria-current、class 中的 active|selected)尽量不让当前打开的会话显示绿色。若这些标记都未命中,当前会话跑完时可能短暂变绿,点一次即可清除——README 中记为可接受的近似。

安装与启用

在 DSH 插件目录页找到本插件,使用「添加插件」并填写本插件目录的绝对路径(链接安装;修改插件文件后需重启 DSH 才生效)。资料中未提供 dsh plugin add github:… 一类命令,请勿凭仓库名自行拼接。

插件以当前 DSH 进程权限运行,安装前建议阅读 GitHub 仓库 源码与 MIT 许可证(package.json 版本为 0.2.0,要求 Node >=20)。

卸载:插件页找到 dsh-pending-review-glow → 卸载 → 重启 DSH。若要清掉绿色「已看过」记忆,在浏览器 Console 执行:

localStorage.removeItem('dsh-pending-review-glow:ack')

自检与排错

在浏览器 Console 查看服务端聚合状态:

await (await fetch('/pending-review-glow/state')).json()

示例字段含义:revision 用于浏览器判重;count 为当前待审核会话数;pending / running / finished 为三类列表;asks、decided、seen 为累计计数;排查「红色不灭」时可看 recent(最近 10 条审批相关事件)。无审批时可为 {revision:0,seen:0,asks:0,count:0,pending:[]}。

确认页面上有多少行被打上状态属性:

document.querySelectorAll('[data-dsh-session-state]').length

若黄色(运行中)或绿色不出现,可能是所在环境里 api-session/status 未广播——用上面的 /state 请求可立刻判断服务端是否收到运行态。

适用场景与注意

适合经常并行多会话、依赖工具审批或长时间运行的开发者,用侧边栏一眼区分「该点进去批」「还在跑」「跑完还没看」。

社区目录 skillhub 插件页 与 GitHub 由社区维护,与 DeepSeek / 幻方无官方从属关系;目录星标为 0,功能以 README 与实测记录为准。README 注明:黄色常亮、绿色点击清除、审批结算后红色熄灭等项在部分环境下仍标为待实测;两条审批数据源与红色状态已有实测记录。

结尾

dsh-pending-review-glow 不改变审批语义,只在 UI 上把三种会话状态可视化。需要安装或反馈问题时,可访问 skillhub 目录页 与 GitHub:BroCC57/dsh-pending-review-glow。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜