前言¶
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 原文):
- 会话行悬停时点
☆(官方会话列表行上也会多出该按钮); - 把会话行从下方官方列表拖进「最近会话」分组;
- 点分区标题右侧「在面板中打开」,在面板页拖到「收藏」区或拖到某条收藏上调整顺序。
收藏顺序即展示顺序,存在本机浏览器。被收藏的会话在「最近活跃」里仍会出现,行尾带 ★ 提示;在「收藏」里同时出现是刻意设计。已归档会话不出现在快捷列表里,收藏 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,可按同一客户端复现。
- 安装并完成硬刷新后,在工作区上方查看「最近会话」五类分组;根据黄 / 蓝 / 绿点与「待授权 / 待回答」文案决定优先打开的会话。
- 对常回访会话,悬停该行点 ☆,或从下方官方列表把会话行拖进「收藏」;在收藏分组内可拖拽排序,悬停收藏行可用 ↑「移到最前」。
- 列表变长时点标题右侧 🔍 过滤,用
Enter打开第一条或方向键在分区内移动;不用整段时点标题收起到一行,需要时再展开。 - 需要更大操作面时,点标题右侧「在面板中打开」进入面板页管理收藏(面板页不再占用左侧面板列表的一行,与分区内容重复,按需打开即可)。
适用场景与注意¶
适合谁:同时在多个工作区、多个会话间切换,且希望「在跑 / 等我 / 未读 / 常看」固定在最上方、不必在长列表里扫一遍的 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 把收藏、运行中、等待回应、完成未读与最近活跃收进与工作区同风格的左侧栏分区,配合 ☆ 收藏、一行收起与分区内搜索,在不动官方会话浏览区的前提下缩短「下一步该点哪条会话」的路径。