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

插件备份还原 Eicbro3ding/dsh-plugin-backup

Cordis
Eicbro3ding81 天前有提交已提供中文文档扫描:含敏感能力

一键导出或还原已装插件、技能与配置快照

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

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

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add Eicbro3ding/dsh-plugin-backup
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

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

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

验证判据与等级说明 →

可信度证据

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

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

可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 21 处,展示前 15 条)
  • 读取本地文件
    lib/index.mjs:57
    return readFileSync(file, 'utf8')
  • 写入本地文件
    lib/index.mjs:173
    writeFileSync(file, `${significant.join('\n').trimEnd()}\n`)
  • 写入本地文件
    lib/index.mjs:218
    writeFileSync(file, `${out.filter((l) => l !== '').join('\n')}\n`)
  • 写入本地文件
    lib/index.mjs:225
    writeFileSync(file, `${significant.join('\n')}\n`)
  • 读取本地文件
    lib/index.mjs:234
    const manifest = JSON.parse(readFileSync(join(profileWebDir(), 'node_modules', packageName, 'package.json'), 'utf8'))
  • 写入本地文件
    lib/index.mjs:278
    writeFileSync(join(profileWebDir(), 'package.json'), `${JSON.stringify(manifest, undefined, 2)}\n`)
  • 读取本地文件
    lib/index.mjs:295
    if (existsSync(full)) return full
  • 读取本地文件
    lib/index.mjs:304
    if (existsSync(fallback)) return fallback
  • 执行外部命令来自配置/变量
    lib/index.mjs:312
    const result = spawnSync(resolvePnpm(), args, {
  • 读取本地文件
    lib/index.mjs:397
    entries = readdirSync(root, { withFileTypes: true })
  • 读取本地文件
    lib/index.mjs:406
    content = readFileSync(join(root, entry.name))
  • 写入本地文件
    lib/index.mjs:432
    mkdirSync(dirname(target), { recursive: true })
  • 写入本地文件
    lib/index.mjs:437
    writeFileSync(target, data, mode !== undefined ? { mode } : undefined)
  • 发起网络请求
    lib/index.js:110
    var res = await fetch("/api/plugin-backup/export", { headers: { accept: "application/json" } });
  • 发起网络请求
    lib/index.js:152
    var res = await fetch("/api/plugin-backup/restore", {
扫描于 2026/11/5(0 天前) · 范围 入口闭包 + 全包扫描 · 来源 GitHub 仓库

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

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

功能亮点

  • 一键导出插件快照
  • 一键还原插件快照
  • 导出技能与配置

一键导出/还原已安装的 DSH 插件(JSON 快照)· DSH 插件一键导出/还原

README

由 DeepSeek 最新模型翻译生成
dsh-plugin-backup 一键导出 / 还原 DSH(DeepSeek Harness)已安装插件为 JSON 快照。浏览器设置页面板操作,零 patch,完全基于官方机制。 功能 - 一键导出:把当前已安装的第三方插件(bundle 层栈 + insert 行 + 启停标记)、自定义技能(~/.dsh/skills/)和配置文件(~/.dsh 根下,含 API Key / 模型提供商)导出为 JSON 快照,浏览器下载 dsh-plugins-<时间戳>.json - 一键还原(增量):从 JSON 快照还原——已安装的自动跳过,缺失的重新安装(bundle 进层栈重启生效 / 非 bundle 写 insert 行配置 HMR 实时挂载;技能与配置按原路径写回,凭据文件写 0600) ⚠️ 安全警告:导出的 JSON 包含 API Key 等敏感凭据(.credentials.yaml / settings.yaml / qvl-vision.json)。请将备份文件保存在安全位置,切勿上传公开仓库或分享。面板导出前会弹窗确认。
展开完整文档(README 剩余 1 节)
dsh-plugin-backup

一键导出 / 还原 DSH(DeepSeek Harness)已安装插件为 JSON 快照。浏览器设置页面板操作,零 patch,完全基于官方机制。

功能

- 一键导出:把当前已安装的第三方插件(bundle 层栈 + insert 行 + 启停标记)、自定义技能(~/.dsh/skills/)和配置文件(~/.dsh 根下,含 API Key / 模型提供商)导出为 JSON 快照,浏览器下载 dsh-plugins-<时间戳>.json
- 一键还原(增量):从 JSON 快照还原——已安装的自动跳过,缺失的重新安装(bundle 进层栈重启生效 / 非 bundle 写 insert 行配置 HMR 实时挂载;技能与配置按原路径写回,凭据文件写 0600)

⚠️ 安全警告:导出的 JSON 包含 API Key 等敏感凭据(.credentials.yaml / settings.yaml / qvl-vision.json)。请将备份文件保存在安全位置,切勿上传公开仓库或分享。面板导出前会弹窗确认。

安装

方式一:CLI(装进 web profile,重启 web 生效)
dsh plugin --profile web add github:Eicbro3ding/dsh-plugin-backup

方式二:浏览器「插件」面板输入同样的源串

使用

1. 设置 → 插件备份
2. 导出 JSON:浏览器下载当前插件 + 技能清单快照
3. 导入还原:选择之前导出的 JSON 文件,逐项显示 已安装 / 已跳过 / 失败

快照格式(version 3)

{
"version": 3,
"exportedAt": "2026-08-15T05:34:47.411Z",
"plugins": [
{ "name": "@dsh-external/dsh-usage-meter", "kind": "bundle", "source": "link:C:/Users/yanzh/dsh-usage-plugin", "id": "dsh-usage-meter", "disabled": false },
{ "name": "dsh-xxx", "kind": "plugin", "source": "dsh-xxx", "id": "dsh-xxx", "disabled": true }
],
"skills": [
{ "name": "find-plugins", "root": "dsh", "files": [{ "path": "SKILL.md", "content": "..." }, { "path": "scripts/search-topic.mjs", "content": "..." }] }
],
"config": {
"files": [
{ "path": ".credentials.yaml", "content": "..." },
{ "path": "settings.yaml", "content": "..." },
{ "path": "qvl-vision.json", "content": "..." }
]
}
}

source 即当时安装用的源串(github:user/repo#ref / link:本地路径 / 版本号),还原时直接 pnpm add 。技能/配置文件为文本时存原文,二进制转 base64(encoding: "base64" 标记)。config.files 为 ~/.dsh 根下全部配置文件(不含 profiles/ 子目录,不含 .anonymous-user-id)。

原理

- 安装态来源:web profile 的 package.json(dependencies + dsh.profile.bundles)与 cordis.patch.yml(insert 行 + disabled 标记)
- 还原执行与 plugin-console 相同的官方机制:pnpm add + 层栈 reconcile + patch 行写入(配置 HMR 实时挂载)
- 官方/内置插件(@deepseek-ai/* 等)不导出、不还原;本地路径源跨机器还原会明确报失败
- 零 patch:不修改任何官方代码

开发

node --check lib/index.mjs && node --check lib/index.js
node tests/smoke.js # 冒烟测试:导出 + 还原边界分支(只读,不装不删)

参考

- plugin-console:同机制的插件管理控制台(本插件的实现参照)
预览分享卡片长什么样 ↓Eicbro3ding/dsh-plugin-backup
分享 · DeepSeek Harness Hub
Eicbro3ding/dsh-plugin-backup

一键导出或还原已装插件、技能与配置快照

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