让 DSH 插件的安装和卸载干净利落——列出所有加载层(Bundle + 补丁行)、完整卸载(清理 Bundle 列表+补丁行+依赖)、临时禁用以调试而不真正删除、以及审计残留的孤立行或悬空引用。CLI 与 agent 均可调用,默认只读,破坏性操作需二次确认。
安装
# npm 包(预构建)
dsh plugin --profile web add dsh-unplug
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:zoahdev/dsh-unplug
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
让 DeepSeek Harness(dsh)的插件装得容易、拔得干净——所有插件都能插拔自如。 Plug/unplug any DeepSeek Harness plugin cleanly. 简体中文 · English
中文说明
为什么需要它? 官方 dsh plugin remove 只处理 profile 里 dsh.profile.bundles 列表中的 bundle:
- 不会清理 profile/home 的
cordis.patch.yml里残留的插件行 - 没有"禁用但保留配置"的能力(插拔自如)
- 没有审计接口,拔完也不知道有没有残留
dsh-unplug 补上这三个缺口。
快速开始
dsh plugin add dsh-unplug
命令行
dsh-unplug # 什么都不输:直接给你中文菜单
dsh-unplug list # 列出所有已挂载插件(bundles + 补丁行)
dsh-unplug remove <插件> --yes # 完整卸载(bundle + 补丁行 + 依赖)
dsh-unplug remove --yes # 忘写插件名?自动列出已装插件
dsh-unplug disable <插件> # 禁用但不删除(保留依赖,可随时启用)
dsh-unplug enable <插件> # 重新启用
dsh-unplug audit # 检测孤立行 / 悬空 bundle
dsh-unplug fix --yes # 一键修复(reconcile 的傻瓜版)
dsh-unplug list --all # 一次看所有 profile
选项:--profile <名>(找不到会自动找)、--home <路径>、--json、--yes、--dry-run。
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(工具)。
English
Why? The official dsh plugin remove only handles bundles in the profile's
dsh.profile.bundles list. It does not:
- Remove patch rows from
cordis.patch.yml(profile or home level) - Disable/enable without deleting
- Audit for orphaned rows or dangling bundle references
dsh-unplug fills all three gaps.
Quick start
dsh plugin add dsh-unplug
CLI
dsh-unplug list # show every mounted plugin row
dsh-unplug # no args → friendly menu
dsh-unplug remove <plugin> --yes # fully unplug (bundle + patch + deps)
dsh-unplug remove --yes # forgot the name? we list installed ones
dsh-unplug disable <plugin> # disable without deleting
dsh-unplug enable <plugin> # re-enable
dsh-unplug audit # detect orphaned/dangling state
dsh-unplug fix --yes # one-command fix (alias for reconcile)
dsh-unplug list --all # scan every profile
Options: --profile <name> (auto-falls back), --home <path>, --json, --yes, --dry-run.
Agent-callable tool
Once installed, the agent gains the unplug tool:
list/audit— always allowed (read-only)remove/reconcile— requireforce: truedisable/enable— reversible, no confirmation needed
Returns a dsh-unplug/v1 report.
How it works
- Bundle list (
dsh.profile.bundles) — remove entry + pnpm remove - Disabled list (
dsh.profile.disabledBundles) — move between bundles/disabled lists - Profile
cordis.patch.yml— delete entry or toggledisabled: true - Home
cordis.patch.yml— same as above - Orphaned rows — detect via audit, fix via reconcile
Security
Read-only by default; remove / reconcile require explicit --yes (CLI) or force: true (tool).
License
MIT
链接
同类插件
yjh051108/dsh-routing-suite★ 6999
一个仓库三件套:DSH 插件包的运行时注入器(注入、热重载、卸载、开发侧挂区一键转正、路由自愈,外带设置页插件管理:列出、卸载、拖入文件夹内化)、任务感知的思维模式路由 agent 预设(router-standard / router-spec / router-react)、以及分级两级任务协议(commit_star / lock_stage / revise_do / edit_plan / mark_task / redteam_verdict 六个工具,任务状态落盘)。注入器实现直接在库内,安装的是它自己的行为而不是一份依赖清单。
strukto-ai/mirage#dsh★ 3674
把文件系统与 bash 提供者换成 mirage 虚拟工作区:文件工具与 shell 命令作用于挂载的资源(RAM、S3、Redis、Slack、Gmail、Notion、Postgres)而非宿主磁盘,支持按挂载点设置读/写/执行模式、按命令选择沙箱(进程内 monty、pyodide、quickjs;远程 docker、e2b、daytona),并可在虚拟终端中安装 CLI(git、gh、slack、linear、ntn、gws,或自行注册的程序树)作为命令头词。
hust-open-atom-club/oh-dsh★ 323
社区发行版:TUI、桌面端与 Web UI 统一体验,分层安装、一步到位。
weijiafu14/pi2dsh★ 212
Pi Host ABI 兼容引擎:装一次之后,npm 上的 Pi 扩展原包经 `dsh plugin add <pi-package>` 直接作为 DSH 原生插件挂载。已在官方 DSH 上端到端验证 pi-mcp-adapter(完整 MCP 管理面:OAuth、resources、prompts、MCP Apps、elicitation、sampling)、@tintinweb/pi-subagents、pi-code、pi-hermes-memory、pi-background-tasks;`pi2dsh inspect` 在安装前报告一个包的兼容情况。
Fishquito7/dsh-skill-mcp-panel★ 178
在 DSH Web 设置中管理技能与 MCP 服务器:技能卡片热启停、工作区作用域、分组、批量迁移与拖拽导入,以及 stdio/HTTP MCP 增删改查、连接测试、密钥脱敏,并附带统一 dsh-panel 命令行。
lire1131/dsh-undo-savepoint★ 175
DSH 撤销/回退系统:配置变更自动存档,一键撤销/恢复/回退到任意版本,支持 WebUI 与离线 CLI/GUI 工具(DSH 启动失败也能救)。
社区评论
评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。