📖 功能介绍
世界上有一种记忆叫做Agent状态,在0和1之间流浪。凌晨5点23分,服务器重启了,Agent醒来后却忘了昨晚聊了什么——这感觉就像失忆症,既荒诞又心酸。
OpenClaw的状态持久化系统解决了这个问题。它可以把Agent的内存状态、对话历史、工作进度全部保存下来,重启后无缝续接。就像给Agent装了个"记忆芯片",让它在时间的长河中保持连续性。
持久化内容类型
| 状态类型 | 内容 | 存储介质 |
|---|---|---|
| 对话历史 | 用户消息、Agent回复 | 数据库/文件 |
| 工作上下文 | 当前任务、中间结果 | Redis/内存 |
| 用户偏好 | 设置、习惯、历史行为 | 数据库 |
| Skill状态 | 技能执行进度、参数 | 临时存储 |
🚀 使用方法
1. 基础配置
📁 启用状态持久化
# OpenClaw Agent 配置
agent:
name: "persistent_agent"
state:
enabled: true
# 对话历史持久化
conversation:
enabled: true
max_history: 50 # 保留最近50轮对话
storage: "sqlite" # sqlite/mysql/redis
# 工作上下文持久化
context:
enabled: true
auto_save: true
save_interval: 30s # 每30秒自动保存
# 用户偏好持久化
preferences:
enabled: true
storage: "mysql"
2. 对话历史管理
# 对话历史配置
conversation_history:
# 存储方式
storage:
type: "sqlite"
path: "/data/conversations.db"
# MySQL备选
# type: "mysql"
# host: "localhost"
# database: "openclaw"
# 历史压缩策略
compression:
enabled: true
# 当历史超过100条时压缩
threshold: 100
# 使用摘要压缩
method: "summarization"
# 保留关键对话
keep_important: true
# 搜索优化
search:
enabled: true
index_fields: ["content", "timestamp", "user_id"]