dsh-needs-attention-sidebar:在 DSH 侧栏里给会话做 Working / Attention / Finished 分诊

前言

在 DeepSeek Harness(DSH)里并行跑多个 agent 会话时,失败往往很安静:某轮因 429 或致命 API 错误结束,会话在侧栏里仍像「开着」一样,只有点进去或隔很久才会发现。日志查看器能还原细节,但不适合一眼判断「现在谁还在跑、谁挂了、谁在等你拍板」。

下面介绍社区插件 @almazom/dsh-needs-attention-sidebar(仓库 almazom/dsh-needs-attention-sidebar)。它在 DSH Web 侧栏 Workspaces 区块上方注入一块紧凑的 Focus 区域,按 Working、Attention、Finished 三个页签做实时分诊;致命错误标红,限流/配额压力标琥珀色。实现上不改动 DSH 核心,仅通过插件侧扫描路由与客户端 DOM 挂载完成。

这是什么

项 说明
名称 @almazom/dsh-needs-attention-sidebar
维护者 almazom
分类 客户端(Web 侧栏 UI + 插件自有只读扫描路由)
依赖 DSH >=0.2.0-rc.1(安装时按 engines.dsh 校验)
当前包版本 0.3.4(以 package.json 为准)
许可证 MIT

插件在侧栏提供 Focus 块,内含三个页签:Working(当前有未结束轮的会话,时长每秒跳动)、Attention(需人工查看的异常与等待态)、Finished(已正常结束或你手动停止的会话,带未读标记与 · N new 计数)。设计思路接近急诊分诊板,而不是完整日志浏览器。

核心功能

三个页签分别表示什么

  • Working:正在进行中的会话,展示当前 open turn 的累计时长。
  • Attention:按组展示需关注项:
  • FAILED(红色 ⊗):上一轮以致命 turn 错误/中止结束(如 5xx、鉴权失败、模型失败、413 等)。
  • LOOK(琥珀 ◉):可疑或降级输出(如 blocked、max-tokens 截断、hook 中止,以及 429 / 配额 / 计费等限流类压力——归类为琥珀「limit」,而非红色 fatal)。
  • WAITING(琥珀 ⛨):工具或审批请求长时间未应答。
  • Finished(绿色 ✓ 或你停止的 ⏸):自你上次查看以来完成的会话可带绿色 ! 徽章;列表有「自上次访问以来」的分隔。

顶栏还有彩色芯片摘要(工作中 / 你停止的 / 需关注数量),chevron 可把整个块收成一行(状态会持久化)。

扫描与性能

客户端轮询插件自有路由;服务端仅在收到请求时扫描会话日志,无后台常驻守护进程。扫描结果按文件 mtime 缓存,响应节流为每 20 秒最多一次完整扫描,超过 10 秒返回 504 scan-timeout。空闲侧栏不产生额外请求。

默认只扫描 freshness 窗口内「最近被触碰」的会话(默认 12 小时,文档写明可配置)。列表单组最多展示 20 行,超出以 +N more 截断,避免一次异常拖垮侧栏。

交互与安全

  • 行上的 × 可 dismiss(刷新后仍保留,并支持 Undo toast)。
  • 页签、分组与行支持键盘焦点与 ARIA,可不依赖鼠标操作。
  • 发往浏览器前,行标题经脱敏(如 sk-…、Bearer …、token=… 等形态会被剥离)。
  • 扫描仅在本地读会话日志;路由对 DSH Web 连接做准入校验,非 GET 返回 405,Cache-Control: no-store;文档说明无遥测、无对外网络请求。

卸载插件后,侧栏恢复为安装前样式。

安装与启用

需要已安装 DSH Web 能力,且版本满足 >=0.2.0-rc.1。

在 DSH Web UI 中打开 Plugins → Add plugin,粘贴仓库地址;或在终端执行(README 原文命令):

dsh plugin --profile web add github:almazom/dsh-needs-attention-sidebar

包声明了 dsh.bundle.patch,安装后 DSH 会自动注册 cordis patch。重启 Web 通道或刷新页面后,Workspaces 上方应出现 Focus 块。

若该包已发布到 npm,也可使用包名安装(README 提供的替代方式):

dsh plugin --profile web add @almazom/dsh-needs-attention-sidebar

无需构建步骤,无 install 生命周期脚本,纯 JavaScript。升级可在同一 GitHub 地址上重复安装,dismiss、折叠状态等本地保存状态会保留。

典型用法

  1. 安装并启用后,侧栏展开 Focus,先看顶栏芯片:琥珀数字表示 Attention 条数,优先点 Attention 页签。
  2. 在 FAILED 组处理红色项(致命错误);在 LOOK / WAITING 组处理限流、截断或未答审批。
  3. 长时间并行任务时切到 Working,根据跳动时长判断是否卡死。
  4. 任务收尾后看 Finished 的 ! 与 · N new,点开会话核对输出;误 dismiss 的行用 toast Undo 恢复。
  5. 侧栏拥挤时用 chevron 折叠 Focus,需要时再展开。

阅读块面时记住颜色语义:红 = fatal turn;琥珀 = 限流/配额/需看一眼/待审批;绿 = 正常完成(Finished 上的 ! 表示「新来的完成项」,不是告警)。

适用场景与注意

适合谁:经常在 DSH Web 里同时开多条 agent 会话的开发者,希望侧栏承担「会话健康看板」,减少逐个打开会话排查 429 与静默失败的成本。

权限与信任:插件以当前 DSH 进程权限读取本地会话日志并提供只读路由。安装前应阅读 GitHub 仓库 源码与 MIT 许可证,确认符合你的环境策略。

生态说明:DSH 奉行「一切皆插件」;SkillHub 插件目录 为社区站点,与 DeepSeek / 幻方无官方从属关系,本文介绍的是社区维护的客户端插件,非 DSH 核心内置功能。

结尾

dsh-needs-attention-sidebar 把多会话下的「谁在跑、谁挂了、谁在等你」收拢到侧栏一块 Focus 区域,红/琥珀分诊与零核心改动的设计,适合作为 DSH Web 日常并行开发的辅助面板。

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

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

Xiaoye