dsh-workspace-lastused:把最近用过的 Workspace 固定在侧栏首位

前言

在 DeepSeek Harness(DSH)里同时维护多个 Workspace 时,侧栏顺序往往按注册表里的默认排列。你刚在某个项目里来回发消息,切到别的 Workspace 再回来,目标项仍可能埋在列表中间。手动拖拽可以改顺序,但重启后若顺序未持久化,又得重新找。

下面介绍社区插件 dsh-workspace-lastused(分类:记忆)。它在不改动 UI、不替换 DOM 的前提下,根据真实会话活动把「刚用过」的 Workspace 调到侧栏第一位,并把顺序写入 DSH 的持久化注册表,重启后仍生效。

这是什么

dsh-workspace-lastused 是 DSH 的个人偏好类插件:保持侧栏中最近实际参与对话的 Workspace 排在最前,并在进程重启后保留该顺序。package.json 中版本为 0.1.0,许可证 MIT,运行环境要求 Node >= 20。插件不向模型暴露工具,只监听宿主事件并调整 Workspace 顺序。

社区目录页:just-liuyi/dsh-workspace-lastused。源码与说明见 GitHub 仓库(README 中的安装标识为 github:DangDangDeng/dsh-workspace-lastused,安装时请使用 README 原文命令,勿按仓库路径自行拼接)。

核心功能

工作原理

DSH 把侧栏 Workspace 顺序保存在持久化注册表里。本插件订阅宿主的 api-session/activity 事件——在用户消息推进某 Session 的列表活动时触发——据此找到该 Session 所属的 Workspace,再通过 workspaceRegistry.insertBefore 把它移到当前第一位之前。

因顺序落在注册表而非界面状态里,重启后第一位仍是上次被提升的 Workspace。实现上不碰 DOM、不做插槽替换,侧栏改版时相对不易被布局细节绊倒。

行为规则

  1. 防抖 2 秒:短时间连发多条消息时,只触发一次重排。
  2. 已在首位则不动:已是第一的 Workspace 不会为此写盘。
  3. 只统计用户发送的消息:仅打开 Workspace、不发消息,不会改变顺序。
  4. 固定 Session:已 Pin 的 Session 仍在各自固定区域;插件只改 Workspace 之间的顺序。

日志

每次真实重排会在日志文件末尾追加一行,并裁剪为最近 200 行,便于核对「谁被提到谁上面」:

  • 路径:$DSH_HOME/workspace-lastused.log;未设置 DSH_HOME 时使用 ~/.dsh/workspace-lastused.log。

示例行(来自 README):

2026-10-19T03:20:11.402Z promoted "001" above "scratch"

安装与启用

CLI 安装(将 <name> 换成你的 profile 名):

dsh plugin --profile <name> add github:DangDangDeng/dsh-workspace-lastused

DSH Desktop 中 desktop profile 由应用管理,应在 Plugins → Add plugin 中填写同一标识:github:DangDangDeng/dsh-workspace-lastused。

本地开发时,可把安装源指向本机目录(README 要求使用该目录的绝对路径):

dsh plugin --profile <name> add <absolute path to this directory>

安装前请自行查看仓库源码与 MIT 许可证;插件以当前 DSH 进程权限运行,与任何第三方插件一样,需确认来源可信。

典型用法

无需额外配置项。启用后按平时方式使用即可:

  1. 在某一 Workspace 下的 Session 里发送用户消息(推进活动)。
  2. 等待防抖窗口(约 2 秒)后,该 Workspace 应出现在侧栏列表最上方。
  3. 重启 DSH 后顺序应保持;若有疑问,查看 workspace-lastused.log 中的 promoted 记录。

注意:仅切换或打开 Workspace、不发消息,不会触发排序。

适用场景与限制

适合:长期开多个 Workspace、希望「当前在做的项目」始终在侧栏顶部的开发者;希望顺序可跨重启保留、又不想依赖手动拖拽的用户。

已知限制(README 原文):

  • 只有发消息才会改顺序,单纯打开 Workspace 无效。
  • 2 秒窗口内若两个 Workspace 都有活动,仅较晚涉及的那个 Session 对应的 Workspace 会被提升。
  • 个人偏好插件,不提供模型侧工具。

结尾

dsh-workspace-lastused 用会话活动驱动 workspaceRegistry 顺序,把最近真正在用的 Workspace 留在侧栏首位并持久化,适合多 Workspace 日常切换。更多信息见社区目录 skillhub.cn/plugins/just-liuyi/dsh-workspace-lastused 与 GitHub just-liuyi/dsh-workspace-lastused。

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

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

Xiaoye