Skip to content

huafenchi/xiaoclaw-memory

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🦞 XiaoClaw Memory System V2

零成本、纯文件、分层记忆系统 — 专为 24/7 AI Agent 设计

一个不需要数据库、不需要额外 LLM 调用、不花一分钱 token 的 AI Agent 记忆方案。

借鉴了 memU 的类型体系和 OpenViking 的分层架构,但完全基于 Markdown 文件实现。


为什么做这个?

现有的 AI Agent 记忆方案(mem0、memU 等)都需要:

  • 额外的 LLM 调用来提取和分类记忆(每轮对话多花几千 token)
  • 外部数据库(ChromaDB、PostgreSQL、向量存储)
  • 复杂的部署和维护

但对于 OpenClaw 这样的 24/7 Agent 来说,记忆系统本身不应该成为成本负担

XiaoClaw Memory V2 的答案是:让 Agent 自己判断记忆类型,用纯文件系统存储,零额外开销。


架构

三层分层架构(L0 → L1 → L2)

┌─────────────────────────────────────────────┐
│  L0: MEMORY.md — 索引 + 统计 + 摘要         │  ← 每次会话必读(~200 tokens)
│  快速定位需要什么,去哪找                      │
└──────────────────┬──────────────────────────┘
                   │
┌──────────────────▼──────────────────────────┐
│  L1: 主题文件 — 按类型分类的长期记忆           │  ← 按需加载
│                                              │
│  [P] profile.md    用户画像/身份/偏好         │
│  [E] events.md     重要事件时间线             │
│  [K] knowledge.md  技术知识/客观事实          │
│  [B] behaviors.md  行为模式/工作习惯          │
│  [S] skills.md     踩坑经验/可复用方案        │
│  [!] security.md   安全教训(最高优先级)      │
│      projects.md   项目信息                   │
│      accounts.md   账号信息                   │
└──────────────────┬──────────────────────────┘
                   │
┌──────────────────▼──────────────────────────┐
│  L2: YYYY-MM-DD.md — 每日原始日志             │  ← 只读最近 2 天
│  所有新信息先写这里,定期蒸馏到 L1             │
└─────────────────────────────────────────────┘

五种记忆类型(借鉴 memU)

标签 类型 说明 示例
[P] Profile 用户身份、偏好、稳定特征 用户是 Web3 开发者,用 Mac Mini ARM
[E] Event 具体事件,有时间/结果/教训 2026-02-07 私钥泄露,钱包被盗
[K] Knowledge 客观知识、技术事实 BSC USDC 是 18 位小数
[B] Behavior 行为模式、工作习惯 用户经常深夜工作,喜欢一键脚本
[S] Skill 踩坑经验、技术方案 PS5 编码问题用 ASCII bootstrapper 解决

关键区别: memU 用 LLM 自动分类,我们让 Agent 在写入时自己判断类型——Agent 本身就是 LLM,何必再调一次?


记忆条目格式

L2 日志条目(带类型标签)

## 2026-02-28

- [E] 首笔充值成功:user@example.com ¥5.00 → 5 Credits
- [S] 收钱吧海外不通:TLS 超时,解决用香港 Nginx 反代 → skills.md#收钱吧代理
- [K] `irm -OutFile` 无视 charset=utf-8,用系统编码保存 → knowledge.md
- [B] 用户要求所有消息走 Telegram 通知 → behaviors.md#通知偏好

L1 技能条目(标准化格式)

### [S] Windows PS5 编码地狱
- **问题**: `irm -OutFile` 用系统编码(GBK)保存,中文全炸
- **方案**: 拆两文件——纯 ASCII bootstrapper + WebClient UTF-8 下载主脚本
- **关联**: → knowledge.md#Windows_PowerShell, events.md#2026-02-28
- **日期**: 2026-02-28

L1 文件头部摘要

每个 L1 文件顶部维护一段摘要(<200 字),供 MEMORY.md 索引引用:

# 技能经验 (Skills)

> **摘要**: 覆盖 Fastify、OpenClaw、Windows PS5 编码等领域。
> 每条含问题→方案→关联。最常踩坑: 编码问题和配置路径。
> 共 12 条技能记录,最后更新 2026-02-28。

交叉引用

