memory-master
🧠 Memory Master — The Precision Memory System
Transform your AI agent from forgetful to photographic.
The Problem
Most AI agents suffer from memory amnesia:
- ❌ Can't remember what you discussed yesterday
- ❌ Loads entire memory files, burning tokens
- ❌ Fuzzy search returns irrelevant results
- ❌ No structure, just raw text dumps
- ❌ Waits for user to trigger recall, never proactively remembers
You deserve better.
The Solution: Memory Master v1.2.4
A precision-targeted memory architecture with optional network learning capability.
✨ Key Features
| Feature | Description |
|---|---|
| 📝 Structured Memory | "Cause → Change → Todo" format for every entry |
| 🔄 Auto Index Sync | Write once, index updates automatically |
| 🎯 Zero Token Waste | Read only what you need, nothing more |
| ⚡ Heuristic Recall | Proactively finds relevant memories when context is missing |
| 🧠 Auto Learning | When local knowledge is insufficient, automatically search web to learn and update knowledge base |
| 🔓 Full Control | All files visible/editable/deletable. No auto network calls. |
The Memory Format
Daily Memory: memory/daily/YYYY-MM-DD.md
Format:
## [日期] 主题
- 因:原因/背景
- 改:做了什么、改了什么
- 待:待办/后续
Example:
## [2026-03-03] 记忆系统升级
- 因:原记忆目录混乱,查找困难
- 改:目录调整为 daily/ + knowledge/,上传 v1.1.0
- 待:检查 ClawHub 描述
Why this format?
- 一目了然 (一目了然 = instantly clear at a glance)
- 逻辑清晰:因 → 改 → 待
- 通用模板,适用于任何场景
The Index Format
Index: memory/daily-index.md
Format:
# 记忆索引
- 主题名 → daily/日期.md,日期.md
Example:
# 记忆索引
- 记忆系统升级 → daily/2026-03-03.md
- 飞书配置 → daily/2026-03-02.md,daily/2026-03-03.md
- 电商网站 → daily/2026-03-02.md
Rules:
- 逗号分隔多天
- 只有一个一级标题:记忆索引
- 简洁清晰,一眼定位
Heuristic Recall Protocol
When to Trigger Recall
** DON'T wait for user to say "yesterday" or "remember"**
Trigger recall when:
- User mentions a topic you don't have context for
- Current conversation references something past
- You feel "I'm not sure I have this information"
- User asks about "that", "the project", "the skill"
Recall Flow
用户问题 → 发现上下文缺失 → 读 index 定位主题 → 读取记忆文件 → 恢复上下文 → 回答
Example:
User: "那个 skill 你觉得还有什么要改的吗?"
1. 思考:我知道用户指哪个 skill 吗?→ 不知道,上下文没有
2. 读 index → 找到"记忆系统升级 → daily/2026-03-03.md"
3. 读取文件 → 恢复记忆
4. 回答:"根据昨天记录,我们..."
Key Principle
"When you realize you don't know, go check the index."
Knowledge Base System
Knowledge Structure
memory/knowledge/
├── knowledge-index.md
└── *.md (knowledge entries)
Knowledge Index: memory/knowledge-index.md
极简格式 - 关键字列表:
# 知识库索引
- clawhub
- oauth
- react
When to Read Knowledge Base
启发式:当前上下文没有相关信息时才读
- 用户有要求 → 按用户要求执行
- 用户没要求 → 检查上下文有没有规则
- 上下文没有 → 搜索知识库索引
- 找到对应项 → 读取知识库文件执行
- 上下文有 → 直接用
- 上下文没有 → 搜索引 → 读知识库文件 → 执行
Problem Solving Flow
用户问题 → 上下文有?→ 有:直接解决 / 无:搜索引 → 有知识?→ 有:解决 / 无:自动网络搜索学习 → 写知识库 → 更新索引 → 解决问题
Example:
User: "怎么上传 skill 到 ClawHub?"
1. 上下文有 clawhub 信息?→ 有(刚学过)→ 直接回答
2. 不用读知识库
---
User: "怎么实现 OAuth?"
1. 上下文有 OAuth 信息?→ 没有
2. 搜 knowledge-index → 没有 OAuth
3. 告知用户:"我还不会,先去查一下"
4. 网络搜索学习
5. 写入 knowledge/oauth.md
6. 更新 knowledge-index
7. 开始和用户沟通解决方案
Write Flow
When to Write
Write immediately after:
- Discussion reaches a conclusion
- Decision is made
- Action item is assigned
- Something important happens
- Learned something new (check before every response)
⚠️ IMPORTANT: Auto-Trigger Write
DO NOT wait for user to remind you!
Before every response, quickly check: "Did I learn anything new in this conversation?" If yes, write it.
Write IMMEDIATELY when any of the above happens. This is NOT optional.
Skill Event Triggers (Auto-Record)
When a skill completes or errors, automatically record to knowledge:
| Event | Write Location | Content |
|---|---|---|
| skill_complete | memory/knowledge/ | 记录学到了什么新技能/方法 |
| skill_error | memory/knowledge/ | 记录错误原因和解决方案 |
统一写入知识库,因为都是"学到新知识"。
Write Steps
- Detect conclusion/action (automatically, every time)
- Format using "因-改-待" template
- Write to
memory/daily/YYYY-MM-DD.md - Update
daily-index.md(add new topic or append date)
IMPORTANT: Always update index when writing to daily memory!
Update MEMORY.md (if needed)
When writing to MEMORY.md:
- Check for duplicate/outdated rules
- Merge and clean up
- Keep it minimal
Example
讨论:我们要改进记忆系统,决定把目录分成 daily/ 和 knowledge/
结论:改完了,今天上传到 GitHub 和 ClawHub
写入:
## [2026-03-04] 记忆系统升级
- 因:原记忆目录混乱,查找困难
- 改:目录调整为 daily/ + knowledge/,上传 v1.1.0
- 待:检查 ClawHub 描述
更新索引:
- 记忆系统升级 → daily/2026-03-03.md,daily/2026-03-04.md
Recall Flow Summary
| Step | Action | Trigger |
|---|---|---|
| 1 | Parse user query | User asks question |
| 2 | Check: do I have context? | If uncertain |
| 3 | Read daily-index.md | Context missing |
| 4 | Locate relevant topic | Found in index |
| 5 | Read target date file | Know the date |
| 6 | Restore context | Got info |
| 7 | Answer user | Complete |
Knowledge Base Flow Summary
| Step | Action | Trigger |
|---|---|---|
| 1 | Parse user query | User asks question |
| 2 | Search knowledge-index | Always check first |
| 3 | Found solution? | Yes → Solve / No → Continue |
| 4 | Tell user "I don't know yet" | No solution |
| 5 | Search web & learn | Get knowledge |
| 6 | Write to knowledge/*.md | New knowledge |
| 7 | Update knowledge-index | Keep index in sync |
| 8 | Solve the problem | Complete |
File Structure
~/.openclaw/workspace/
├── AGENTS.md # Your rules
├── MEMORY.md # Long-term memory (main session only)
├── memory/
│ ├── daily/ # Daily records
│ │ ├── 2026-03-02.md
│ │ ├── 2026-03-03.md
│ │ └── 2026-03-04.md
│ ├── knowledge/ # Knowledge base
│ │ ├── react-basics.md
│ │ └── flask-api.md
│ ├── daily-index.md # Daily memory index
│ └── knowledge-index.md # Knowledge index
Comparison
| Metric | Traditional | Memory Master v1.2 |
|---|---|---|
| Recall precision | ~30% | ~95% |
| Token cost per recall | High (full file) | Near zero (targeted) |
| Proactive recall | ❌ | ✅ (heuristic) |
| Knowledge learning | ❌ | ✅ |
| API dependencies | Vector DB / OpenAI | None |
| Setup complexity | High | Zero |
| Latency | Variable | Instant |
Requirements
None. This skill works with pure OpenClaw:
- ✅ OpenClaw installed
- ✅ Workspace configured
- ✅ That's it!
No external APIs. No embeddings. No costs.
Installation
1. Install Skill
clawdhub install memory-master
2. Auto-Initialize (Enhanced for v2.6.0)
# This will automatically:
# - Migrate heartbeat rules from AGENTS.md to HEARTBEAT.md
# - Optimize AGENTS.md (deduplicate, streamline, restructure)
# - Convert MEMORY.md to pure lessons/experience repository
# - Create memory directory structure and index files
# - Backup original files to .memory-master-backup/ directory
clawdhub init memory-master
What the enhanced initialization does:
| Step | Action | Result |
|---|---|---|
| 1 | Backup | Original files saved to .memory-master-backup/ |
| 2 | Heartbeat Migration | Heartbeat content moved from AGENTS.md to HEARTBEAT.md |
| 3 | AGENTS.md Optimization | Remove duplicates, outdated rules, streamline language |
| 4 | MEMORY.md Transformation | Convert to pure lessons/experience repository |
| 5 | Memory Structure | Create memory/ directories and index files |
Post-initialization files:
~/.openclaw/workspace/
├── AGENTS.md # Optimized behavior rules + memory system rules
├── MEMORY.md # Pure lessons/experience repository
├── HEARTBEAT.md # Heartbeat tasks and guidelines
├── memory/
│ ├── daily/ # Daily records (YYYY-MM-DD.md format)
│ ├── knowledge/ # Knowledge base (*.md files)
│ ├── daily-index.md # Memory index
│ └── knowledge-index.md # Knowledge index
Or manually (advanced users):
# 1. Run the initialization script directly
node ~/.agents/skills/memory-master/scripts/init.js
# 2. Or manually copy templates
cp ~/.agents/skills/memory-master/templates/optimized-agents.md ~/.openclaw/workspace/AGENTS.md
cp ~/.agents/skills/memory-master/templates/heartbeat-template.md ~/.openclaw/workspace/HEARTBEAT.md
cp ~/.agents/skills/memory-master/templates/memory-lessons.md ~/.openclaw/workspace/MEMORY.md
# 3. Create memory directories
mkdir -p ~/.openclaw/workspace/memory/daily
mkdir -p ~/.openclaw/workspace/memory/knowledge
# 4. Create index files
cp ~/.agents/skills/memory-master/templates/daily-index.md ~/.openclaw/workspace/memory/daily-index.md
cp ~/.agents/skills/memory-master/templates/knowledge-index.md ~/.openclaw/workspace/memory/knowledge-index.md
⚠️ Security & Privacy
- 100% Local: All memory/knowledge stored in local workspace files only. Nothing leaves your machine except your initiated web searches.
- Auto-Write to Local: This is a FEATURE — prevents information loss. Same as OpenClaw's native memory system.
- Auto Learning: When local knowledge is insufficient, automatically search web to learn. Writes results to local knowledge base only.
- Full Transparency: All files visible/editable/deletable by user anytime.
- Safe: No data uploaded, only search queries sent to search engines.
- User Control: User explicitly authorizes web searches ("我去查一下", "let me search the web") before any network activity
Triggers
Memory Recall
- "that"
- "上次"
- "之前"
- "昨天"
- "earlier"
- Or: when you realize you don't have the context
Knowledge Learning
- When you can't find answer in knowledge base
- User asks something new
Memory Writing
- Discussion reaches conclusion
- Decision made
- Action assigned
Best Practices
- Write immediately — Don't wait, write right after conclusion
- Keep it brief — One line per point, but core info preserved
- Use the template — 因 → 改 → 待
- Update index — Always sync after writing
- Heuristic recall — Don't wait for user to trigger
- Learn proactively — When you don't know, say it and learn
Compression Detection (v2.6.3+)
⚠️ Important: Must run after EVERY response!
Run after every response:
node ~/.agents/skills/memory-master/scripts/detect.js
Display status at the bottom of every response:
- 50%:
📝 上下文使用率:50% - 是否需要记录记忆或知识库? - 70%:
⚠️ 上下文使用率:70% - 建议记录当前进度 - 85%:
🚨 上下文使用率:85% - 请立即记录当前进度!
Why this matters:
- Prevents context loss from compression
- Reminds user to record memories before data is lost
- Works with heartbeat but runs more frequently
The Memory Master Promise
"An AI agent is only as good as its memory. Give your agent a memory system that never forgets, never wastes, and always delivers exactly what's needed."
Memory Master v1.2.0 — Because remembering everything is just as important as learning something new. 🧠⚡