DevEnv Chat Backup 是一套面向华为云 DevEnv 环境的统一方案,用于解决容器重建导致聊天历史丢失的问题,同时整合 GLM Proxy 服务备份与容器保活功能。
用途
华为云 DevEnv 使用 overlay 文件系统。容器重建时,overlay 层数据被清除,导致聊天会话文件(sessions/)全部消失、memory.db 与 audit.db 等数据库丢失、.bashrc 等配置文件被重置、GLM Proxy 服务配置丢失。这不是 bug,而是 overlay FS 的设计特性——容器重建后只有镜像层的数据保留。本方案通过 GitHub 私有仓库定期备份,实现数据持久化与一键恢复。
主要能力
- 聊天数据备份与恢复:备份 sessions/*.jsonl、sessions-index.md、sessions-index.json、memory.db、audit.db、settings.json、SOUL.md、user_info.json 等。
- GLM Proxy 备份:备份 scripts/glm-proxy/ 服务脚本与 tmp-data/*.txt 密钥/Token。
- 容器保活:通过 tmux + 心跳 + .bashrc + 进程守护防止连接断开。
- 一键自动恢复:auto-restore.sh 依次恢复聊天数据、GLM Proxy、保活守护进程、备份守护进程。
- GitHub 加速:提供 gclone、gpull、gfetch、gpush、graw、ggit 等带镜像回退的 git 命令封装。
- 会话管理:支持自动批准、修复会话可见性、清理多余会话、交互式删除会话。
使用方式
- 创建 GitHub 私有仓库并生成 Personal Access Token(需要 repo 权限)。
- 配置 Git 凭证并克隆仓库: git config --global credential.helper store echo "https://YOUR_TOKEN@github.com" > ~/.git-credentials git clone https://YOUR_TOKEN@github.com/YOUR_USER/YOUR_REPO.git /root/chat-backup-new cp /root/chat-backup-new/scripts/.sh /root/ chmod +x /root/.sh 修改 /root/chat-backup.sh 第 19 行的 REPO_URL 为自己的仓库地址。
- 一键设置:/root/chat-backup.sh setup(首次备份 + 启动守护进程 + 配置 .bashrc + 开启免确认)。
- 配置自动恢复:将 auto-restore.sh 加入 .bashrc,容器重启后自动执行。
- 容器重建后恢复:自动恢复(推荐)或手动执行 bash /root/auto-restore.sh。
核心命令:
- chat-backup.sh setup / backup / restore / daemon / status / auto-approve / fix-visibility / prune / delete
- auto-restore.sh(一键恢复全部服务)
- keepalive.sh setup / status / log / attach
- gclone / gpull / gfetch / gpush / graw / ggit(GitHub 加速)
适用场景
- 需要长期保留 DevEnv 聊天会话与数据库的用户。
- 容器频繁重建、希望自动恢复聊天数据与 GLM Proxy 服务的环境。
- 需要防止 SSH 或终端连接断开导致工作中断的场景。
- 希望使用免费、可靠、可追溯的备份存储方案的用户。
限制
- 需要自行创建 GitHub 私有仓库并配置 Personal Access Token。
- 备份依赖 GitHub 网络访问,脚本提供镜像回退但 push 不支持镜像。
- 部分环境限制:rsync 不可用需用 cp -rf 替代;crontab 不可用需用 setsid + nohup + while 循环替代;curl 可能被 DNS 限制,恢复命令必须用 git clone。
- .bashrc 位于 overlay 层,容器重建后丢失,需手动执行一次恢复命令。
- DevEnv UI 最多显示 10 个会话,需自动 prune 消息少的旧会话。
- 具体收费、价格、平台兼容性等未在资料中提供。