Bundle
dsh-unplug
Plug/unplug any DeepSeek Harness plugin cleanly: list every mounted layer, disable/enable without deleting, remove bundles + patch rows + dependencies in one pass, and audit for orphaned/dangling plugin state. Zero runtime dependencies; read-only by defau
- Updated
- Updated 19 days ago
Readme
# dsh-unplug 让 DeepSeek Harness(dsh)的插件**装得容易、拔得干净**。 **为什么需要它?** 官方 `dsh plugin remove` 只处理 profile 里 `dsh.profile.bundles` 列表中的 bundle: - 不会清理 profile/home 的 `cordis.patch.yml` 里残留的插件行 - 没有"禁用但保留配置"的能力(插拔自如) - 没有审计接口,拔完也不知道有没有残留 `dsh-unplug` 补上这三个缺口。 ## 快速开始 ```sh dsh plugin add dsh-unplug ``` ## 命令行 ```sh dsh-unplug list # 列出所有已挂载插件(bundles + 补丁行) dsh-unplug remove <插件> --yes # 完整卸载(bundle + 补丁行 + 依赖) dsh-unplug disable <插件> # 禁用但不删除(保留依赖,可随时启用) dsh-unplug enable <插件> # 重新启用 dsh-unplug audit # 检测孤立行 / 悬空 bundle dsh-unplug reconcile --yes # 一键自动修复悬空与孤立状态 ``` 选项:`--profile <名>`(默认 `default`)、`--home <路径>`、`--json`、`--yes`。 ## Agent 可调用工具 安装后 agent 获得 `unplug` 工具: - `list` / `audit` — 只读,任何时候可用 - `remove` / `reconcile` — 需要 `force: true` 显式确认 - `disable` / `enable` — 可逆操作,无需确认 返回 `dsh-unplug/v1` 报告。 ## 工作原理 - bundle 列表(`dsh.profile.bundles`)— 移出列表 + pnpm remove - 禁用列表(`dsh.profile.disabledBundles`)— 在 bundles/disabled 之间移动 - profile 的 `cordis.patch.yml` — 删除插件行或切换 `disabled: true` - home 的 `cordis.patch.yml` — 同上 - 孤立/悬空状态 — audit 发现,reconcile 修复 ## 安全 默认只读;`remove` / `reconcile` 需要显式 `--yes`(CLI)或 `force: true`(工具)。 ## License MIT
Install
dsh plugin --profile web add dsh-unplug@0.3.5
Profile: web
With the hub plugin installed, ask your agent to install it by name — it resolves the same plan shown here.
dsh plugin --profile web add github:stvlynn/dsh.fish#path:packages/dsh-plugin-hub
install dsh-unplug from the hub