🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

插件管理器 fuyao606/dsh-plugin-manager

DeepSeek Harnessv0.1.0
fuyao60676 天前有提交已提供中文文档扫描:含敏感能力

在 Web 设置面板里安装、启停和卸载插件

29.3/100
综合分
3
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/9/18 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

自动兼容检查有告警:npm 同名包「dsh-plugin-manager」归属 hrhgit/deepseek-harness-plugin-manager,装到的可能不是本插件。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add fuyao606/dsh-plugin-manager
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么[目录]—
dsh 原生插件 · market
暂无时间戳·判据 →
装得上吗[实装验证]✓
本站已真实安装成功
非静态推断
L4 · 真实安装等级说明 →
数据截至 2026/09/25·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/04·判据 →
还在维护吗[仓库]—
更新放缓:最近一次提交在 76 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →

可信度证据

安装兼容性检查⚠ 装前注意

npm 同名包「dsh-plugin-manager」归属 hrhgit/deepseek-harness-plugin-manager,装到的可能不是本插件

展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✓npm 包dsh-plugin-manager @ 0.1.0
✓Node 引擎要求 >=20 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/9/22 21:35:59

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 12 处,展示前 12 条)
  • 读取本地文件
    lib/index.js:46
    return JSON.parse(await readFile(join(dir, "package.json"), "utf8"));
  • 写入本地文件
    lib/index.js:50
    await writeFile(join(dir, "package.json"), text, "utf8");
  • 读取本地文件
    lib/index.js:58
    return JSON.parse(await readFile(join(pkgDir(dir, name), "package.json"), "utf8"));
  • 读取本地文件
    lib/index.js:71
    const ids = [...(await readFile(join(pkgDir(dir, name), patch), "utf8")).matchAll(/^ *-? *id: *[' ]?([^ ' ]+)[' ]? *$/gm)].map((match) => matc
  • 执行外部命令来自配置/变量
    lib/index.js:184
    const child = spawn(command, args, {
  • 读取本地文件
    lib/index.js:224
    const manifest = await readFile(join(dir, "package.json"), "utf8");
  • 读取本地文件
    lib/index.js:228
    lockfile: await readFile(join(dir, lockfileName), "utf8"),
  • 写入本地文件
    lib/index.js:235
    await writeFile(join(dir, "package.json"), snapshot.manifest, "utf8");
  • 写入本地文件
    lib/index.js:236
    if (snapshot.lockfile !== void 0 && snapshot.lockfileName !== void 0) await writeFile(join(dir, snapshot.lockfileName), snapshot.lockfile, "utf8");
  • 写入本地文件
    lib/index.js:241
    await writeFile(join(tempDir, "package.json"), JSON.stringify({ private: true }, null, 2), "utf8");
  • 删除本地文件
    lib/index.js:264
    await rm(tempDir, {
  • 发起网络请求
    lib/client.js:19
    response = await fetch(`/plugin-manager/api/${method}`, {
扫描于 2026/11/4(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

社区实装还没有人打卡 · 装过的第一个就是你
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 安装插件
  • 启停插件
  • 卸载插件

README

由 DeepSeek 最新模型翻译生成
dsh-plugin-manager 在 DeepSeek Harness(DSH)Web GUI 的「设置」面板里管理本机插件:列出、启用、禁用、安装、卸载 web profile 的插件,无需命令行手动操作。 功能 - 列出:读取 $DSH_HOME/profiles/web/package.json(dependencies + dsh.profile.bundles)与 node_modules 里的实际版本,区分「用户插件」与「内置模块」。 - 启用 / 禁用:切换插件在 dsh.profile.bundles 中的挂载(禁用保留安装,仅下次启动不再加载)。 - 安装:输入 npm 包名,在 profile 目录跑 pnpm add ,并按安装状态自动对账 bundles。 - 卸载:一键 pnpm remove ,并对账 bundles。 所有改动只落到 profile 的 package.json / node_modules,需重启 dsh web 并硬刷新浏览器后生效(host 半改动无法热加载)。
展开完整文档(README 剩余 1 节)
dsh-plugin-manager

在 DeepSeek Harness(DSH)Web GUI 的「设置」面板里管理本机插件:列出、启用、禁用、安装、卸载 web profile 的插件,无需命令行手动操作。

功能

- 列出:读取 $DSH_HOME/profiles/web/package.json(dependencies + dsh.profile.bundles)与 node_modules 里的实际版本,区分「用户插件」与「内置模块」。
- 启用 / 禁用:切换插件在 dsh.profile.bundles 中的挂载(禁用保留安装,仅下次启动不再加载)。
- 安装:输入 npm 包名,在 profile 目录跑 pnpm add ,并按安装状态自动对账 bundles。
- 卸载:一键 pnpm remove ,并对账 bundles。

所有改动只落到 profile 的 package.json / node_modules,需重启 dsh web 并硬刷新浏览器后生效(host 半改动无法热加载)。

安装

方式一:从 GitHub(推荐,免构建脚本)

仓库已提交构建产物 lib/,直接装:

dsh plugin --profile web add github:fuyao606/dsh-plugin-manager

方式二:本地开发

git clone https://github.com/fuyao606/dsh-plugin-manager.git
cd dsh-plugin-manager
pnpm install
pnpm build

装进 web profile(本地 link,改完 rebuild 后重启即可)
dsh plugin --profile web add ../dsh-plugin-manager

方式三:npm(若已发布)

dsh plugin --profile web add dsh-plugin-manager@latest

装完重启 dsh web 并硬刷新浏览器,打开 设置 →「插件管理」即可使用。

开发

pnpm install
pnpm typecheck # tsc --noEmit
pnpm build # tsdown → lib/index.js(host)+ lib/client.js(client)

仓库刻意提交了构建产物 lib/(见 .gitignore 注释),改 src/ 后需 pnpm build 重新生成并提交,保证 GitHub 安装免构建脚本。

安全

- 路由走与 /api 网关一致的浏览器信任围栏(Host 回环 / trustedHosts + 同源),阻止恶意网页对本地 DSH 服务做 CSRF 安装/卸载。
- install 的包名规格做白名单校验,避免经 shell: true 调 pnpm 时被注入;仅支持 npm 包名(name / @scope/name,可选 @version),github: / file: 等规格需走命令行。

架构

- host 半 src/index.ts → lib/index.js:/plugin-manager/api JSON API(list / enable / disable / install / remove)。
- client 半 src/client/index.tsx → lib/client.js:注册 settings.section slot,渲染管理界面。
- 只依赖模块表提供的 react;@deepseek-ai/ 服务面全部用结构化类型镜像,无值依赖。

快速开始

安装并打开管理器

仓库已提交 lib/ 构建产物,推荐直接从 GitHub 安装:

dsh plugin --profile web add github:fuyao606/dsh-plugin-manager

也可以固定到指定版本:

dsh plugin --profile web add github:fuyao606/dsh-plugin-manager#v0.1.1

安装完成后重启 DSH:

dsh web

然后进入 设置 → 插件管理。安装、升级或修改任意插件后,都要重启 dsh web,并在浏览器执行硬刷新(Windows/Linux:Ctrl+Shift+R,macOS:Cmd+Shift+R)。Host 侧的 bundle 挂载不会热加载,仅刷新页面不会使配置生效。

界面中的安装规格

「安装插件」输入框接受普通 npm 包名和版本/标签,例如:

@tonydua/dsh-web-search-exa
dsh-better-sidebar@latest
dsh-plugin@1.2.3

支持 name、name@version、name@tag、@scope/name 和 @scope/name@version。为避免命令注入,输入会经过严格字符校验;github:、file:、本地路径和 tarball URL 等规格请改用命令行安装。

状态说明

| 状态 | 含义 | 说明 |
| 已启用 | DSH bundle 已挂载到 dsh.profile.bundles | 下次启动加载 |
| 已禁用 | 包仍安装,但已移出 bundle 挂载列表 | 不会删除包 |
| 已阻断 | 与当前 profile 的 Cordis patch ID 冲突 | 不能强行启用 |
| 普通依赖 | npm 依赖,不是 DSH bundle | 不支持启用/禁用 |
| 内置 | profile 原有的内置 bundle | 不可卸载 |

配置与文件位置

默认管理 web profile:

$DSH_HOME/profiles/web/
├── package.json # dependencies 与 dsh.profile.bundles ├── pnpm-lock.yaml # pnpm 锁文件 └── node_modules/ # 已安装包 Host API 挂载在 /plugin-manager/api/,客户端在 DSH 设置页注册「插件管理」section。默认 profile 在 bundle 配置中指定为 web;使用其他 profile 时,请确保该 profile 已存在且能由 DSH 正常启动。

常见问题

安装后页面没有出现

确认命令使用了 --profile web,然后重启 dsh web 并硬刷新浏览器。仅刷新设置页不足以重新加载 Host bundle。

启用时提示冲突

该 bundle 声明的 Cordis patch ID 与当前已启用模块重复。请先禁用冲突模块,或将插件安装到独立 profile;管理器不会覆盖现有模块。

安装失败后是否需要手动修复

安装和卸载前会创建 profile 快照,命令失败时会尝试恢复 package.json 和 node_modules。如果 pnpm 被强制中断,请手动检查 $DSH_HOME/profiles/web/package.json 和 node_modules,再运行 pnpm install。

为什么普通依赖不能启用

只有带有 DSH bundle 元数据的包才会写入 dsh.profile.bundles。普通 npm 依赖由其他插件间接使用,不是可独立挂载的 DSH bundle。

开发与发布

要求 Node.js >=20,包管理器使用 pnpm:

pnpm install
pnpm typecheck # tsc --noEmit
pnpm build # tsdown,生成 lib/index.js 与 lib/client.js

修改 src/ 后必须重新构建并提交 lib/,保证 GitHub 安装不需要构建脚本。发布新版本时更新 package.json 版本号,运行类型检查和构建,提交源码与构建产物,创建同名 Git 标签,再在 GitHub Releases 页面基于该标签创建公开 Release。

安全边界补充

- API 复用 DSH Web API 的请求信任围栏,检查回环 Host、trustedHosts 和同源请求。
- API 只接受 POST,方法限定为 list、enable、disable、install、remove。
- 安装规格和插件名使用白名单校验,不会把未经校验的输入直接拼进 shell 命令。
- 插件仍会以本机 DSH 进程权限运行,请只安装信任的 npm 包。

License

MIT
预览分享卡片长什么样 ↓fuyao606/dsh-plugin-manager
分享 · DeepSeek Harness Hub
fuyao606/dsh-plugin-manager

在 Web 设置面板里安装、启停和卸载插件

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部