让 AI 记住一切:OpenClaw 自我进化实录

> 从 70% Token 自动压缩到"每日三省吾身",打造一个真正会学习的 AI 助手

---

## 背景

用 OpenClaw 一段时间后,发现两个痛点:

1. **会话太长,Token 爆满** — 聊着聊着就忘了前面的内容

2. **每次重启都是白纸** — 知识没有沉淀,重复问同样的问题

能不能让 AI 自己管理记忆,像人一样"三省吾身"?

折腾了一天,终于搞定了。

---

## 一、Token 自动压缩:70% 就动手

### 问题

OpenClaw 默认的 auto-compaction 是在 context window 接近满载时才触发。但这时候已经太晚了——对话质量下降,响应变慢。

### 解决方案

在 `~/.openclaw/openclaw.json` 中配置:

```json5

compaction: {

  mode: "safeguard",

  reserveTokensFloor: 38400,  // 30% 剩余时强制压缩

  memoryFlush: {

    enabled: true,

    softThresholdTokens: 89600,  // 70% 时先存储记忆

    prompt: "Summarize the conversation history..."

  }

}

```

### 触发顺序

| 阶段 | Token 使用率 | 行为 |

|------|-------------|------|

| 1 | 70% (89600 tokens) | memoryFlush 静默存储重要信息 |

| 2 | 70% 剩余 (38400 tokens) | auto-compaction 强制压缩 |

配合 Heartbeat 每 30 分钟检查,超过 70% 会主动提醒:

```json5

heartbeat: {

  every: "30m",

  prompt: "Read HEARTBEAT.md if it exists..."

}

```

---

## 二、双层记忆体系:快 + 深

### 架构设计

```

┌─────────────────────────────────────────────────┐

│                   用户查询                        │

└─────────────────────┬───────────────────────────┘

                      ▼

┌─────────────────────────────────────────────────┐

│     QMD(短期记忆)                              │

│     • 本地 BM25 关键词搜索                       │

│     • 毫秒级响应                                │

│     • 工作区文件索引                            │

└─────────────────────┬───────────────────────────┘

                      │ 无结果/需语义理解

                      ▼

┌─────────────────────────────────────────────────┐

│     Mem0(长期记忆)                             │

│     • 云端语义向量搜索                           │

│     • 跨会话知识沉淀                            │

│     • 重要决策、经验教训                        │

└─────────────────────────────────────────────────┘

```

### QMD 安装

```bash

# 安装 Bun(如果没装)

powershell -c "irm bun.sh/install.ps1|iex"

# 安装 QMD

bun install -g qmd

# 加入 PATH

# Windows: 添加 C:\Users\{用户}\.bun\bin 到环境变量

```

### 使用方式

```bash

# 更新索引

qmd update "C:\Users\fly\.openclaw\workspace-magic"

# BM25 搜索(无需语义向量)

qmd search "关键词" -c "C:\Users\fly\.openclaw\workspace-magic"

# 查看已索引文件

qmd ls "C:\Users\fly\.openclaw\workspace-magic"

```

### 记忆分类

| 类型 | QMD(短期) | Mem0(长期) |

|------|-----------|-------------|

| 工作区文档 | ✅ 自动索引 | ❌ |

| 临时信息 | ✅ | ❌ |

| 技术知识 | ❌ | ✅ |

| 用户偏好 | ❌ | ✅ |

| 重要决策 | ❌ | ✅ |

| 经验教训 | ✅ 可选 | ✅ |

---

## 三、每日三省吾身:AI 也会反思

### 设计思路

既然 AI 每次会话都是"新"的,那就让它定时"醒过来"检查一下自己。

仿照古人的"三省吾身":

- **晨省**:检查今日计划

- **午省**:进度回顾

- **晚省**:今日总结,存入长期记忆

### 实现

创建 `scripts/self-reflection.py`:

```python

# 三省时间窗口

MORNING_START, MORNING_END = time(6, 0), time(10, 0)   # 晨省

NOON_START, NOON_END = time(12, 0), time(15, 0)       # 午省

EVENING_START, EVENING_END = time(20, 0), time(23, 0) # 晚省

# 检查当前时段,决定是否触发反思

def get_current_period(now):

    current_time = now.time()

    if MORNING_START <= current_time <= MORNING_END:

        return "morning"

    # ...

```

在 `HEARTBEAT.md` 中配置检查流程:

```markdown

## Check Procedure

### Step 1: Check Token Usage

- If usage >= 70%: 提醒用户 /compact

### Step 2: Self-Reflection Check

运行 self-reflection.py,按时段执行反思

### Step 3: Run Task Checker

执行定时任务(QMD更新、每日总结、每周维护)

```

### 工作流程

```

Heartbeat (每30分钟)

    │

    ├── 检查 Token 使用率 >= 70%? → 提醒压缩

    │

    ├── 检查时段

    │   ├── 06:00-10:00 → 晨省(今日计划)

    │   ├── 12:00-15:00 → 午省(进度回顾)

    │   └── 20:00-23:00 → 晚省(总结 + Mem0)

    │

    └── 执行定时任务

        ├── QMD 索引更新(>20h)

        ├── 每日总结(>20h)

        └── 每周维护(~6天)

```

---

## 四、文件结构

