dsh-session-bar:让 DeepSeek Harness 侧栏会话自己「说话」

前言

在 DeepSeek Harness(DSH)里同时开多个会话时,侧栏每一行默认只给标题、转圈和相对时间。任务在后台跑时,转圈两分钟和二十分钟看起来一样;跑完的那一瞬间,若你正盯着当前会话,界面往往不会有额外提示——转圈消失、时间变成「刚刚」,很容易漏掉刚结束的那条。社区里已有置顶、Dock 角标、输入框下方 ETA 等插件,各自管「哪个在动」或「外面怎么提醒」,但侧栏每一行「跑到哪了、跑完没」仍缺一块可视化。

下面介绍客户端插件 dsh-session-bar(维护者 290949841-gif):在侧栏会话行上直接画运行进度与完成态,零配置,装上即工作。

这是什么

dsh-session-bar 是面向 DSH Web 客户端的纯前端插件(npm 包名 dsh-session-bar,当前资料版本 0.1.2,许可证 MIT)。它只做一件事:把会话状态画在侧栏行上——运行中带估算百分比与进度条,完成后整行变橙并保留,直到你点开该行。

与官方侧栏对比:官方完成标记主要出现在「你不在主视图里看着」的会话上;本插件补的是「正看着的会话跑完也要亮一下」,且整列会话都能同时看到进度与完成态,无需切对话。

核心功能

运行中

任务进行中时,对应侧栏行会:

  • 整行变为绿色卡片(半透明绿底、1px 描边)。
  • 行首显示估算进度百分比(任务一开跑即出现)。
  • 底部 6px 圆头进度条:浅绿轨道、青绿渐变填充,长度随估算进度变化;条上有缓慢横向漂移的白色小点(约 3.2s 一循环,装饰用);进度末端 6px 白色圆钮。
  • 除小点漂移外无扫光、呼吸等循环动画;支持 prefers-reduced-motion 下关闭动画。

已完成

跑完瞬间整行从绿色切为橙色(描边、左侧橙条、半透明橙底、标题橙字、行首橙色小圆点)。

  • 永久保留,直到你点开这一行;点开后恢复原样。
  • 点行尾「…」菜单不算点开,不会误清。

超时时的显示

若实际耗时超过预估,行首不再显示偏高的假百分比,改为真实已用时长(例如 6:12),进度光带停在末端。百分比来自估时,不是服务端步数。

自适应估时(无设置项)

侧栏每行只能用到 running 与 updatedAt,拿不到总步数。插件按历史耗时估算:

  • 同一会话标题保留最近 6 次真实耗时,取中位数。
  • 新会话借用全局中位数(最近 24 次)。
  • 都没有时按 3 分钟 估算。

每次跑完会记录真实耗时;跑得越多越准。

其它特性(资料原文)

能力 说明
完成标记不丢 标题被自动改名后,占位名(新会话 / New chat)才允许标记迁移
零配置 无设置界面
不拦操作 只画样式,不接管点击、菜单、拖拽
行结构兼容 官方 ui-workspace 行与 dsh-session-keeper fork 行均可识别
存储 状态在浏览器 localStorage(键名见下文「重置」)

0.1.2 起:最短运行 2 秒才计为完成,减轻启动抖动误标;排障可用 window.dshSessionBar.log() / .marks() / .clearMarks()。

安装与启用

DSH 生态是「一切皆插件」;插件目录在独立社区站点展示,与 DeepSeek / 幻方无官方从属关系。安装前建议查看 GitHub 仓库 源码与 MIT 许可证——客户端插件在当前 DSH 进程权限下运行。

方式一:npm(推荐)

dsh plugin --profile web add dsh-session-bar

方式二:GitHub Release 包

dsh plugin --profile web add "https://github.com/290949841-gif/dsh-session-bar/releases/download/v0.1.2/dsh-session-bar-0.1.2.tgz"

装完后需 完全退出 DSH 再打开(客户端插件在进程启动时装配;仅刷新页面通常不够)。资料中 macOS 快捷键为 ⌘Q;其它平台请用等价的全量退出方式。

典型用法

  1. 按上面命令安装并重启 DSH。
  2. 在侧栏发起或恢复一个会跑较久的会话;该行应变为绿色卡片,行首出现百分比,底部出现进度条。
  3. 任务结束后该行变橙;切到别的会话再回来,橙色仍在,直到你点开该行确认。
  4. 若某任务经常超过预估,观察行首是否切换为 分:秒 形式的已用时长——这是预期行为,不是卡死。

无需改配置文件;想改颜色或条高需自行编辑插件包内 client.js 的 CSS 常量,改完同样要完全退出再开。

适用场景与注意

适合谁:经常在 DSH 里并行多个会话、希望不切对话也能扫一眼「哪条在跑、哪条刚跑完」的开发者。

刻意不做的事(避免装错期望):

  • 不做音效、Dock 角标、系统通知(可参考 dsh-unread-dot)。
  • 不改变侧栏排序或置顶(可参考 dsh-pinned-sessions)。
  • 输入框下方「当前这一轮」ETA 由 dsh-session-turn-eta 等插件负责;本插件管的是侧栏每一行。

限制(README 已知):

  • 进度是估算,不是真实 token / 步数进度。
  • 完成标记以会话标题为 key;两个标题完全相同的会话可能互相干扰。
  • 仅 Web 平台(桌面端与 Web GUI 均为 Web 渲染)。
  • 兼容 DeepSeek Harness 0.2.x(DOM 锚点按 0.2.1-rc.3 核对)。

与同类插件边界:dsh-session-turn-eta 只管当前视图这一轮;dsh-pinned-sessions 管排序;dsh-unread-dot 管应用外提醒。本插件回答的是「每条跑到哪、跑完没」,且不改变排序。

重置本地状态

无设置界面。清空下列 localStorage 键即恢复出厂(估时需重新学习):

键 内容
dsh-session-bar:read 已点开的会话标题(橙色标记)
dsh-session-bar:durations 各标题最近 6 次耗时样本
dsh-session-bar:durations:global 全局最近 24 次耗时样本
dsh-session-bar:running 正在跑的会话开始时间戳

结尾

dsh-session-bar 把侧栏从「转圈 + 相对时间」补成「估算进度 + 完成橙条」,零配置、纯客户端,与 keeper 类侧栏插件可共存。若需要安装入口与简介,可看社区目录页;细节与更新日志以仓库为准。

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

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

小夜