Skip to content

09 配置、会话与存储

模块目标

理解系统状态为什么“可恢复、可回滚、可演进”。

步骤一:实现拆解(执行链路)

  1. 配置读写主引擎: src/config/io.ts
  2. 路径与目录策略: src/config/paths.ts
  3. 会话存储: src/config/sessions/store.ts
  4. 会话相关导出: src/config/sessions.ts

步骤二:细粒度讲解(小白版)

  1. config/io.ts 不只是读 JSON
  • 支持 JSON5
  • 环境变量替换 ${VAR}
  • include 合并
  • schema 校验
  • 默认值补齐
  • 兼容迁移
  • 原子写入与审计日志
  1. paths.ts 定义“状态目录规则”
  • 默认 ~/.openclaw
  • 允许环境变量覆盖
  • 兼容历史目录与旧配置文件名
  • 统一解析 config/state/oauth 路径
  1. sessions/store.ts 是高频读写热点
  • 内存缓存 + TTL
  • 文件 mtime 校验
  • 锁机制避免并发写冲突
  • 自动清理过期 session
  • 支持容量上限与旋转
  1. 为什么这层关键
  • 自动回复依赖 session 保持上下文
  • 发送层依赖 delivery context 找回目标
  • 路由层依赖会话键定位用户状态

用工程视角拆解 AI 智能体框架