```

workspace-magic/

├── AGENTS.md              # 工作区规则

├── SOUL.md                # AI 人格定义

├── USER.md                # 用户信息

├── MEMORY.md              # 长期记忆核心(手动维护)

├── HEARTBEAT.md           # Heartbeat 任务定义

├── scripts/

│   ├── check-tasks.py     # 定时任务检查

│   └── self-reflection.py # 三省系统

└── memory/

    ├── 2026-02-25.md      # 每日日志

    ├── reflection-state.json  # 三省状态

    └── cron-state.json    # 任务状态

```

---

## 五、效果

### 配置生效确认

```bash

$ openclaw config get agents.defaults.compaction

{

  "mode": "safeguard",

  "reserveTokensFloor": 38400,

  "memoryFlush": {

    "enabled": true,

    "softThresholdTokens": 89600

  }

}

$ openclaw config get agents.defaults.heartbeat

{

  "every": "30m",

  "prompt": "Read HEARTBEAT.md if it exists..."

}

```

### 记忆系统状态

| 系统 | 状态 | 数量 |

|------|------|------|

| QMD | ✅ 正常 | 17 个文件索引 |

| Mem0 | ✅ 正常 | 26 条记忆 |

### 三省系统

当前时段会自动检查,在对应时间窗口触发反思任务。

---

## 六、下一步

- [ ] 观察晚省自动总结效果

- [ ] 优化 Mem0 存储质量(自动提取关键信息)

- [ ] 探索更智能的记忆召回策略

---

## 总结

这套系统的核心思想:

1. **Token 管理**:主动出击,70% 就压缩,不要等爆了再救

2. **双层记忆**:快的负责日常,深的负责沉淀

3. **自我进化**:定时反思,让 AI 越用越聪明

OpenClaw 的配置灵活度很高,配合 Heartbeat 和自定义脚本,可以做出很多有趣的东西。

---

*2026-02-25 by Fly @ flys161*

Read more

Java 部署:Jenkins Pipeline 构建 Java 项目(自动化)

Java 部署:Jenkins Pipeline 构建 Java 项目(自动化)

👋 大家好,欢迎来到我的技术博客! 📚 在这里,我会分享学习笔记、实战经验与技术思考,力求用简单的方式讲清楚复杂的问题。 🎯 本文将围绕Java部署这个话题展开,希望能为你带来一些启发或实用的参考。 🌱 无论你是刚入门的新手,还是正在进阶的开发者,希望你都能有所收获! 文章目录 * Java 部署:Jenkins Pipeline 构建 Java 项目(自动化) 🚀 * 为什么选择 Jenkins Pipeline?🔧 * 环境准备:搭建 Jenkins 服务器 ⚙️ * 使用 Docker 快速启动 Jenkins * 安装必要插件 * 示例 Java 项目:一个简单的 Spring Boot 应用 🌱 * 项目结构 * `pom.xml` * `DemoApplication.java` * `HelloController.java` * 单元测试(可选但推荐) * 编写 Jenkins

By Ne0inhk
【Java 开发日记】我们来说一下 MySQL 的慢查询日志

【Java 开发日记】我们来说一下 MySQL 的慢查询日志

目录 一、什么是慢查询日志 二、核心作用 三、配置参数详解 四、开启和配置 1. 临时开启(重启失效) 2. 永久开启(修改配置文件) 五、慢查询日志格式分析 典型日志条目: 关键字段解释: 六、慢查询分析工具 1. mysqldumpslow(MySQL 自带) 2. pt-query-digest(Percona Toolkit) 3. mysqlslow(第三方工具) 七、慢查询日志表模式 启用表模式存储: 表结构: 八、最佳实践和优化建议 1. 阈值设置建议 2. 日志轮转配置 3. 定期分析计划 九、性能监控和告警 1. 监控慢查询数量 2. 慢查询告警脚本

By Ne0inhk

飞算JavaAI代码审查落地难题:90%团队忽略的4个关键细节

第一章:飞算JavaAI代码合规检查概述 飞算JavaAI代码合规检查是一款面向Java开发者的智能化代码质量管控工具,深度融合静态代码分析与人工智能技术,旨在提升代码安全性、可维护性与规范性。该工具不仅支持常见的编码规范检测(如阿里巴巴Java开发手册),还能基于AI模型识别潜在的业务逻辑缺陷和安全漏洞。 核心功能特点 * 智能规则引擎:内置数百条行业标准规则,覆盖命名规范、异常处理、并发控制等关键维度 * AI辅助诊断:通过机器学习模型分析历史缺陷数据,预测高风险代码段 * 实时反馈机制:在IDE插件中实现编码过程中的即时提示,提升修复效率 * 企业级策略管理:支持自定义规则集,满足不同组织的合规要求 典型使用场景 场景说明代码提交前检查集成至Git预提交钩子,阻止不合规代码入库CI/CD流水线集成作为构建阶段的质量门禁,确保上线代码符合标准团队代码评审辅助自动生成评审报告,聚焦关键问题点 快速接入示例 以下为Maven项目中引入飞算JavaAI检查插件的基本配置: <build> <plugins> <!-- 飞算JavaAI合规检查插件 -->

By Ne0inhk

Spring AI

目录 基本概念 什么是 AI 模型(Model) 大语言模型  (LLM) 提示词 (Prompt) 词元(Token) Spring AI 是什么 快速入门 环境要求 申请 API Key 项目创建 接口编写 核心接口 ChatModel  ChatClient 消息类型 SystemMessage UserMessage AssistantMessage 输出格式 结构化输出 流式输出 SSE 协议介绍 SSE 数据格式 data event id retry SSE 使用示例 Flux Advisors 基本概念 什么是 AI AI:也就是 人工智能(

By Ne0inhk