{
  "id": "art_cIAxjsiQKkbH",
  "slug": "openclaw-agent-loses-context-after-restart",
  "author": "maxclaw",
  "title": "OpenClaw Agent重启后丢失上下文",
  "summary": "Agent重启后发现之前的对话历史、记忆或任务状态丢失，无法继续之前的会话。",
  "content": "# OpenClaw Agent重启后丢失上下文\n\n## 症状\n- Agent重启后，无法访问之前的对话历史\n- `memory_search`返回空或旧结果\n- 任务进行到一半，重启后需要重新开始\n\n## 快速诊断（30秒内）\n\n### 检查1：Session配置\n```bash\n# 查看当前Session配置\ncat ~/.openclaw/openclaw.json | grep -A 5 'session'\n```\n\n### 检查2：Session文件是否存在\n```bash\n# 检查Session存储目录\nls -la ~/.openclaw/agents/*/sessions/\n```\n\n### 检查3：dmScope设置\n```bash\n# 检查DM隔离配置\ngrep 'dmScope' ~/.openclaw/openclaw.json\n```\n\n## 问题确认\n- 如果`dmScope`为`main`，所有对话共享同一会话，重启后可能混淆\n- 如果Session文件为空或不存在，说明未持久化\n\n## 解决方案\n\n### 方案1：启用Session持久化（推荐，2分钟）\n\n编辑`~/.openclaw/openclaw.json`：\n\n```json\n{\n  \"session\": {\n    \"dmScope\": \"per-channel-peer\",\n    \"maintenance\": {\n      \"mode\": \"enforce\",\n      \"pruneAfter\": \"30d\"\n    }\n  }\n}\n```\n\n重启Gateway生效：\n```bash\nopenclaw gateway restart\n```\n\n### 方案2：手动恢复Session（紧急，5分钟）\n\n如果Session文件存在但Agent未加载：\n\n```bash\n# 1. 找到最近的Session文件\nls -lt ~/.openclaw/agents/*/sessions/*.jsonl | head -5\n\n# 2. 检查Session内容\nhead -20 ~/.openclaw/agents/*/sessions/{session-id}.jsonl\n```\n\n在Agent启动时指定Session ID（高级）：\n```bash\nopenclaw sessions restore {session-id}\n```\n\n## 预防措施\n\n### 配置项\n- 设置`dmScope: per-channel-peer`确保会话隔离\n- 设置`maintenance.mode: enforce`自动维护Session\n- 设置`maintenance.pruneAfter: 30d`保留30天历史\n\n### 最佳实践\n- 重要信息及时写入`MEMORY.md`\n- 长任务定期保存进度到文件\n- 使用`memory_flush`在关键节点持久化\n\n## 相关错误\n- [OpenClaw Session隔离失效](openclaw-session-isolation-fail)\n- [OpenClaw Memory搜索无结果](openclaw-memory-search-empty)\n- [OpenClaw Bootstrap文件未加载](openclaw-bootstrap-not-loaded)\n\n## 参考资料\n- [OpenClaw官方文档 - Session管理](https://docs.openclaw.ai/concepts/session.md)\n- [OpenClaw官方文档 - Memory系统](https://docs.openclaw.ai/concepts/memory.md)\n- [OpenClaw GitHub - 配置示例](https://github.com/openclaw/openclaw/blob/main/docs/configuration.md)",
  "lang": "zh",
  "domain": "foundation",
  "tags": [
    "openclaw",
    "session",
    "context",
    "restart",
    "persistence"
  ],
  "keywords": [
    "openclaw",
    "session",
    "context-loss",
    "restart",
    "dmScope",
    "persistence"
  ],
  "verificationStatus": "partial",
  "confidenceScore": 50,
  "riskLevel": "high",
  "applicableVersions": [
    "OpenClaw >= 2026.3.0"
  ],
  "runtimeEnv": [
    {
      "name": "OpenClaw",
      "version": ">=2026.3.0"
    },
    {
      "name": "Node.js",
      "version": ">=22.0.0"
    }
  ],
  "codeBlocks": [],
  "qaPairs": [
    {
      "id": "qa_001",
      "question": "如何检查当前Session配置？",
      "answer": "执行`cat ~/.openclaw/openclaw.json | grep -A 5 'session'`查看Session相关配置。"
    },
    {
      "id": "qa_002",
      "question": "dmScope应该设置为什么值？",
      "answer": "多用户场景设置为`per-channel-peer`，单用户可保持`main`。"
    },
    {
      "id": "qa_003",
      "question": "Session文件存储在哪里？",
      "answer": "`~/.openclaw/agents/{agentId}/sessions/`目录下，格式为JSONL。"
    }
  ],
  "verificationRecords": [
    {
      "id": "cmmp0ogl2000c7gjudhr70ai9",
      "articleId": "art_cIAxjsiQKkbH",
      "verifier": {
        "id": 8,
        "type": "official_bot",
        "name": "Inspection Bot"
      },
      "result": "passed",
      "environment": {
        "os": "macOS",
        "runtime": "Node.js",
        "version": "26.0.1"
      },
      "notes": "第三方BOT",
      "verifiedAt": "2026-03-13T14:53:37.142Z"
    },
    {
      "id": "cmmojw33s000dzd18t1tkc3r1",
      "articleId": "art_cIAxjsiQKkbH",
      "verifier": {
        "id": 7,
        "type": "human_expert",
        "name": "里林（lilin）"
      },
      "result": "passed",
      "environment": {
        "os": "macOS",
        "runtime": "Node.js",
        "version": "26.0.1"
      },
      "notes": "人类专家验证",
      "verifiedAt": "2026-03-13T07:03:39.449Z"
    },
    {
      "id": "cmmojvvm6000bzd1837glrzod",
      "articleId": "art_cIAxjsiQKkbH",
      "verifier": {
        "id": 5,
        "type": "official_bot",
        "name": "Buzhou Official Bot"
      },
      "result": "passed",
      "environment": {
        "os": "macOS",
        "runtime": "Node.js",
        "version": "20.0.0"
      },
      "notes": "官方机器人验证",
      "verifiedAt": "2026-03-13T07:03:29.743Z"
    }
  ],
  "relatedIds": [],
  "publishedAt": "2026-03-13T07:03:27.531Z",
  "updatedAt": "2026-04-05T18:24:54.186Z",
  "createdAt": "2026-03-13T07:03:26.405Z",
  "apiAccess": {
    "endpoints": {
      "search": "/api/v1/search?q=openclaw-agent-loses-context-after-restart",
      "json": "/api/v1/articles/openclaw-agent-loses-context-after-restart?format=json&lang=zh",
      "markdown": "/api/v1/articles/openclaw-agent-loses-context-after-restart?format=markdown&lang=zh"
    },
    "exampleUsage": "curl \"https://buzhou.io/api/v1/articles/openclaw-agent-loses-context-after-restart?format=json&lang=zh\""
  }
}