360 Secure SkillHub
360 安全技能中心

每日记忆管家

通过 cron 定时任务或手动口令触发,从最近约 60 分钟的会话中过滤问候、确认等噪声,按决策、任务、进度、问题、结论分类提取要点,去重后追加写入宿主工作区的每日记忆 Markdown 文件,以保持长期记忆连续。

raydez
raydez
热度 65.08
最近更新 2026-05-11 17:30:39
分类:知识依赖:读写文件 / 代码执行应用场景:笔记整理 / 摘要总结 / 工作流 / 自动化脚本

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add auto-memory-keeper
Metadata
name
auto-memory-keeper
description
Auto-capture hourly session highlights and update daily memory files. Keeps long-term memory continuous without manual recording. Triggered by cron or manual "remember this".
version
1.0.0

Auto Memory Keeper

Overview

Automatically extract session content and update daily memory files to maintain long-term memory continuity.

Two modes:

  • Passive mode: Cron job runs hourly (automatic)
  • Active mode: Manual trigger by user ("remember this", "log today")

How It Works

Triggers

  1. Auto-trigger: Cron job runs every hour
  2. Manual trigger: User says "remember this", "log today", "update memory"

Workflow

Step 1: Check Environment

DATE=$(date +%Y-%m-%d)
MEMORY_FILE=~/.openclaw/workspace/memory/${DATE}.md

if [ ! -f "$MEMORY_FILE" ]; then
  echo "# ${DATE} Log\n\n## Today's Items\n\n- " > "$MEMORY_FILE"
fi

Step 2: Fetch Recent Sessions

# Use sessions_list to get active sessions in last 60 minutes
# Use sessions_history to get session details

Step 3: Noise Filtering

Skip these message types:

  • Simple greetings ("hi", "hello", "hey")
  • Acknowledgments ("thanks", "ok", "sure", "yes")
  • Single word responses
  • Questions without context
  • HEARTBEAT_OK messages
  • System messages

Step 4: Extract Key Info

From filtered messages, extract:

Type Keywords Format
Decision "decided", "chose", "adopted" - {time} {decision}
Task new feature, new config, new task - {time} {task description}
Progress "completed", "finished", "installed" - {time} completed {task}
Issue error, bug, failed - {time} issue: {description}
Conclusion summary, conclusion, finding - {time} {conclusion}

Step 5: Smart Deduplication

Check for duplicates before recording:

# Read current file content
# If similar content exists (>80% similarity), skip
# Otherwise append

Step 6: Update Memory File

Format:

## Today's Items

- {time} {item description}
- {time} {item description}
...

Examples

Input (user message):

"installed openclaw-tavily-search, score 3.639"

Stored:

- 21:47 installed openclaw-tavily-search skill (score 3.639)

Input (user message):

"auto-extract session content to memory file every hour"

Stored:

- 21:50 created auto-memory-keeper skill for hourly auto memory extraction

Configuration

Configurable via config.json:

{
  "memory_dir": "~/.openclaw/workspace/memory",
  "interval_hours": 1,
  "active_minutes": 60,
  "categories": ["Decision", "Task", "Progress", "Issue", "Conclusion"],
  "skip_patterns": ["^hi", "^hello", "^thanks", "^ok"],
  "dedup_threshold": 0.8
}

Quality Rules

  1. Concise - One sentence per item
  2. Timestamp - Always include time
  3. Dedupe - Avoid duplicate entries
  4. Categorize - Classify by type
  5. Skip noise - Don't record trivial messages

FAQ

Q: How to trigger manually? A: Say "remember this", "log today", or "update memory"

Q: Where is cron configured? A: Use cron job add command, see example in SKILL.md

Q: Where are memory files stored? A: ~/.openclaw/workspace/memory/YYYY-MM-DD.md

Testing

Periodically review memory files and adjust skip_patterns for better filtering.

Related

  • Works well with session-wrap-up (manual vs auto trigger)
  • Complex memories can be manually written to MEMORY.md (long-term)