Back to home@Itailang2333

workspace-batch-manager

No description

Stars
0
Language
Shell
Created
Aug 23, 2026
Updated
Aug 23, 2026

Introduction

dsh-workspace-batch-manager

给 DeepSeek Harness 的 工作区列表 添加批量管理能力(内联购物车式):在工作区标题旁进入管理模式,批量勾选工作区/会话,一键归档或删除。

重要:这是一个「源码补丁(source patch)」,不是可安装插件。 原因:DSH 当前架构没有向外暴露"工作区列表内部"(列表头、每行勾选框、管理工具条)的 UI 扩展点——sidebar.workspaces 是一个被核心包独占的单例槽,只留了一个与批量勾选无关的目录选择器子洞。要在这里做内联交互,只能直接改动 ui-workspace 包源码。因此本仓库以标准 git patch 形式分发,需要你把补丁打进自己的 DSH 源码后重新构建。


功能特性

  • 管理模式入口:工作区列表标题右侧的清单图标按钮进入/退出管理模式。
  • 淘宝购物车式选择:每个工作区与会话行首出现勾选框;勾选工作区自动级联选中其下全部会话(工作区支持半选态)。
  • 内联动作条:管理态下,列表上方出现 已选 N 项|全选 归档 删除 退出管理
  • 全选 / 取消全选:一键全选所有工作区与未归档会话。
  • 批量归档:归档选中会话(工作区容器保留)。
  • 批量删除:删除选中工作区注册(其下会话落入"未分组"保留);会话则归档。
  • 并发安全:批次操作受"处理中…"锁保护,避免连点;失败项红字提示。

适用版本

  • 目标基线:DeepSeek Harness v0.1.1-rc.2(git commit b150a551b8)。
  • 其他版本因源码结构不同,git apply 可能产生冲突,需手动调整。

安装(一步补丁 + 两步构建)

要求:DSH 以 git 克隆方式管理(C:\dsh-build),且工作树相对基线无其他改动。

# 1) 应用补丁(自动定位 DSH 仓库根)
bash apply-batch-manager.sh
#    等价于:在 DSH 仓库根执行  git apply patch/workspace-batch-manager-v0.1.0.patch

# 2) 重新构建
cd C:\dsh-build
pnpm build

# 3) 重启 DSH web 服务并强刷浏览器(Ctrl+Shift+R)

管理模式下左侧"工作区"标题右侧即出现批量管理图标。

回滚

bash rollback-batch-manager.sh
#    等价于:git apply --reverse patch/workspace-batch-manager-v0.1.0.patch
cd C:\dsh-build && pnpm build

语义说明(重要,别踩坑)

操作对工作区对会话数据去向
归档容器保留会话加进"已归档隐藏集合"数据仍在(SQLite),但当前 DSH 无任何查看/恢复归档的界面,本质是"永久隐藏"
删除销毁注册记录(path/title/sessionIds/时间仅失去归属,不删除会话落入"未分组",仍可见可处理

归档在数据层可逆,但在 UI 层没有恢复入口。请把"归档"当作"从列表永久隐藏"使用;需要保留可见的会话请用"删除工作区"(降级到未分组)。

为什么不能上 npm / dshmarket

DSH 生态的"插件市场"(npm + awesome-dsh-plugin.com/dshmarket + GitHub topics)面向独立可安装插件(例如 dsh-skill-cockpit,它挂在开放列表槽 settings.section)。本功能所需的"内联进工作区列表"没有对应扩展点,故不满足独立插件形态,仅提供源码补丁分发。

目录结构

workspace-batch-manager-publish/
├── README.md                                    # 本文档
├── LICENSE                                      # MIT
├── apply-batch-manager.sh                       # 打补丁脚本
├── rollback-batch-manager.sh                    # 回滚脚本
└── patch/
    └── workspace-batch-manager-v0.1.0.patch     # 标准 git 补丁(5 个文件)

许可

MIT