记忆条目之间用 链接,形成知识网络:

→ security.md#私钥泄露     指向安全教训
→ projects.md#ClawGate     指向项目信息
→ skills.md#PS5编码        指向技术方案
→ 2026-02-28.md            指向原始日志

数据流

新信息产生
    │
    ▼
写入 L2 日志(带 [P/E/K/B/S] 标签 + 交叉引用)
    │
    ▼ (心跳/定期蒸馏)
按类型分拣到对应 L1 文件
    │
    ▼
合并重复 → 更新引用 → 更新摘要
    │
    ▼
更新 MEMORY.md 统计和索引

蒸馏规则

  1. 读最近 3 天的 L2 日志
  2. 按类型标签分拣到对应 L1 文件
  3. 合并重复条目(保留最新版本)
  4. 更新交叉引用
  5. 更新各 L1 文件头部摘要
  6. 更新 MEMORY.md 统计

加载策略(渐进式上下文)

新会话启动
    │
    ├─ 必读: MEMORY.md(~200 tokens,索引+摘要)
    ├─ 必读: 今天 + 昨天的 L2 日志
    │
    ├─ 按需: 根据任务加载对应 L1 文件
    │        "部署问题" → 加载 skills.md + projects.md
    │        "用户偏好" → 加载 profile.md + behaviors.md
    │
    └─ 搜索: memory_search 语义搜索全部文件

上下文成本对比:

方案 每次会话加载 额外 LLM 调用
全量加载 ~5000+ tokens 0
memU ~500 tokens 3-5 次/轮
XiaoClaw V2 ~500 tokens 0

与 memU 的对比

特性 memU XiaoClaw V2
存储 数据库 + 向量索引 纯 Markdown 文件
记忆类型 5 种(LLM 自动分类) 5 种(Agent 自行判断)
提取方式 LLM 自动提取 Agent 写入时标注
检索 RAG + LLM 双模式 语义搜索 + 分层加载
交叉引用 ✅ 自动关联 ✅ 手动 链接
分类摘要 ✅ LLM 生成 ✅ Agent 维护
额外 token 成本 每轮几千 token 0
外部依赖 Python + DB + LLM API
意图预测 ❌(不需要)
部署复杂度 中等 复制文件即可

快速开始

1. 复制模板

git clone https://github.com/huafenchi/xiaoclaw-memory.git
cp -r xiaoclaw-memory/template/ your-workspace/memory/

2. 目录结构

your-workspace/
├── MEMORY.md              # L0 索引(必须)
└── memory/
    ├── profile.md         # [P] 用户画像
    ├── events.md          # [E] 事件时间线
    ├── knowledge.md       # [K] 技术知识
    ├── behaviors.md       # [B] 行为模式
    ├── skills.md          # [S] 技能经验
    ├── security.md        # 安全教训
    ├── projects.md        # 项目信息
    └── YYYY-MM-DD.md      # 每日日志

3. 在 Agent 配置中添加规则

把以下规则加到你的 Agent 系统提示(AGENTS.md 或等效配置)中:

## 记忆写入规则
- 新信息先写 memory/YYYY-MM-DD.md,标注类型 [P/E/K/B/S]
- 有长期价值的提炼到对应 L1 文件
- 添加交叉引用 → 文件#锚点
- 定期蒸馏:L2 → L1 → L0

适用场景

  • ✅ OpenClaw / Claude Code / 任何支持文件读写的 AI Agent
  • ✅ 长期运行的 24/7 Agent
  • ✅ 对 token 成本敏感的场景
  • ✅ 不想维护数据库的个人/小团队
  • ❌ 需要自动提取的场景(考虑 memU)
  • ❌ 需要向量检索的大规模知识库(考虑 RAG 方案)

致谢

  • memU — 五种记忆类型体系的灵感来源
  • OpenViking — 分层架构的参考
  • OpenClaw — 运行环境
  • ClawGate — 一个 API Key 接入所有 AI 模型(Claude/GPT/Gemini/DeepSeek),国内直连,开箱即用

License

MIT


Built by XiaoClaw 🦞 — 一只凌晨 3 点还在跑 cron job 的龙虾

About

🦞 Zero-cost layered memory system for 24/7 AI Agents. Inspired by memU, powered by pure Markdown.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors