DeepSeek Harness Hub
← 返回列表

插件安全管家Kolos-alter/dsh-security-manager

DeepSeek Harnessspec-screened在 GitHub 查看 ↗
未验证

自动发现插件来源,快照备份更新与一键回退

尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/8/18 · 已提供中文文档

描述:DeepSeek Harness 的安全插件管理器:自动发现、npm/GitHub 源定位、基于快照的更新与回滚。

综合分
27.8
GitHub 分
27.8
用户评分
★ Stars
1
周下载量
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add Kolos-alter/dsh-security-manager
该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
数据截至 2026/9/16(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

dsh-security-manager

License: MIT
Node

dsh-security-manager 是一个 DeepSeek Harness(DSH)插件管理器:自动识别 profile 中已安装的插件,
定位其 npm / GitHub 来源,并提供快照保护的更新与回退——全部集成在 Web 的
设置 → 插件 → 安全 标签页中。

English

✨ 功能

- 🔍 自动识别插件:读取 profile 的 package.json 依赖,自动发现已安装的插件(无需手动登记名单)
- 🧭 定位来源:对每个插件识别其 npm 发布状态与 GitHub 仓库
- 已发布 npm → 查询 registry.npmjs.org 获取最新版本
- 仅有 GitHub 仓库(未发 npm)→ 从包内 repository 字段解析仓库,用 github:/ 更新
- 📸 快照保护:每次更新前自动备份 package.json / cordis.patch.yml / pnpm-lock.yaml,
可一键回退到任意快照
- 🔁 更新 / 回退:来自 npm 源或 GitHub 源的插件都可更新;更新坏了随时回退
- 🎨 原生 UI:仿照 DSH 现有设置页设计(CSS 变量、卡片、徽章、双语 zh/en),
纯增量(replaceRisk: none),不影响现有功能
- 🛡️ 安全分类:已知安全插件自动打上“安全”标记并排在最前

📦 安装

方式 A:GitHub 仓库(推荐,发布后)

1. 安装包(pnpm 的 github: 协议,或先 clone 后用本地路径)
dsh plugin --profile web add "github:Kolos-alter/dsh-security-manager"

2. 在 profile 的 cordis.patch.yml 挂载(热加载,无需重启)

profiles/web/cordis.patch.yml
- insert:
- id: security-manager
name: dsh-security-manager
config:
可选:pnpm 不在 PATH 时指定可执行文件
pnpmPath: 'C:\path\to\pnpm.cmd'
可选:home(默认 $DSH_HOME 或 ~/.dsh)、profile(默认 web)

方式 B:npm(若已发布)

dsh plugin --profile web add dsh-security-manager

方式 C:本地开发

git clone https://github.com/Kolos-alter/dsh-security-manager.git
cd dsh-security-manager
在 profile 目录执行(相对路径,避免空格路径问题)
cd "$env:DSH_HOME\profiles\web"
pnpm add "file:..\..\..\..\Kolos-alter\dsh-security-manager"

安装后刷新页面:设置 → 插件 → 安全 标签页即出现。

⚙️ 配置

插件通过 cordis.patch.yml 的 config 字段配置(全部可选):

| 字段 | 默认 | 说明 |
|---|---|---|
| home | $DSH_HOME 或 ~/.dsh | DSH 数据目录 |
| profile | web | 管理的 profile 名 |
| pnpmPath | pnpm(PATH) | pnpm 可执行文件;便携版/非 PATH 环境建议填绝对路径 |

🖥️ 使用

1. 打开 设置 → 插件 → 安全 标签页
2. 列表展示自动识别的所有已安装插件:
- 绿色徽章 = 安全类插件(排最前)
- 蓝色徽章 = 来源:npm / GitHub / npm+GitHub / 未知
- 显示当前版本与 GitHub 仓库
3. 每个插件可:
- 检查更新:查询 npm 最新版 + 仓库信息
- 更新:更新前自动创建快照(before-update-),随后从识别到的源更新
- 回退:回退到包含该插件的历史快照
4. 底部快照历史:列出所有快照,可单独回退

🔌 提供的能力(API)

Host 半通过 webServer 提供 JSON 路由(同源访问):

| 路由 | 方法 | 说明 |
|---|---|---|
| /api/security-manager/status | GET | 自动识别的插件列表(版本 / 来源 / 仓库 / 安全标记) |
| /api/security-manager/snapshots | GET | 快照历史 |
| /api/security-manager/snapshot | POST {label} | 创建快照 |
| /api/security-manager/update-check | POST {package} | npm 元数据(最新版 + 仓库) |
| /api/security-manager/update | POST {package, version?} | 更新(npm 或 GitHub 源,先快照) |
| /api/security-manager/rollback | POST {snapshot} | 回退到快照 |

🔬 工作原理

1. 自动发现:读 profiles//package.json 的 dependencies,逐个读 node_modules 下的包信息
2. 来源定位:
- npm:https://registry.npmjs.org/ 查询(dist-tags.latest + repository 字段)
- GitHub:从包内 repository / npm 元数据解析 github.com//
3. 更新:pnpm add(npm 源:[@version];GitHub 源:github:/[#ref])
4. 回退:从快照还原 3 个受保护文件 + pnpm install

🧪 独立测试(无需 DSH)

自测:显示自动发现的插件、已装版本、快照
node lib/manager.js --self-test

📂 项目结构

dsh-security-manager/
├── lib/
│   ├── index.js    # Host 半:cordis 插件 + webServer JSON 路由
│   ├── manager.js  # 核心:自动发现 / 来源定位 / 快照 / 更新 / 回退(纯 Node,可独立运行)
│   └── client.js   # Client 半:设置页“安全”标签页(__ModuleLoader__ 格式)
├── package.json    # dsh.client 声明 + 元数据
└── README.md / README.en.md / LICENSE

🛡️ 安全说明

- 更新只对自动识别到的已安装插件执行,且快照先行;回退即时可用
- 只读操作(status / snapshots / update-check)不修改任何文件
- 脚本/路由不执行任意命令:更新仅通过 pnpm 安装指定包,来源由包元数据决定
- 包名在进入 update / update-check 前经过白名单校验(拒绝路径穿越、反斜杠、.. 等非法 spec)
- 快照目录:profiles//.security-snapshots/

📄 许可

MIT © Kolos-alter

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

💬 加入 DPharness 群聊

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

点击加入 QQ 群
DPharness 群聊二维码,手机 QQ 扫码进群
扫码进群