背景
在某些情况下,AUTO-MAS 会遇到一些难以排查的未知 bug,用户当前的解决方案是导出配置后卸载重装。这个过程比较繁琐,也容易遗漏数据。
需求描述
希望能够增加一个一键数据备份功能,快速打包导出以下三个核心数据文件夹:
data/ — SQLite 数据库 + 各脚本的 UUID 子目录(含生成的配置文件)
config/ — 7 个运行时 JSON 配置文件(Config.json、ScriptConfig.json、EmulatorConfig.json 等)
history/ — 任务执行历史(按日期/用户/时间戳组织的 .json + .log 文件)
期望的实现方式
- 前端:在设置页面增加「数据备份」按钮,点击后将三个文件夹打包为一个 zip 文件并弹出保存对话框
- 后端:新增 API 端点(如
GET /api/backup),在后端完成文件夹打包,返回 zip 文件下载
- 同时提供恢复功能(可选但建议一起实现):增加「数据恢复」入口,允许用户选择之前备份的 zip 文件进行恢复
相关代码位置
- 三大文件夹路径定义:
app/core/config.py:100-103 → self.database_path / self.config_path / self.history_path
- 前端设置页面:
frontend/src/views/setting/
- 现有设置 API:
app/api/setting.py
参考
- 项目中已有
shutil.copytree 的使用先例(app/core/config.py 中脚本配置复制时使用)
- 运行时日志归档已存在(
logs-2026-06-09/),说明项目中已有文件归档的概念
背景
在某些情况下,AUTO-MAS 会遇到一些难以排查的未知 bug,用户当前的解决方案是导出配置后卸载重装。这个过程比较繁琐,也容易遗漏数据。
需求描述
希望能够增加一个一键数据备份功能,快速打包导出以下三个核心数据文件夹:
data/— SQLite 数据库 + 各脚本的 UUID 子目录(含生成的配置文件)config/— 7 个运行时 JSON 配置文件(Config.json、ScriptConfig.json、EmulatorConfig.json等)history/— 任务执行历史(按日期/用户/时间戳组织的 .json + .log 文件)期望的实现方式
GET /api/backup),在后端完成文件夹打包,返回 zip 文件下载相关代码位置
app/core/config.py:100-103→self.database_path/self.config_path/self.history_pathfrontend/src/views/setting/app/api/setting.py参考
shutil.copytree的使用先例(app/core/config.py中脚本配置复制时使用)logs-2026-06-09/),说明项目中已有文件归档的概念