Skip to content

功能请求:一键备份 data/config/history 文件夹 #236

Description

@1w1w11w1

背景

在某些情况下,AUTO-MAS 会遇到一些难以排查的未知 bug,用户当前的解决方案是导出配置后卸载重装。这个过程比较繁琐,也容易遗漏数据。

需求描述

希望能够增加一个一键数据备份功能,快速打包导出以下三个核心数据文件夹:

  • data/ — SQLite 数据库 + 各脚本的 UUID 子目录(含生成的配置文件)
  • config/ — 7 个运行时 JSON 配置文件(Config.jsonScriptConfig.jsonEmulatorConfig.json 等)
  • history/ — 任务执行历史(按日期/用户/时间戳组织的 .json + .log 文件)

期望的实现方式

  1. 前端:在设置页面增加「数据备份」按钮,点击后将三个文件夹打包为一个 zip 文件并弹出保存对话框
  2. 后端:新增 API 端点(如 GET /api/backup),在后端完成文件夹打包,返回 zip 文件下载
  3. 同时提供恢复功能(可选但建议一起实现):增加「数据恢复」入口,允许用户选择之前备份的 zip 文件进行恢复

相关代码位置

  • 三大文件夹路径定义:app/core/config.py:100-103self.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/),说明项目中已有文件归档的概念

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions