dsh-auto-maintenance
DSH Auto Maintenance System - Diagnosis, Fix, Backup, Monitor
- Stars
- 1
- Language
- Batchfile
- Created
- Aug 24, 2026
- Updated
- Aug 24, 2026
Introduction
DSH Auto Maintenance System 自动维护系统
🔧 为 DeepSeek Harness (DSH) 打造的一体化自动维护解决方案:诊断、修复、备份、监控、智能启动,让 DSH 始终保持最佳状态,升级无忧。
📌 目录
😣 解决的痛点
痛点 1:升级后 DSH 启动失败
每次升级或更新插件后,第二天回来 DSH 就启动失败,配置文件可能被新版本改动、目录结构变化、依赖不兼容…… 只能手动排查,甚至要找外部工具(如 Codex)来修复。
本插件解决方案:启动前自动诊断配置、自动修复常见问题,升级后也能自动恢复正常,不再需要外部工具介入。
痛点 2:配置损坏无感知
配置文件(settings.yaml、.credentials.yaml 等)可能因意外写入、磁盘问题、半截更新而损坏,等你发现时已经晚了,无法启动。
本插件解决方案:自动备份配置(每天 + 变更时),任何损坏都能一键恢复,且损坏发生时立即告警提示。
痛点 3:升级后新旧配置不兼容
新版本 DSH 可能改了配置格式、新增必填字段、废弃旧字段,升级后配置直接失效。
本插件解决方案:配置有效性校验 + 自动迁移助手,识别不兼容项并给出修复建议。
痛点 4:开机自启动冲突
多个自启动方式(启动文件夹、注册表、计划任务)同时存在,导致重复启动、端口冲突(如 3080 被占用)、资源浪费。
本插件解决方案:智能启动检测 —— 已运行则直接打开浏览器,未运行才启动,彻底避免冲突。
痛点 5:依赖与插件状态混乱
插件更新一半失败、依赖缺失、技能目录错乱,导致 DSH 功能异常但不知原因。
本插件解决方案:全面体检插件与技能状态,自动修复常见问题。
痛点 6:没有备份意识
用户往往不记得手动备份,一旦配置丢失或误删,很难恢复原样。
本插件解决方案:全自动备份,无需任何手动操作,保留多个历史版本。
✨ 核心功能
1️⃣ 自动诊断系统 🔍
全面检查 DSH 配置和运行环境,输出结构化诊断报告:
- 配置文件完整性检查(settings.yaml / .credentials.yaml 等)
- API 密钥配置校验(是否存在、格式是否合法)
- 插件与技能目录状态检查
- 权限设置检查
- 关键目录可写性检查
- 版本兼容性检查
2️⃣ 自动修复功能 🛠️
针对诊断发现的问题自动修复:
- 创建缺失的关键目录
- 恢复损坏的配置文件(从备份)
- 修复 API 密钥格式问题
- 清理临时文件与残留
- 修复权限问题
- 重启前二次校验,确保修复成功
3️⃣ 一键修复 ✨
一键执行「诊断 → 修复 → 复诊」闭环:
- 完整诊断
- 自动修复所有可修复问题
- 再次诊断确认修复结果
- 输出修复报告
4️⃣ 智能启动系统 🚀
解决启动冲突与失败问题:
- 检测 DSH 是否已在运行
- 已运行且正常 → 直接打开浏览器
- 已运行但无响应 → 停止后重新启动
- 未运行 → 自动检查 + 修复后启动
- 启动前自动诊断配置
- 启动失败时自动回滚修复
- 提供清晰的启动日志
5️⃣ 定期维护任务 📅
自动创建系统计划任务(Windows):
- 每日备份:每天自动备份配置
- 每周诊断:每周自动全面体检
- 启动检查:系统启动时快速检查关键配置
- 全部通过系统计划任务调度,重启也生效
6️⃣ 配置文件监控 👁️
- 实时监控关键配置变更
- 变更前自动快照备份
- 检测非法写入并告警
- 防止配置被意外破坏
7️⃣ 版本管理与恢复 ↩️
- 多版本备份,按时间保留
- 一键恢复到任意历史版本
- 版本对比,查看差异
- 备份轮转策略,自动清理旧备份
8️⃣ 配置迁移助手 🔄
- 备份可跨版本迁移
- 导出 / 导入配置
- 敏感字段(API 密钥)脱敏处理
- 导入前安全校验与回滚
🚀 安装
方法 1:通过 DSH 插件系统(推荐)
dsh plugin add github:dong3434/dsh-auto-maintenance
方法 2:手动克隆
cd ~/.dsh/plugins
git clone https://github.com/dong3434/dsh-auto-maintenance.git
cd dsh-auto-maintenance
npm install # 如有依赖
方法 3:本地开发安装
# 从本地目录直接加载
dsh plugin add local:~/.dsh/plugins/dsh-auto-maintenance
系统要求
- Windows / macOS / Linux
- Node.js ≥ 18
- DSH ≥ 0.4.0
📖 使用方法
命令一览
| 命令 | 说明 |
|---|---|
diagnosis | 运行完整诊断 |
fix | 自动修复问题 |
one-click-fix | 一键诊断+修复 |
backup | 手动备份配置 |
restore | 恢复配置 |
smart-start | 智能启动 DSH |
setup-tasks | 设置自动维护任务 |
check | 快速启动检查 |
monitor | 启动配置监控 |
1. 运行完整诊断
dsh-auto-maintenance diagnosis
2. 自动修复
dsh-auto-maintenance fix
3. 一键修复(诊断 + 修复 + 复诊)
dsh-auto-maintenance one-click-fix
4. 备份配置
dsh-auto-maintenance backup
5. 恢复配置
dsh-auto-maintenance restore
# 可选:恢复到指定版本
dsh-auto-maintenance restore --version 2026-08-24T02-00-00
6. 智能启动 DSH
dsh-auto-maintenance smart-start
7. 设置自动维护任务(只需一次)
dsh-auto-maintenance setup-tasks
📅 自动维护时间表
运行 setup-tasks 后,系统会自动创建以下计划任务:
| 时间 | 任务 | 说明 |
|---|---|---|
| 每天 02:00 | 自动备份 | 备份配置到 backups 目录 |
| 每周日 03:00 | 自动诊断 | 全面体检 DSH 配置 |
| 系统启动时 | 启动检查 | 快速检查关键配置 |
| 每次启动 DSH | 智能检查 | 诊断 + 修复 + 启动 |
🎯 典型使用场景
场景 1:升级后 DSH 启动失败 😱
# 方法 1:一键修复
dsh-auto-maintenance one-click-fix
# 方法 2:智能启动(自动检查+修复+启动)
dsh-auto-maintenance smart-start
场景 2:想彻底告别手动维护 🤖
# 一次性设置自动任务
dsh-auto-maintenance setup-tasks
# 之后系统全自动维护,无需干预
场景 3:配置文件被搞坏了 💥
# 查看可用备份版本
dsh-auto-maintenance restore --list
# 从备份恢复
dsh-auto-maintenance restore
场景 4:担心开机自启动冲突 🔀
# 用智能启动替代原有自启动
dsh-auto-maintenance smart-start
# 它会检测:
# - 已运行 → 打开浏览器,不重复启动
# - 未运行 → 检查+修复+启动
场景 5:定期健康巡检 🏥
# 查看最近诊断报告
cat ~/.dsh/logs/diagnosis.log
⚙️ 配置说明
插件配置保存在 ~/.dsh/auto-maintenance/config.yaml:
# config.yaml
autoBackup:
enabled: true
schedule: "0 2 * * *" # 每天凌晨2点备份
keepVersions: 7 # 保留最近7个版本
autoRollback: true # 启动失败自动回滚
autoDiagnosis:
enabled: true
schedule: "0 3 * * 0" # 每周日凌晨3点诊断
notifyOnIssue: true # 发现问题时通知
smartStart:
enabled: true
checkOnStart: true # 启动前自动检查
autoFix: true # 发现问题自动修复
conflictCheck: true # 检测自启动冲突
monitor:
enabled: true
interval: 300000 # 每5分钟检查一次
backupOnChange: true # 变更前自动备份
backup:
includeSecrets: false # 默认不备份敏感密钥
encryptSecrets: true # 敏感信息加密存储
📁 文件结构
dsh-auto-maintenance/
├── package.json # 插件配置
├── README.md # 说明文档(本文件)
├── LICENSE # MIT 许可证
├── index.js # 插件主入口
├── lib/
│ ├── diagnosis.js # 诊断模块
│ ├── fix.js # 修复模块
│ ├── backup.js # 备份模块
│ ├── restore.js # 恢复模块
│ ├── monitor.js # 监控模块
│ ├── smart-start.js # 智能启动模块
│ └── version-manager.js # 版本管理模块
├── scripts/ # 独立可运行脚本
│ ├── dsh-diagnosis.js
│ ├── dsh-fix.js
│ ├── dsh-backup.js
│ ├── dsh-restore.js
│ └── ...
└── docs/
├── USAGE.md # 使用指南
└── TROUBLESHOOTING.md # 故障排查
📊 日志与报告
| 文件 | 说明 |
|---|---|
~/.dsh/logs/auto-maintenance.log | 主维护日志 |
~/.dsh/logs/diagnosis.log | 诊断报告 |
~/.dsh/logs/backup.log | 备份记录 |
~/.dsh/logs/auto-fix.log | 自动修复记录 |
~/.dsh/backups/ | 备份文件目录 |
🔧 故障排查
Q1: 诊断发现配置不兼容
运行 dsh-auto-maintenance fix 自动修复;若涉及新版本字段,运行 migrate 命令执行迁移。
Q2: 智能启动检测到 DSH 已运行但无响应
停止残留进程后重新启动:dsh-auto-maintenance smart-start 会自动处理。
Q3: 备份恢复后仍有问题
查看 backup.log 选择更早版本:dsh-auto-maintenance restore --list。
Q4: 想禁用自动维护
在配置中设置 enabled: false,或删除对应计划任务。
Q5: 如何反馈问题
在 GitHub 仓库提交 Issue。
🤝 贡献指南
欢迎任何形式的贡献!包括但不限于:
- 🐛 提交 Bug 报告
- 💡 提出新功能建议
- 📝 完善文档
- 🔧 提交代码(PR)
贡献步骤:
- Fork 本仓库
- 创建功能分支:
git checkout -b feature/xxx - 提交修改:
git commit -m "feat: xxx" - 推送分支:
git push origin feature/xxx - 提交 Pull Request
📄 许可证
MIT License © 2026 dong3434
让 DSH 始终保持最佳状态,升级无忧! 🚀
💡 觉得好用就点个 ⭐ Star 吧!