dsh-status-card: Persistent Status Card in the Top Right Corner of the DSH Web Content Area

前言

在 DSH Web 里跑长会话时,任务清单、目标、已提交计划、变更文件、子智能体和后台任务往往分散在不同面板或右栏里;本轮时间花在模型、工具还是等待审批,也需要对照日志才能估出来。下面介绍的 dsh-status-card(维护者 liuhusk,包名 @liuhusk/dsh-status-card)把这些信息收拢到内容区右上角一张可折叠的浮动卡片里,多数操作仍走 DSH 官方投影与 Remote,客户端以只读聚合和少量 Host 路由补充为主。

这是什么

该插件属于 DSH 客户端(Web) 扩展:在有主会话的会话页常驻渲染,不新增会话事件、不写官方状态。卡片跟随内容区宽度与右栏开合重定位;查看插件、定时任务等全局面板时整卡隐藏,避免压住其他界面。社区目录页:skillhub.cn/plugins/liuhusk/dsh-status-card;源码与说明:github.com/liuhusk/dsh-status-card(MIT,当前资料版本 v0.23.3)。

核心功能

卡片按区块展示,有内容才渲染对应块;若除耗时外皆空,正文区会显示「暂无任务与变更」,卡片本身仍在。

标题栏与折叠

顶栏显示项目名(会话 cwd 目录名,悬停可见完整路径)和副标题(会话标题,缺省为 Agent 工作区语义下的默认文案)。两个 28px 圆形按钮:⟳ 立即重取变更列表,⌄ 收起卡片。折叠后收成 34px 圆钮(内含 <),再点展开;宽度不足时自动收成圆钮,窗口变宽后自动展开。内容区变窄时,卡片可通过给内容区增加 padding-right 把正文列向左推让,推到极限则只保留圆钮占位。

本轮耗时

顶栏下为一行只读文字:总计如 本轮 25m32s,再接 模型 · 工具 · 等你 细分(并行工具按重叠区间只计一次;重叠归属顺序为等你 → 工具 → 模型)。宿主约每 2 秒采样,未结束的段每秒递增;turn/end 后定格,轮次间空闲不计入。

任务、目标与计划

  • 任务:官方当前 todos 投影,带勾选环、进度 pill 与 2px 进度条,可折叠,硬上限 200 条。另有一组只读历史任务(最近一个有清单的历史轮次),默认收起,从会话日志还原,已清空的清单不会复活。
  • 目标:展示官方目标文本、阶段、轮次与受阻原因,并读宿主 activation;可在卡片内 编辑(Enter 保存 / Esc 取消)、暂停、继续、清除,走 ctx.remote.goals 与 CAS。active 但 disarmed 时显示待继续并提供继续。
  • 计划:本会话经 exit_plan_mode 提交的计划标题(新的在前,最多 20 条),点行用官方 plan 预览类型在右栏打开正文。

变更文件、子智能体与后台任务

  • 变更文件:整会话按路径去重的变更列表,图标与分类与 DSH「工作区文件」一致,附 +added / -deleted;多轮时分为「本轮」与「更早改动」。点行打开官方变更审查右栏。
  • 子智能体:parentId 指向本会话的子会话,行结构与官方目录一致,按委派轮次分组(当前轮展开,早前轮折成汇总行)。点行通过 ctx.uiWorkspace.openSession 切换到该子会话。
  • 后台任务:通过 @deepseek-ai/dsh-api-job-controller 的 ctx.jobs 镜像宿主面板;运行中常显,已结束默认折成「已结束 N」并可 清空(仅本页隐藏,不改宿主记录)。运行行提供两段确认的 停止,与宿主行为一致。

主题与其它行为

在 插件详情页(插件 → 本包)的「高亮色」中可在绿 / 蓝 / 琥珀 / 红四档预设间切换,选择存在浏览器 local storage。卡片启用后,会通过 CSS 隐藏输入框上方仅展示、无操作的官方任务面板(HIDE_OFFICIAL_TODO_DOCK);官方目标条仍保留。数据主要来自 SessionSummary.projectionValues、座位 useSessions,以及 Host 路由 GET /api/status-card.changes?sessionId=…(变更、计划索引、历史任务等)。

安装与启用

要求 DSH 0.2.1-rc.3 及以上(卡片依赖该线的 shell.overlay 座位与会话控制器)。本包不发 npm,从 GitHub 安装:

# 跟最新 main
dsh plugin --profile web add github:liuhusk/dsh-status-card

# 或钉住某个 Release 标签
dsh plugin --profile web add github:liuhusk/dsh-status-card#v0.23.3

通过插件管理器升级后:若状态为 applied,刷新页面即可;若为 restart-required,需先重启 dsh web 再刷新。仅刷新网页不能替换运行中的 Host 模块;新 Host 生效前,Client 可能仍用旧耗时逻辑,缺少历史字段时不显示历史任务组。

典型用法

安装并进入任意主会话页后,卡片默认出现在内容区右上角,无需额外配置文件。

  1. 看本轮时间:直接读顶栏下的耗时行;轮次结束后数字冻结,便于对照本轮产出。
  2. 管目标与任务:在卡片内编辑或暂停目标;任务列表可折叠,需要时可展开历史轮次的只读清单。
  3. 打开计划或变更:点计划行在右栏读完整计划;点变更文件行进入变更审查。
  4. 跟进子智能体与后台命令:点子智能体行切到子会话;对仍在运行的 bash 后台任务使用停止(需二次确认)。
  5. 换强调色:打开插件详情页,在「高亮色」点选色点,卡片内勾选环、进度条、计划灯泡等会当场换色。

标题栏的 ⟳ 用于在长时间工具调用后手动刷新变更列表;空间不足时先依赖自动推让与圆钮折叠,需要时再手动点圆钮展开。

适用场景与注意

适合在 DSH Web 中长期使用 Agent 工作区、需要一眼看到任务进度、目标状态、计划入口、变更与子会话跳转的开发者。卡片聚合的是官方投影与 Host 扫描结果,不替代宿主自带的「后台任务」实时输出面板——详细日志仍应到宿主面板查看。

安装前建议浏览 GitHub 仓库 源码与 MIT 许可证。DSH 插件随 当前 dsh 进程权限 运行;Client 会注入样式、临时修改内容区 padding-right 并在卸载时回收,Host 路由会读取会话日志。SkillHub 等社区目录独立于 DeepSeek / 幻方,并非官方应用商店。

结尾

dsh-status-card 把耗时、任务、目标、计划、变更、子智能体和后台任务固定到内容区右上角,减少在多个面板间来回切换。目录与安装入口:https://www.skillhub.cn/plugins/liuhusk/dsh-status-card;完整行为表与实现说明见 https://github.com/liuhusk/dsh-status-card。

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

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

Xiaoye