360 Secure SkillHub
360 安全技能中心

memory ebbinghaus

通过本地 Python 脚本按遗忘曲线管理记忆条目:用 e^(-天数/稳定性) 计算强度并区分活跃、衰减、消退三态;提供 status、decay、add、review、forget、archive、heartbeat 子命令,复习会重置强度并提升稳定性。数据存于本地 JSON,归档追加到 MEMORY.md,路径可用环境变量覆盖。

subcoldzhang
subcoldzhang
热度 49.60
最近更新 2026-05-11 17:36:45
分类:知识依赖:代码执行 / 读写文件应用场景:笔记整理 / 自动化脚本 / 工作流

安装技能

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

执行命令安装此 skill: npx secure-skills-cli add memory-ebbinghaus
Metadata
name
memory-ebbinghaus
description
Ebbinghaus forgetting curve memory lifecycle manager for AI agents. Automatically calculates memory strength decay, supports review reinforcement, archiving, and deletion. Use when managing agent memory files, cleaning up stale knowledge, or implementing spaced repetition for long-term memory. Triggers on "memory management", "forgetting curve", "clean up memory", "which memories are fading", "review memory", "add memory item", "记忆管理", "遗忘曲线", "清理记忆", "哪些记忆快忘了", "复习记忆".

Memory Ebbinghaus

Ebbinghaus forgetting curve-based memory lifecycle manager. Tracks memory items with strength decay, review reinforcement, and archiving.

Setup

First run — initialize the database:

python3 scripts/ebbinghaus.py status
# Auto-creates memory_db.json in current directory if not found

To use a custom path:

EBBINGHAUS_DB=/path/to/memory_db.json \
EBBINGHAUS_ARCHIVE=/path/to/MEMORY.md \
python3 scripts/ebbinghaus.py status

Environment variables:

Variable Default Description
EBBINGHAUS_DB ./memory_db.json Path to the JSON database
EBBINGHAUS_ARCHIVE ./MEMORY.md File to append archived memories

Core Concept

Strength formula: strength = e^(-days_elapsed / stability)

Status Strength Meaning
🟢 Active ≥ 0.7 Recently used, clear memory
🟡 Decaying 0.3–0.7 Not used for a while
🔴 Fading < 0.3 Needs review or cleanup

Stability: starts at 1.0, multiplied by 1.5 on each review (the more you review, the slower it fades).

Commands

# View all memory items and their current strength
python3 scripts/ebbinghaus.py status

# Recalculate all strength values (run daily)
python3 scripts/ebbinghaus.py decay

# Add a new memory item
python3 scripts/ebbinghaus.py add "content description" --category <cat> --source <origin>

# Review and reinforce (resets strength to 1.0, stability ×1.5)
python3 scripts/ebbinghaus.py review <id>

# Delete a memory item
python3 scripts/ebbinghaus.py forget <id>

# Archive to MEMORY.md (removes from active list, appends to archive file)
python3 scripts/ebbinghaus.py archive <id>

# Heartbeat mode — print items needing attention
python3 scripts/ebbinghaus.py heartbeat

Heartbeat Integration

Add to your heartbeat config:

- Memory decay check: python3 /path/to/scripts/ebbinghaus.py heartbeat

Heartbeat output rules:

  • 🔴 items exist → alert user, ask "review or forget?"
  • Only 🟡 items → log silently, no interruption
  • All 🟢 → output HEARTBEAT_OK

Categories

category Meaning
project Project/task completion
tech Technical findings/solutions
person Memory about someone
event Important events
general Other

Typical Workflows

"Clean up old memories":

  1. Run decay then status
  2. List 🔴 items, ask user: review / forget / archive?
  3. Execute chosen action

"Remember this: XXX":

  1. Run add "XXX"
  2. Confirm added

"Which memories are fading?":

  1. Run decay to update strengths
  2. Run status, highlight 🔴 items