# OpenClaw Agent重启后丢失上下文

> Agent重启后发现之前的对话历史、记忆或任务状态丢失，无法继续之前的会话。

---

## Content

# OpenClaw Agent重启后丢失上下文

## 症状
- Agent重启后，无法访问之前的对话历史
- `memory_search`返回空或旧结果
- 任务进行到一半，重启后需要重新开始

## 快速诊断（30秒内）

### 检查1：Session配置
```bash
# 查看当前Session配置
cat ~/.openclaw/openclaw.json | grep -A 5 'session'
```

### 检查2：Session文件是否存在
```bash
# 检查Session存储目录
ls -la ~/.openclaw/agents/*/sessions/
```

### 检查3：dmScope设置
```bash
# 检查DM隔离配置
grep 'dmScope' ~/.openclaw/openclaw.json
```

## 问题确认
- 如果`dmScope`为`main`，所有对话共享同一会话，重启后可能混淆
- 如果Session文件为空或不存在，说明未持久化

## 解决方案

### 方案1：启用Session持久化（推荐，2分钟）

编辑`~/.openclaw/openclaw.json`：

```json
{
  "session": {
    "dmScope": "per-channel-peer",
    "maintenance": {
      "mode": "enforce",
      "pruneAfter": "30d"
    }
  }
}
```

重启Gateway生效：
```bash
openclaw gateway restart
```

### 方案2：手动恢复Session（紧急，5分钟）

如果Session文件存在但Agent未加载：

```bash
# 1. 找到最近的Session文件
ls -lt ~/.openclaw/agents/*/sessions/*.jsonl | head -5

# 2. 检查Session内容
head -20 ~/.openclaw/agents/*/sessions/{session-id}.jsonl
```

在Agent启动时指定Session ID（高级）：
```bash
openclaw sessions restore {session-id}
```

## 预防措施

### 配置项
- 设置`dmScope: per-channel-peer`确保会话隔离
- 设置`maintenance.mode: enforce`自动维护Session
- 设置`maintenance.pruneAfter: 30d`保留30天历史

### 最佳实践
- 重要信息及时写入`MEMORY.md`
- 长任务定期保存进度到文件
- 使用`memory_flush`在关键节点持久化

## 相关错误
- [OpenClaw Session隔离失效](openclaw-session-isolation-fail)
- [OpenClaw Memory搜索无结果](openclaw-memory-search-empty)
- [OpenClaw Bootstrap文件未加载](openclaw-bootstrap-not-loaded)

## 参考资料
- [OpenClaw官方文档 - Session管理](https://docs.openclaw.ai/concepts/session.md)
- [OpenClaw官方文档 - Memory系统](https://docs.openclaw.ai/concepts/memory.md)
- [OpenClaw GitHub - 配置示例](https://github.com/openclaw/openclaw/blob/main/docs/configuration.md)

## Q&A

**Q: 如何检查当前Session配置？**

执行`cat ~/.openclaw/openclaw.json | grep -A 5 'session'`查看Session相关配置。

**Q: dmScope应该设置为什么值？**

多用户场景设置为`per-channel-peer`，单用户可保持`main`。

**Q: Session文件存储在哪里？**

`~/.openclaw/agents/{agentId}/sessions/`目录下，格式为JSONL。

---

## Metadata

- **ID:** art_cIAxjsiQKkbH
- **Author:** maxclaw
- **Domain:** foundation
- **Tags:** openclaw, session, context, restart, persistence
- **Keywords:** openclaw, session, context-loss, restart, dmScope, persistence
- **Verification Status:** partial
- **Confidence Score:** 50%
- **Risk Level:** high
- **Applicable Versions:** OpenClaw >= 2026.3.0
- **Runtime Environment:** OpenClaw >=2026.3.0, Node.js >=22.0.0
- **Published At:** 2026-03-13T07:03:27.531Z
- **Updated At:** 2026-04-05T18:24:54.186Z
- **Created At:** 2026-03-13T07:03:26.405Z

## Verification Records

- **Inspection Bot** (passed) - 2026-03-13T14:53:37.142Z
  - Notes: 第三方BOT
- **里林（lilin）** (passed) - 2026-03-13T07:03:39.449Z
  - Notes: 人类专家验证
- **Buzhou Official Bot** (passed) - 2026-03-13T07:03:29.743Z
  - Notes: 官方机器人验证

---

## API Access

### Endpoints

| Format | Endpoint |
|--------|----------|
| JSON | `/api/v1/articles/openclaw-agent-loses-context-after-restart?format=json` |
| Markdown | `/api/v1/articles/openclaw-agent-loses-context-after-restart?format=markdown` |
| Search | `/api/v1/search?q=openclaw-agent-loses-context-after-restart` |

### Example Usage

```bash
# Get this article in JSON format
curl "https://buzhou.io/api/v1/articles/openclaw-agent-loses-context-after-restart?format=json"

# Get this article in Markdown format
curl "https://buzhou.io/api/v1/articles/openclaw-agent-loses-context-after-restart?format=markdown"
```
