备份恢复

📎 引用文件

本文引用的文件 - agent/src/session/store.py - agent/src/memory/persistent.py - agent/src/config/migrate.py - agent/src/governance/ledger.py - agent/api_server.py - agent/tests/test_state_migration.py - agent/tests/test_governance.py - agent/src/trading/connectors/alpaca/sdk.py

目录

  1. 简介
  2. 项目结构
  3. 核心组件
  4. 架构总览
  5. 详细组件分析
  6. 依赖关系分析
  7. 性能考虑
  8. 故障排查指南
  9. 结论
  10. 附录

简介

本文件面向 Vibe-Trading 的“备份与恢复”体系,围绕会话数据、研究结果、配置信息与用户数据的持久化位置、一致性保障、可验证性与灾难恢复策略进行系统化说明。仓库内已实现: - 会话与消息的本地文件系统存储(JSON + JSONL),具备原子追加与 fsync 保证; - 跨会话记忆系统的文件归档与压缩,支持原文件归档与原子写入; - 一次性状态迁移工具,将历史代码相对路径下的状态迁移至运行时根目录; - 哈希链式审计账本,提供完整性校验、导出与离线验证能力; - 配置与凭据的安全落盘与权限控制。

本方案强调“可验证、可恢复、可审计”,并给出自动化运维建议与云存储集成思路。

项目结构

与备份恢复直接相关的核心模块分布如下: - 会话存储:基于目录结构的 JSON/JSONL 持久化,包含 session.json、messages.jsonl、attempts 子目录; - 持久化记忆:以 Markdown 为载体的跨会话记忆,含索引、压缩与归档; - 状态迁移:启动时从旧路径迁移到运行时根目录,使用隐藏暂存名与原子重命名; - 治理账本:哈希链式 JSONL,支持旋转归档、导出与离线验证; - API 服务:挂载路由,暴露系统健康检查等接口,便于外部监控与备份触发。

graph TB A["应用进程"] --> B["会话存储<br/>session/store.py"] A --> C["持久化记忆<br/>memory/persistent.py"] A --> D["治理账本<br/>governance/ledger.py"] A --> E["API 服务<br/>api_server.py"] A --> F["状态迁移<br/>config/migrate.py"] B --> G["文件系统<br/>sessions/*"] C --> H["文件系统<br/>~/.vibe-trading/memory/*"] D --> I["文件系统<br/>audit_chain.jsonl + 归档段"] E --> J["HTTP 端点<br/>/health 等"] F --> K["运行时根目录<br/>get_runtime_root()"]

图表来源 - agent/src/session/store.py:16-55 - agent/src/memory/persistent.py:196-206 - agent/src/governance/ledger.py:368-469 - agent/api_server.py:185-188 - agent/src/config/migrate.py:114-153

章节来源 - agent/src/session/store.py:16-55 - agent/src/memory/persistent.py:196-206 - agent/src/governance/ledger.py:368-469 - agent/api_server.py:185-188 - agent/src/config/migrate.py:114-153

核心组件

章节来源 - agent/src/session/store.py:59-163 - agent/src/memory/persistent.py:258-313 - agent/src/config/migrate.py:114-153 - agent/src/governance/ledger.py:368-469 - agent/api_server.py:185-188

架构总览

下图展示备份恢复相关的数据流与关键交互:

sequenceDiagram participant App as "应用进程" participant Store as "会话存储" participant Mem as "持久化记忆" participant Led as "治理账本" participant API as "API 服务" participant FS as "文件系统" App->>Store : 创建/更新会话、追加消息 Store->>FS : 写入 session.json/messages.jsonl (fsync) App->>Mem : 保存/检索/压缩记忆 Mem->>FS : 归档原文件、写入 .md 与索引 App->>Led : 写入审计记录可选 Led->>FS : 追加 JSONL 并 fsync API-->>App : /health 等端点供外部调用

图表来源 - agent/src/session/store.py:151-163 - agent/src/memory/persistent.py:258-313 - agent/src/governance/ledger.py:368-469 - agent/api_server.py:185-188

详细组件分析

会话数据备份与恢复

flowchart TD Start(["开始"]) --> Check["检查目标会话是否存在"] Check --> |是| RestoreMeta["恢复 session.json"] Check --> |否| End(["结束"]) RestoreMeta --> RestoreMsg["恢复 messages.jsonl"] RestoreMsg --> Verify["校验 JSONL 行完整性"] Verify --> |通过| RebuildIndex["重建搜索索引(可选)"] Verify --> |失败| Repair["跳过损坏行并告警"] RebuildIndex --> End Repair --> End

图表来源 - agent/src/session/store.py:79-163

章节来源 - agent/src/session/store.py:16-55 - agent/src/session/store.py:79-163

研究结果与运行产物备份

章节来源 - agent/src/config/migrate.py:32-39 - agent/tests/test_state_migration.py:17-35

配置信息与用户数据备份

章节来源 - agent/src/trading/connectors/alpaca/sdk.py:170-179

用户记忆与知识资产备份

章节来源 - agent/src/memory/persistent.py:258-313 - agent/src/memory/persistent.py:462-578

数据一致性保证与完整性检查

章节来源 - agent/src/session/store.py:151-163 - agent/src/governance/ledger.py:368-469 - agent/src/config/migrate.py:57-102

自动备份配置与保留策略

[本节为通用指导,无需源码引用]

云存储集成(S3/OSS)

[本节为通用指导,无需源码引用]

备份脚本编写指南与自动化运维

[本节为通用指导,无需源码引用]

空间管理与安全考虑

[本节为通用指导,无需源码引用]

依赖关系分析

graph LR API["API 服务"] --> Route["路由模块"] Route --> Session["会话存储"] Route --> Memory["持久化记忆"] Route --> Ledger["治理账本"] Session --> FS["文件系统"] Memory --> FS Ledger --> FS

图表来源 - agent/api_server.py:185-188 - agent/src/session/store.py:16-55 - agent/src/memory/persistent.py:196-206 - agent/src/governance/ledger.py:368-469

章节来源 - agent/api_server.py:185-188

性能考虑

[本节为通用指导,无需源码引用]

故障排查指南

章节来源 - agent/src/session/store.py:174-193 - agent/src/governance/ledger.py:408-469 - agent/src/config/migrate.py:57-102

结论

Vibe-Trading 的备份恢复体系以文件系统为核心,结合哈希链式审计与原子写入机制,提供了高一致性与可验证性的数据保护方案。通过合理的备份策略、自动化运维与安全措施,可有效应对日常备份与灾难恢复场景。

[本节为总结性内容,无需源码引用]

附录

[本节为补充信息,无需源码引用]