Back to home@dong3434

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 始终保持最佳状态,升级无忧。

License: MIT DSH Plugin PRs Welcome


📌 目录


😣 解决的痛点

痛点 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️⃣ 一键修复 ✨

一键执行「诊断 → 修复 → 复诊」闭环:

  1. 完整诊断
  2. 自动修复所有可修复问题
  3. 再次诊断确认修复结果
  4. 输出修复报告

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)

贡献步骤:

  1. Fork 本仓库
  2. 创建功能分支:git checkout -b feature/xxx
  3. 提交修改:git commit -m "feat: xxx"
  4. 推送分支:git push origin feature/xxx
  5. 提交 Pull Request

📄 许可证

MIT License © 2026 dong3434


让 DSH 始终保持最佳状态,升级无忧! 🚀

💡 觉得好用就点个 ⭐ Star 吧!