dsh-recent-sessions:在 DSH 左侧栏一屏直达最近会话

前言

DeepSeek Harness(DSH)把智能体任务拆成大量会话,并挂在工作区与官方左侧「工作区」列表里。任务一多,「哪个在跑、哪个跑完还没看、哪个在等授权或回答、常回访的是哪几个」往往要在长列表里翻很久。官方会话浏览区功能完整,但缺少把这几类状态固定在最上方、一眼能点的分区。

社区插件 dsh-recent-sessions(维护者 tianxiaz)在左侧栏增加与工作区同规格的「最近会话」分区:收藏、运行中、等待你的回应、完成未读、最近活跃五类固定展示;每个会话行带 ☆ 一键收藏;整段可收起到一行并支持就地搜索。官方工作区与会话浏览行为保持不变。分类为客户端插件,当前 GitHub 星标为 0;许可 MIT,版本 0.1.5,目标 DSH ^0.2.1-rc.5。

这是什么

本插件以 bundle 形式给 DSH 左侧栏增加「最近会话」分区,视觉与交互对齐官方「工作区」:同一套网格(36px 分区标题 / 34px 分组行 / 32px 会话行 / 28px 溢出行),不另开页面、不是悬浮面板。

它接管左侧栏外壳(sidebar 占位),原样复用官方 sidebar.workspaces 的 WorkspaceBrowser。分区落在工作区分组上方。搜索、会话 … 菜单、拖拽排序、归档筛选、工作区增删改等与未装插件时一致。

默认只统计属于某个工作区的会话;未分组会话(例如在 /tmp 用 CLI 跑的一次性任务)仅在需要回应时(等待授权 / 待回答)出现在本分区,其余状态仍留在下方官方列表的「未分组」里。

在线说明:https://tianxiaz.github.io/dsh-recent-sessions/
目录页:https://www.skillhub.cn/plugins/tianxiaz/dsh-recent-sessions
源码:https://github.com/tianxiaz/dsh-recent-sessions

核心功能

五类固定分组

分类 作用(资料表述)
收藏 常用会话,可拖拽排序
运行中 正在执行的会话
等待你的回应 待授权 / 待回答;黄点行直接写状态,不必点进会话才知道在等什么
完成未读 已完成但未读
最近活跃 最近碰过的 5 个会话(纯时间列表,与是否收藏无关)

分组旁有黄 / 蓝 / 绿等状态点,便于判断下一步点哪里。

收藏

三种方式(README 原文):

  1. 会话行悬停时点 ☆(官方会话列表行上也会多出该按钮);
  2. 把会话行从下方官方列表拖进「最近会话」分组;
  3. 点分区标题右侧「在面板中打开」,在面板页拖到「收藏」区或拖到某条收藏上调整顺序。

收藏顺序即展示顺序,存在本机浏览器。被收藏的会话在「最近活跃」里仍会出现,行尾带 ★ 提示;在「收藏」里同时出现是刻意设计。已归档会话不出现在快捷列表里,收藏 id 仍保留,取消归档后自动回来。

收起、搜索与键盘

  • 收起到一行:点分区标题或「收起」,整段折叠为 36px 高,工作区列表拿回高度;状态记在浏览器,下次打开保持。
  • 就地搜索:点标题右侧 🔍,标题行变为输入框,按会话标题 / 工作区名筛选本分区;Esc 或 × 退出,Enter 打开第一条,命中文字高亮;↑/↓ 可在分区内键盘浏览。
  • 分类折叠:悬停分组行图标变实心三角,点击折叠/展开;手动选择写入 localStorage,硬刷新后恢复。默认规则:收藏永远默认收起;有「等待你的回应 / 运行中 / 完成未读」时这些默认展开、「最近活跃」默认收起;三类都没有时「最近活跃」默认展开。

空间与拖拽

工作区至少占可用高度 55%(且不少于 160px),「最近会话」最多 45%、上限 420px 并在内部滚动。窗口很矮时,最近会话只保留标题一行。拖动工作区里的会话时,「最近会话」会临时折叠成一行,标题同时变成投放区。

数据与隐私

纯前端插件,除 DSH 自身外不发起网络请求。收藏与 UI 状态存在当前浏览器 localStorage:

  • dsh.recent-sessions.favorites.v1 — 收藏会话 id 及顺序
  • dsh.recent-sessions.inline.open.v1 — 整段是否收起到一行
  • dsh.recent-sessions.cats.v1 — 各分类手动折叠/展开

收藏按站点区分,换浏览器或换域名不共享。

安装与启用

DSH 生态是「一切皆插件」;SkillHub 等社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系。安装前建议浏览源码与 MIT 许可证;插件在 DSH 客户端进程中运行,权限与当前 DSH 进程一致。

插件市场(推荐)

Plugins → Discover → Add index source,粘贴索引地址后在卡片上安装:

https://tianxiaz.github.io/dsh-recent-sessions/market/index.json

GitHub Pages 缓存约 10 分钟。若该地址网络不通,可换 jsDelivr 镜像(分支缓存约 12 小时):

https://fastly.jsdelivr.net/gh/tianxiaz/dsh-recent-sessions@main/market/index.json

命令行

dsh plugin --profile <你的 profile> add "git+https://github.com/tianxiaz/dsh-recent-sessions.git"

本地目录(开发/自用)

plugin_manager install_bundle  <绝对路径>/dsh-recent-sessions

安装后硬刷新页面即可看到左侧栏「最近会话」分区。

典型用法

下面步骤来自 README,可按同一客户端复现。

  1. 安装并完成硬刷新后,在工作区上方查看「最近会话」五类分组;根据黄 / 蓝 / 绿点与「待授权 / 待回答」文案决定优先打开的会话。
  2. 对常回访会话,悬停该行点 ☆,或从下方官方列表把会话行拖进「收藏」;在收藏分组内可拖拽排序,悬停收藏行可用 ↑「移到最前」。
  3. 列表变长时点标题右侧 🔍 过滤,用 Enter 打开第一条或方向键在分区内移动;不用整段时点标题收起到一行,需要时再展开。
  4. 需要更大操作面时,点标题右侧「在面板中打开」进入面板页管理收藏(面板页不再占用左侧面板列表的一行,与分区内容重复,按需打开即可)。

适用场景与注意

适合谁:同时在多个工作区、多个会话间切换,且希望「在跑 / 等我 / 未读 / 常看」固定在最上方、不必在长列表里扫一遍的 DSH 用户。

侧栏接管(重要):DSH 左侧 sidebar 与 sidebar.workspaces 各为单占位槽,本插件禁用官方 ui-sidebar 外壳并自行渲染品牌行、新会话、面板列表、页脚等,几何对齐官方但并非逐像素一致;官方侧栏后续若改动,插件需同步维护。卸载或禁用 bundle 可恢复官方侧栏,同时失去面板页与行上 ☆。

崩溃隔离:侧栏套有 error boundary;子组件报错时显示提示与「重新加载」,并原样渲染官方会话列表,仍可切会话与工作区。

兼容性:目标 DSH ^0.2.1-rc.5。若某版 DSH 中 ui-sidebar 行 id 改名或消失,patch 会 warn + skip,插件可能与官方外壳冲突而不生效;升级 DSH 后需按 README「兼容性与维护」核对 sidebar 子槽与 client.js 中 shell 对齐项。

结尾

dsh-recent-sessions 把收藏、运行中、等待回应、完成未读与最近活跃收进与工作区同风格的左侧栏分区,配合 ☆ 收藏、一行收起与分区内搜索,在不动官方会话浏览区的前提下缩短「下一步该点哪条会话」的路径。

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

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

小夜