← Back to home@MaYucong6

dsh-batch-uninstall

一个类似 Geek 风格的 DeepSeek Harness 批量卸载插件工具,支持终端交互勾选与进度条。

Stars
1
Language
Python
Created
Oct 16, 2026
Updated
Oct 16, 2026

Introduction

dsh-batch-uninstall

npm License

Geek Uninstaller 风格的 DeepSeek Harness (DSH) 批量插件卸载器。

一个规范的 DSH 插件(npm + Cordis),暴露本地 HTTP API,配合内置的 Python TUI 实现「勾选 → 二次确认 → 批量卸载」的交互式体验。核心系统插件自动锁定,防止误删。

╭──────────────────────────────────────────────────────────────╮
│            DSH Geek Uninstaller  v2.0                        │
│            交互式插件卸载器 · Geek 风格                      │
╰──────────────────────────────────────────────────────────────╯

📦 DSH 插件管理
共 9 个  |  可卸载 3  |  🔒 核心保护 6  |  已勾选 0

  🔒  @deepseek-ai/dsh-base                系统    ⚠ 高
  🔒  @deepseek-ai/dsh-web-app             系统    ⚠ 高
▶ ☐  dsh-our-free-model                   活跃    ○ 低
  ☐  dsh-boot-animation                   活跃    ○ 低
  ☐  dshmarket                            活跃    ○ 低

  ↑↓ 移动  Space 勾选  Ctrl+A 全选/反选  Enter 确认  Q 退出

安装

# 方式一:通过 DSH 插件市场 / CLI 安装
dsh plugin add dsh-batch-uninstall

# 方式二:本地开发安装
cd <你的 profile 目录>
npm install dsh-batch-uninstall

安装后重启 DSH,插件会挂载 HTTP API(/dsh-batch-uninstall/*)。

使用

# 运行 Python TUI(自动连接插件 API 获取真实插件列表)
python dsh_geek_uninstall.py

# 强制使用内置示例数据(插件未运行时)
python dsh_geek_uninstall.py --json dsh_plugins.json

交互操作

按键功能
↑ ↓移动光标(自动跳过 🔒 锁定行)
Space勾选 / 取消勾选
Ctrl+A全选 / 反选
Enter确认 → 二次确认 → 批量卸载
Q退出

架构

┌─────────────────────────────────────────────┐
│  dsh_geek_uninstall.py (Python TUI)         │
│  交互式勾选 · 二次确认 · 进度条              │
└──────────────┬──────────────────────────────┘
               │ HTTP (localhost:19387)
               ▼
┌─────────────────────────────────────────────┐
│  lib/index.js (Host 插件)                   │
│  GET  /dsh-batch-uninstall/bundles.json     │
│  POST /dsh-batch-uninstall/remove           │
└──────────────┬──────────────────────────────┘
               │ ctx.get('pluginManager')
               ▼
┌─────────────────────────────────────────────┐
│  DSH pluginManager 服务                     │
│  listBundles() / removeBundle(name)         │
└─────────────────────────────────────────────┘

核心保护

以下 Bundle 无法被卸载(Host 与 TUI 双层锁定):

保护对象说明
@deepseek-ai/dsh-base核心基础层
@deepseek-ai/dsh-web-appWeb 应用层
@deepseek-ai/dsh-sdk-*SDK 配置
所有 removable: false 的 Bundle系统声明不可移除

文件说明

文件说明
lib/index.jsHost 插件入口(暴露 HTTP API)
cordis.patch.ymlBundle 挂载补丁
package.jsonnpm 包清单(含 dsh 元数据)
dsh_geek_uninstall.pyPython TUI 客户端
dsh_batch_uninstall.py旧版纯序号版本
dsh_plugins.json示例数据

开发

# 语法检查
node --check lib/index.js
python -m py_compile dsh_geek_uninstall.py

License

MIT