前言¶
在 DeepSeek Harness(DSH)里装插件、开工作区,时间一长列表会变长。卸载单个 bundle 通常要对着配置或命令行逐个处理;工作区删错还可能直接丢掉会话目录。Windows 上很多人用 Geek Uninstaller 做「勾选 + 进度条 + 防误删」的批量卸载;DSH 侧缺少同类的一体化界面时,清理成本会偏高。
下面介绍社区插件 dsh-batch-uninstall(维护者 MaYucong6):规范 Cordis bundle + 客户端设置页,在 DSH 设置 → 批量卸载 里用三个标签页处理插件、工作区与回收站。分类为客户端插件;仓库 GitHub 当前约 3 stars。目录页:SkillHub 插件页。
这是什么¶
dsh-batch-uninstall 是 Geek 风格的 DSH 批量清理工具箱:多选卸载插件、批量移除工作区(软删除进回收站)、在回收站里恢复或永久清空。不需要单独开浏览器地址、不依赖 Python 或外部配置文件即可完成主流程(仓库里另有可选 Python TUI)。
插件要求 DSH >=0.2.0-rc.1,Node >=20;npm 包当前版本 1.3.0,许可证 MIT。
核心功能¶
插件标签页¶
- 多选批量卸载:逐个勾选、全选、全不选,一次卸载多个 bundle。
- 核心保护:
@deepseek-ai/dsh-*等系统 bundle 锁定置灰,Host 与 Client 双层校验,无法勾选卸载。 - 风险分级:高 / 中 / 低三档提示,便于判断再操作。
受保护对象包括 @deepseek-ai/dsh-base、@deepseek-ai/dsh-web-app、@deepseek-ai/dsh-sdk-*、headless / acp 等官方 profile,以及所有 removable: false 的 bundle。
工作区标签页¶
- 勾选多个 Workspace 一次性移除;界面显示路径与会话数。
- 软删除:调用
workspaceRegistry.delete(id)取消注册,并把~/.dsh/sessions/<编码路径>/移到~/.dsh/.trash/<时间戳>__<编码>/,数据不直接删除。
回收站标签页¶
- 可恢复:把回收站中的会话目录还原到
~/.dsh/sessions/。 - 一键清空:永久删除回收站全部内容,带二次确认。
通用体验¶
- 内置设置页,主题跟随 DSH 浅色 / 深色,语言跟随 DSH(中英双语)。
- 卸载或删除前红色确认框列出全部目标;执行时有进度条与逐条成功 / 失败日志。
- Client 通过
slots注入真实服务,apply()异常隔离,插件失效不应影响 DSH 启动。
安装与启用¶
将 <你的 profile> 换成实际 profile 名称。安装命令以 README 为准:
# npm(推荐)
dsh plugin --profile <你的 profile> add dsh-batch-uninstall
# 或 GitHub
dsh plugin --profile <你的 profile> add github:MaYucong6/dsh-batch-uninstall
也可在 DSH 插件市场搜索 dsh-batch-uninstall。
安装后重启 DSH 或刷新页面,设置左侧会出现 「批量卸载」 入口。
典型用法¶
在设置页批量卸插件¶
- 打开 DSH 设置 → 批量卸载,切到 插件 标签。
- 点 刷新 拉取当前 bundle 列表;核心项会显示锁定,不可勾选。
- 勾选要卸的非核心插件,点 卸载选中项,在确认框核对列表后确认。
- 观察进度条与日志,处理失败项可据日志再试或手动排查。
界面示意(来自 README):
Geek Uninstaller · v1.3.0
[插件] [工作区] [回收站]
────────────────────────────────────────────────────────
共 15 可卸载 5 锁定 10 已勾选 0
[刷新] [全选] [全不选] [卸载选中项]
清理工作区并必要时恢复¶
- 在 工作区 标签勾选要移除的项,执行删除;会话目录进入
~/.dsh/.trash/。 - 若误删,到 回收站 标签选择恢复;确认不再需要时再 一键清空回收站(不可恢复)。
可选:Python 终端界面¶
仓库提供 dsh_geek_uninstall.py,走同一套 localhost HTTP API,适合偏好终端交互的场景。需先安装 rich:
python dsh_geek_uninstall.py
Host 侧主要 API 路径包括:GET /dsh-batch-uninstall/bundles.json、POST /dsh-batch-uninstall/remove,以及工作区与回收站对应的 workspaces.json、trash.json 等(详见 README 架构图)。
适用场景与注意¶
适合谁:经常试用社区插件、需要批量卸载;工作区多、希望软删除并保留恢复窗口的 DSH 用户。
权限与安全:插件以当前 DSH 进程权限操作本机 pluginManager、workspaceRegistry 与 ~/.dsh 目录。安装前建议阅读 源码 与 MIT 许可证,确认符合你的环境策略。清空回收站会真正删除文件,操作前务必看清二次确认内容。
SkillHub 等社区目录由生态维护,与 DeepSeek / 幻方无官方从属关系;插件来源以仓库与 npm 包为准。
结尾¶
dsh-batch-uninstall 把 Geek 式「列表 + 多选 + 确认 + 进度」搬进 DSH 设置页,并区分插件卸载、工作区软删除与回收站恢复三条线,同时锁住核心 bundle。需要时可从 npm 或 GitHub 安装,在设置里完成日常清理。
- 目录页:https://www.skillhub.cn/plugins/MaYucong6/dsh-batch-uninstall
- GitHub:https://github.com/MaYucong6/dsh-batch-uninstall