dsh-workspace-archive:工作区会话归档与侧栏整理

前言

在 DeepSeek Harness(DSH)里长期开发时,工作区与会话会在侧栏不断累积。Host 自带的会话归档能力可以逐条处理,但「整个工作区历史一次性归档、归档干净后从侧栏收起、需要时再恢复」这类工作流,往往要自己在多个入口之间来回点。下面介绍社区客户端插件 @local/dsh-workspace-archive(仓库 3361805598-gif/dsh-workspace-archive),它把「归档 / 恢复、侧栏可见性、置顶」收进一个管理面板,并与 Host 的持久归档集合对齐。

这是什么

@local/dsh-workspace-archive 当前版本为 0.2.1,由维护者 3361805598-gif 发布,分类为 客户端。实现为无构建步骤的纯 JavaScript DSH Web / Desktop 插件;许可证为 MIT(见仓库 package.json)。

一句话定位:一次操作归档或恢复某个工作区下的会话;当该工作区里所有「真实会话」都已归档后,整个工作区(含空白 New Session 占位)会从侧栏消失,仍可在插件的 Workspace Archive 管理面板中访问;恢复任意一条真实会话即可让工作区重新出现在侧栏。另支持工作区置顶。

核心功能

归档与恢复

  • 通过 Host 的 uiWorkspace.archiveSession / unarchiveSession 执行归档,Host 入口本身不承担业务逻辑(见 README「Installation and updates」)。
  • 归档前会请求确认。默认跳过正在运行的会话;只有操作者勾选 Also stop running sessions 或对应重试操作时才会停止运行中的会话。
  • 批量处理时会出现浮动进度卡片,可在处理过程中切换面板导航或取消剩余任务;结果会报告失败项并提供 undo。

侧栏可见性

  • 当某工作区内所有真实会话历史都已归档时,该工作区从侧栏隐藏;空白占位与子 agent 不会阻止隐藏。
  • 仍存在未归档会话(含被跳过的运行中会话、归档失败、未完成且已取消的批次)时,工作区保持可见。
  • 仅空白占位的工作区仍可用来开新会话。
  • 可见性由 Host 的持久归档集合决定,刷新后仍有效;旧版插件归档的数据无需再次归档即可参与隐藏逻辑。
  • 已隐藏的会话不会出现在 Ungrouped、扁平浏览或侧栏搜索中;侧栏自带的 archive 过滤器也不会列出被隐藏的工作区,需用本插件面板恢复。
  • 恢复任意一条真实会话即可让工作区回到侧栏,或使用 Restore all 恢复整组;单独归档的空白占位也可单独恢复。
  • 工作区注册信息、日志、目录、成员关系以及保存的展开/手动排序会保留;隐藏父工作区不会单独归档已单独注册的子工作区。

置顶

  • 通过 Host 的 workspaces.insertBefore 重排,使置顶块始终位于新工作区与手动移动项之前;最近置顶的工作区排在置顶块最前;取消置顶后该工作区落在剩余置顶块下方。
  • 顺序由 Host 持久化;置顶成员列表保存在浏览器本地键 dsh.workspace-archive.pinned-workspaces。
  • 当重排 API 不可用时,置顶控件会隐藏。

与 Host 版本的兼容说明

README 写明:0.2.1 的侧栏契约在 DSH 0.2.1-rc.3 上做过核对。该 Host 版本未提供工作区可见性过滤器或官方 occupant-wrapper API;插件通过独立的 installSidebarFilter 兼容适配器包装 live 的 sidebar.workspaces 条目组件,仅过滤其 workspace/session props,不改动条目原有 children、store、inject、locale 与 actions。此方式依赖可变条目表示,并非 Host 保证的稳定扩展点;Host 升级后需自行做回归验证。卸载插件会取消工作区隐藏,但不会删除已写入的会话归档记录。

安装与启用

README 说明:通过 DSH 插件管理器 安装本目录;manifest 中的 dsh.bundle.patch 指向 cordis.patch.yml,用于插入 workspace-archive 行。

更新是否生效应依据管理器返回的 application 与 nextStep,不能仅凭源码改动认定浏览器已加载新代码。更新后应刷新当前 DSH 页面;若管理器要求,Desktop 端需先重启。

插件在 package.json 中声明为 Web 客户端、immediately: true,并注入 @deepseek-ai/dsh-client-locale、@deepseek-ai/dsh-client-ui-renderer、@deepseek-ai/dsh-client-ui-workspace、@deepseek-ai/dsh-api-session-controller、@deepseek-ai/dsh-api-workspace-controller 等依赖。运行环境要求 Node >= 20(用于仓库内检查与测试脚本,非 End 用户日常必需)。

社区目录页(与 DeepSeek / 幻方无官方从属关系):https://www.skillhub.cn/plugins/3361805598-gif/dsh-workspace-archive
源码与说明:https://github.com/3361805598-gif/dsh-workspace-archive

安装前请自行阅读仓库源码与 MIT 许可证;插件以当前 DSH 进程权限在客户端运行,归档与恢复会作用于本机可见的工作区与会话数据。

典型用法

  1. 在侧栏打开归档图标,进入 Workspace Archive 管理面板。
  2. 面板展示各工作区路径、会话数量、Archive all / Restore all、置顶控件,以及可展开的会话列表;已隐藏的工作区会带 Hidden from sidebar 标签。
  3. 在会话行菜单中也可执行工作区级归档或置顶。
  4. 需要恢复侧栏中的工作区时,在面板中对任意真实会话执行恢复,或对该工作区使用 Restore all。

仓库开发者自检命令(来自 README):

node scripts/check.mjs
node --test 'test/**/*.test.mjs'

更完整的安装与浏览器验证边界见仓库 VERIFICATION.md;README 指出 stub 组件测试不能替代真实渲染结果。

适用场景与注意

适合侧栏工作区较多、希望按工作区批量归档历史会话、并在「全部归档后」自动收起侧栏入口的 DSH / 智能体开发者。若你依赖侧栏搜索或 Ungrouped 浏览已归档工作区,需改用本插件面板查找与恢复。

注意:侧栏过滤依赖 Host 内部条目结构,大版本升级后应重新验证隐藏与恢复行为;置顶状态部分存于浏览器本地,换浏览器或清站点数据可能丢失置顶列表(归档记录仍由 Host 持久化)。禁用插件不会清掉已有会话归档,仅取消「整工作区隐藏」效果。

结尾

dsh-workspace-archive 把「工作区级归档、侧栏隐藏、恢复与置顶」集中在一个面板里,并与 Host 持久归档语义对齐,适合作为 DSH 客户端侧的侧栏整理工具。详情与安装入口见 SkillHub 目录页 与 GitHub 仓库。

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

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

Xiaoye