dsh-backup-btn
DSH 一键备份按钮 - 浮动按钮备份 DSH 数据到 GitHub Gist
- Stars
- 0
- Language
- JavaScript
- Created
- Aug 26, 2026
- Updated
- Aug 26, 2026
Introduction
dsh-backup-btn
DSH 一键备份按钮 - 浮动按钮一键备份 DSH 数据到 GitHub Gist

功能
- 🔘 右下角浮动备份按钮(Material Design FAB 风格)
- 💾 一键备份 DSH 数据(localStorage、会话配置等)
- ☁️ 备份到 GitHub Gist(私有 Gist,安全可控)
- 🔧 首次使用引导配置(Token + Gist ID)
- 🚀 零依赖,独立运行,不需要 dshmarket
安装
方式 1:从 GitHub 安装(推荐)
dsh plugin --profile web add github:faye0526/dsh-backup-btn
方式 2:从本地安装
git clone https://github.com/faye0526/dsh-backup-btn.git ~/.dsh/plugins/dsh-backup-btn
dsh plugin --profile web add link:../../plugins/dsh-backup-btn
方式 3:从 npm 安装(发布后可用)
dsh plugin --profile web add @faye0526/dsh-backup-btn
使用
- 安装后重启 DSH Desktop 或运行
dsh web - 右下角出现紫色浮动按钮
- 首次点击弹出配置向导:
- GitHub Token:需要
gist权限,点击创建 - Gist ID:留空自动创建新 Gist,或填写已有 Gist ID
- GitHub Token:需要
- 配置完成后,点击按钮即可备份
- 备份成功后按钮变绿 ✓,Gist ID 显示在 toast 中
数据说明
备份内容包括:
- DSH localStorage 数据(排除敏感 token/key)
- 备份时间戳
- 插件版本号
不备份:
- GitHub Token(仅用于 API 认证)
- API Keys
- 其他敏感配置
常见问题
Q: 为什么不用 dshmarket 的备份功能?
A: dshmarket 是可选依赖,部分用户不装 dshmarket。本插件内置 GitHub Gist API,零外部依赖,任何人装了就能用。
Q: 备份数据存在哪里?
A: 存在你的 GitHub Gist(私有),只有你能看到。Gist ID 和 Token 存在浏览器 localStorage。
Q: 如何更换 Gist?
A: 清除浏览器 localStorage 中的 dsh-backup-config 键,重新配置即可。
Q: 支持自动备份吗?
A: 当前版本仅支持手动备份。自动备份功能计划中(通过 DSH 定时任务实现)。
技术细节
- Client 插件结构:
client.js经__ModuleLoader__.load注册,DSH 自动注入 - GitHub Gist API:使用
fetch直接调用 REST API(POST/ PATCH) - 配置存储:浏览器 localStorage(未来支持
.credentials.yaml) - 无构建步骤:纯原生 JS,无需 webpack/rollup
开发
# 克隆仓库
git clone https://github.com/faye0526/dsh-backup-btn.git
cd dsh-backup-btn
# 链接到 DSH 插件目录
ln -s $(pwd) ~/.dsh/plugins/dsh-backup-btn
# 安装到 profile
dsh plugin --profile web add link:../../plugins/dsh-backup-btn
# 验证
dsh --profile web --dump-config | grep dsh-backup-btn
License
MIT © 2026 faye0526
致谢
- DSH 团队提供的
__ModuleLoader__.load机制 - dshmarket 插件提供的灵感