workspace-batch-manager
其他 活跃维护

workspace-batch-manager

Itailang2333/workspace-batch-manager

提供源码补丁形式的批量管理能力,为对应平台工作区列表补充内联购物车式操作入口,支持在工作区标题栏进入管理模式后批量勾选工作区或会话,支持一键归档、删除,无需逐个操作。

0
Stars 标星
0
Forks 分支
0
Watchers 关注
0
Open Issues
Shell
主要语言
MIT
开源协议
11 KB
仓库大小
1 个月前
最后推送
一键安装扩展 / 插件指令
dsh plugin --profile web add github:Itailang2333/workspace-batch-manager
git clone https://github.com/Itailang2333/workspace-batch-manager.git
git clone git@github.com:Itailang2333/workspace-batch-manager.git
README.md main

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