360 Secure SkillHub
360 安全技能中心

Session Memory

纯 bash+node 实现的本地持久记忆工具包:把带主题、标签和重要性等级的记忆写入 ~/.agent-memory,支持多关键词相关性检索、会话启动上下文加载、按主题整合、统计、编辑删除、导出导入与归档清理,无 npm 依赖。

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

安装技能

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

执行命令安装此 skill: npx secure-skills-cli add session-memory
Metadata
name
session-memory
description
Persistent memory toolkit for AI agents. Save context, recall with relevance scoring, consolidate insights, track decisions across sessions. Features importance levels, multi-keyword search, session context loader, export/import, memory stats. Pure bash+node, no dependencies. v2.0.0
homepage
https://github.com/voidborne-d/session-memory-skill
metadata
{"openclaw":{"emoji":"🧠","requires":{"bins":["node"]}}}

Session Memory 🧠 v2.0

Persistent memory for AI agents. Save what matters, recall what's relevant, consolidate what you've learned.

v2.0: relevance-scored search, importance levels, session context loader, consolidation, export/import, stats, edit/delete.

Quick Start

# Save a memory (with optional importance)
MEMORY_IMPORTANCE=high ./scripts/save.sh "decision" "Chose Postgres over SQLite for scale"

# Recall with relevance scoring
./scripts/recall.sh "database" --limit 5

# Load session context (startup)
./scripts/context.sh --days 3

# Consolidate by topic
./scripts/consolidate.sh --since 2026-01-01

# Stats
./scripts/stats.sh

Commands

save.sh — Save a Memory

./scripts/save.sh "topic" "content" [tags...]
Env Default Description
AGENT_MEMORY_DIR ~/.agent-memory Storage directory
MEMORY_IMPORTANCE normal low / normal / high / critical
# Basic save
./scripts/save.sh "insight" "Users prefer dark mode 3:1" ui design

# High importance
MEMORY_IMPORTANCE=high ./scripts/save.sh "decision" "Migrated to TypeScript" refactor

# Critical (always surfaces in context.sh)
MEMORY_IMPORTANCE=critical ./scripts/save.sh "credential" "API key rotated, new one in vault"

recall.sh — Search Memories

./scripts/recall.sh "query" [--json] [--limit N] [--topic T] [--importance I] [--since YYYY-MM-DD]

Features:

  • Multi-keyword AND search — all words must match
  • Relevance scoring — based on word match ratio + importance + recency
  • Filters — by topic, importance level, date range
./scripts/recall.sh "database migration"
./scripts/recall.sh "API" --topic decision --limit 20
./scripts/recall.sh "deploy" --since 2026-03-01 --json
./scripts/recall.sh "error" --importance high

context.sh — Session Startup Loader

./scripts/context.sh [--days N] [--limit N] [--json]

Loads the most relevant memories for a new session:

  • Recent memories (last N days, default 3)
  • High/critical importance items regardless of age
  • Sorted by importance then recency
  • Grouped by date
# Quick context
./scripts/context.sh

# Wider window
./scripts/context.sh --days 7 --limit 30

# For programmatic use
./scripts/context.sh --json

daily.sh — Day View

./scripts/daily.sh [YYYY-MM-DD] [--json]

topics.sh — Topic Index

./scripts/topics.sh [--json]

consolidate.sh — Topic Consolidation

./scripts/consolidate.sh [--since YYYY-MM-DD] [--topic T] [--json]

Groups all memories by topic, showing counts, date ranges, top tags, and latest entries. Useful for periodic review.

stats.sh — Memory Statistics

./scripts/stats.sh [--json]

Shows: total entries, date range, entries/day average, storage size, topic breakdown, importance distribution.

edit.sh — Edit or Delete

./scripts/edit.sh <timestamp_ms> --content "new content"
./scripts/edit.sh <timestamp_ms> --topic "new topic"
./scripts/edit.sh <timestamp_ms> --importance critical
./scripts/edit.sh <timestamp_ms> --delete

export.sh — Export Memories

./scripts/export.sh [-o backup.json] [--since YYYY-MM-DD] [--topic T]

import.sh — Import Memories

./scripts/import.sh backup.json [--dry-run]

Deduplicates by timestamp — safe to run multiple times.

prune.sh — Archive Old Memories

./scripts/prune.sh [days]

Moves memories older than N days (default: 30) to archive/.


Storage

~/.agent-memory/
├── 2026/
│   ├── 01/
│   │   ├── 15.jsonl
│   │   └── 16.jsonl
│   └── 02/
│       └── 01.jsonl
└── archive/          # Pruned memories

Each line is a JSON object:

{"ts":1706793600000,"topic":"decision","content":"Chose X because Y","tags":["project"],"importance":"high"}

Importance Levels

Level When to Use Behavior
low Background info, minor notes Only found via search
normal Standard memories Shown in daily view
high Key decisions, insights Always in session context
critical Credentials, blockers, urgent Always in session context, top priority

Recommended Workflow

# Session start
./scripts/context.sh

# During work — save important things
./scripts/save.sh "decision" "..."
MEMORY_IMPORTANCE=high ./scripts/save.sh "insight" "..."

# End of session
./scripts/save.sh "summary" "Today: did X, decided Y, next step Z"

# Weekly review
./scripts/consolidate.sh --since $(date -u -d '7 days ago' +%Y-%m-%d)
./scripts/stats.sh

# Monthly maintenance
./scripts/prune.sh 60
./scripts/export.sh -o backup-$(date +%Y%m).json

Created by Voidborne 🔹