SuperAPI AI 工具集

backup

部署与运维

查看项目

更新于 10-16 08:52

技能介绍

用途

backup 是一个智能体状态备份管理技能(Snapshot Manager),用于对当前智能体进行快照创建、历史备份查看和恢复操作。它通过 sc-agent-backup 存储服务(内部地址 sc-agent-backup.internal)工作,身份与容器 JWT 绑定,用户只能访问自己的命名空间。

主要能力

三种流程(由不同触发词区分):

  • 创建备份(Create):由 /backup、"备份…"、"做个快照"、"back up my agent"、"バックアップ" 等触发,将当前智能体状态打包并上传至 sc-agent-backup。
  • 恢复备份(Restore):由 /restore、"恢复…"、"回滚到上次备份"、"restore from backup"、"復元" 等触发,流程为列出 → 选择 → 下载 → 逐分区应用(每步需用户确认)。
  • 删除备份(Delete):由 /delete-backup、"删除备份…"、"delete a backup"、"バックアップ削除" 等触发,流程为列出 → 选择 → 两次用户确认 → 调用 DELETE /backups/{id}。

存储对每个用户有 5 个备份的硬性上限。当存储已满时,上传会返回替换菜单由用户挑选替换对象,不会自动选择最旧的备份。

使用方式

技能安装路径为 /data/workspace/skills/backup/,脚本以智能体工作目录(/data/workspace/)为基准,例如:

python3 skills/backup/scripts/pack.py ... python3 skills/backup/scripts/upload.py ...

相关脚本包括 pack.py、upload.py、download.py、restore.py、delete.py、list.py、propose_rules.py、ensure_rules.py。

用户偏好保存在 /data/workspace/config/backup_rules.md 中,记录默认模式、额外排除项(Extra excludes)、额外路径(Extra paths)、标签模板(Label template)及备注。该文件属于用户可自由读写,用于存放本容器特有的偏好设置;而 skills/backup/ 下的技能代码文件为只读,不得修改。备份行为的调整统一写入 backup_rules.md。

首次备份时会运行 propose_rules.py 扫描 /data/workspace/ 与 /data/ 顶层条目并分类,向用户展示将被备份和被跳过的内容列表,再据此生成规则文件。

备份内容

打包结构包含 manifest.json(含每个文件的 path、size、sha256 及排除项说明)、files/(workspace 与 data 的镜像)、api/(profile.json、settings.json、scheduled_tasks.json)。

默认包含 /data/ 下所有内容,包括 .env 明文密钥和 sessions/state.db 及 WAL。默认排除(黑名单)日志文件、ChromaDB/FTS 索引/嵌入缓存、.npm-cache、.bash_processes、.startup-tasks、hibernation_state.json、workspace/.backup、workspace/.restore、.active-upload.json、.restore.log、pycache 与 *.pyc。--mode full 会禁用这些跳过(除两项自循环保护项)。

完整性校验分层:存储侧以 {backup_id}.manifest.json 提供整包 sha256;包内 manifest.json 提供逐文件哈希,恢复时逐一重算校验。

适用场景

适用于需要对智能体当前状态做快照、日后回滚或迁移的场景,例如在改动前保存状态、从历史备份恢复、清理旧备份。

限制

  • 每个用户最多 5 个备份,超出时需通过替换菜单选择。
  • 备份包包含明文密钥,应视为敏感数据,不应复制到存储之外或跨账户共享,客户端 AEAD 加密为未来可选项。
  • 技能代码文件为只读,不得编辑,所有调整写入 backup_rules.md。
  • 脚本失败时须立即停止流程并展示错误,不得静默重试。
  • 若存在未完成的恢复日志(/workspace/.restore.log),创建流程会拒绝执行,恢复流程会询问用户如何处理,删除流程会给出提示。

暂未提供

关于具体收费、价格、平台支持范围等信息,资料中暂未提供。