dsh-session-progress:用轻量模型在 DSH 侧栏估算会话进度

前言

在 DeepSeek Harness(DSH)里跑长轮次智能体时,常见困扰不是「慢」,而是「不知道进行到哪一步」:侧栏里会话仍在 running,最后一条工具调用可能是几分钟前的,点进去翻日志才发现只是在等超时。传统做法只能靠人工盯日志或猜状态,没有和侧栏会话列表绑定的、可扫一眼的进度信号。

社区维护者 Yu-jianhai 的插件 dsh-session-progress(GitHub:Yu-jianhai/dsh-session-progress,目录页:skillhub 条目)把「大概完成多少」画在每条会话行底下:默认约每 30 秒用一次轻量模型读当前轮次上下文做估计,宽度即进度;判断调用单独记账,不混进主对话账单。分类上属于「模型推理」类 DSH 插件。

下面介绍它解决什么问题、怎么装、日常怎么用,以及安装前需要留意的权限与 token 开销。

这是什么

一句话:在 DSH 侧栏每个会话行上铺一条半透明进度带,由可选的监督模型周期性读上下文估进度;左侧栏可查看每次采样的原始输出与历史轮次。

和普通「假进度条」的差别在于三点(均来自插件 README):

  • 色带铺在整行底下(::after + CSS 变量),不往行内插 DOM,标题与时间仍可读可点。
  • 进度数字来自模型判断,提示里带上一次百分比与阶段名,避免卡死时一路虚抬到 95;宿主只封顶 95%,方向由模型给出。
  • 采样是真实 API 调用(约 1–2k 输入 token/次),默认最多同时盯 3 个会话;面板顶栏可看到判断模型累计 token。

当前 package 版本为 0.22.3,许可证 MIT,纯 JavaScript,lib/ 已提交,无构建步骤。

核心功能

侧栏进度带

会话在跑时,行宽色带表示当前估计进度。默认颜色 #90AFFF、不透明度 0.6、900ms 缓动;每采一次样宽度前跳一步。轮次结束(turn/end)会补满 100%,短暂停留后淡出。采样失败则保留上一次值。

首次用户消息后色带从 seedP(默认 4%)起步;之后按 intervalMs(默认 30000 ms)周期采样。中途插嘴会在 interjectDelayMs(默认 2500 ms)后补采,日志里可标「重估」。被打断的轮次会记下当时进度,同一会话再跑时从该数接续,而不是从 0 开始。

设置与外观

路径:设置 → 插件 → 会话进度条。可改监督模型的 provider / model、思考强度 reasoningEffort、采样间隔、同屏数量、颜色、不透明度、六种 style(如 band、underline、glow 等)、流动动画与速率、实验性彩虹色带。预览区用当前表单值实时绘制;保存后写入宿主,「恢复默认」恢复出厂。

配置文件:~/.dsh/session-progress.config.json(UI 保存优先于 cordis.patch.yml)。常用键包括:enabled、provider(默认 deepseek-account)、model(默认 deepseek-flash)、intervalMs、maxSessions(默认 3)、maxContextChars(默认 6000)等;完整表格见仓库 README。

进度日志面板

左侧栏 进度日志:每个进行中的会话一列,列头含当前百分比、采样次数与最近 24 次估计曲线;每行一条采样(时间、百分比、涨跌、阶段名、耗时),展开可看模型、档位、token 拆分与 JSON 原文。最左列为历史轮次(分页每次 40 轮)。设置页同名卡片仅为入口,数据不在设置页重复一份。

面板有两种皮肤(「面板样式」):默认「新 · 分组卡片」与「旧 · 紧凑列表」,只影响日志面板,不影响侧栏色带。

换机与 provider

默认 provider / model 是偏好而非硬编码:首次读模型目录时,配置的模型存在则直接用;不存在则按名称启发式选较便宜的模型并提示;目录为空则不调模型,界面提示先配置 provider。他人安装时不应在 patch 里写死你的本机模型,锁定值应通过设置页落到本地配置文件。

安装与启用

在 desktop profile 下添加插件(命令来自官方 README):

dsh plugin --profile desktop add github:Yu-jianhai/dsh-session-progress

需要锁版本时可跟 commit SHA:

dsh plugin --profile desktop add github:Yu-jianhai/dsh-session-progress#<commit-sha>

安装后完全退出 DSH 再打开;仅刷新窗口在 README 说明的场景下可能不会加载新代码(与宿主 HMR 关闭有关)。

卸载:

dsh plugin --profile desktop remove dsh-session-progress

典型用法

  1. 按上一节安装并重启 DSH,保持 enabled 为 true(默认)。
  2. 在 设置 → 插件 → 会话进度条 确认本机可用的 provider / model;若目录与配置不一致,按界面提示选用 effectiveRoute 或手动改一次并保存。
  3. 发起或继续一个长任务会话,侧栏该行底下应出现色带;约 firstDelayMs(默认 8000 ms)后首次完整采样,之后按 intervalMs 更新。
  4. 需要核对判断依据时,打开左侧 进度日志,点开某次采样查看 JSON 与 token;轮次结束后在历史轮次列翻页(「再看 40 轮」)。
  5. 侧栏窄或想少抢视觉时,可把 style 改为 underline 或 solid,或调低 opacity;长任务且变化慢时可开 stripe 或适度流动动画(注意 flowQuality 高档更吃 GPU)。

插件在本地回环提供 SSE / 配置等 HTTP 端点(如 /plugins/dsh-session-progress/events),拒绝非本机 Host,不对外网暴露;侧栏实现依赖宿主会话行的 data-row-key,宿主改渲染方式时色带可能静默消失。

适用场景与注意

适合谁: 经常在 DSH 里并行或长时间跑 agent、希望在不打开会话详情的情况下粗判「还要等还是该介入」的开发者。

务必知晓:

  • 插件以当前 DSH 进程权限运行,安装前应阅读 源码 与 MIT 许可证,自行评估是否信任维护者与网络 outbound(监督模型调用)。
  • 会持续消耗 token:默认每会话约 30 秒一次监督调用,且 maxSessions 限制同时采样数;主对话账单与监督账单分开统计,但总成本仍会增加。
  • 进度是估计值,不是工具步数或测试通过率;插嘴、返工、中断后接续等逻辑在 README「它是怎么想的」一节有说明,不应把色带当作 SLA 指标。
  • 社区目录 skillhub.cn 与 DeepSeek / 幻方无官方从属关系;DSH 生态是「一切皆插件」,本文介绍的是社区插件而非官方产品。

结尾

dsh-session-progress 把「会话进行到哪了」从猜日志变成侧栏一条可动画的色带,并用轻量模型周期性读上下文给出百分比与阶段名,同时用进度日志保留可审计的采样历史。若你要在 desktop 环境试用,从 README 的安装命令入手,改模型与样式后再观察长轮次下的侧栏与 token 面板即可。

  • 目录页:https://www.skillhub.cn/plugins/Yu-jianhai/dsh-session-progress
  • GitHub:https://github.com/Yu-jianhai/dsh-session-progress
羽毛球分组比赛记分
小程序二维码

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

Xiaoye