360 Secure SkillHub
360 安全技能中心

记忆索引管理器

面向长期项目连续性的记忆索引 Skill:仅在用户显式触发回忆时读取 INDEX.md 与整合文件作答;对话结束或心跳时在后台更新索引日期,某主题超过 3 个日期时生成新一代整合文件并归档来源;每日 11:00 由定时任务执行记忆刷新。

zxc159620352
zxc159620352
热度 50.52
最近更新 2026-05-11 17:35:27
分类:知识依赖:读写文件 / 内部调用大模型应用场景:笔记整理 / 摘要总结 / 工作流

安装技能

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

执行命令安装此 skill: npx secure-skills-cli add memory-index-manager
Metadata
name
memory-index-manager
description
记忆索引系统。用于管理长期项目记忆、自动维护索引、快速定位历史项目。仅在用户明确说"回忆一下""remember""recall"时触发读取,写入与OpenClaw原生机制保持一致,索引维护在后台自动进行。

Memory Index Manager

A skill for project continuity and memory reconstruction. Maintains a curated index of topics with multi-generation consolidation to help recover context across long-running conversations.

Core Design

Trigger Rules

Operation Trigger Behavior
Read User explicitly says "回忆一下" / "remember" / "recall" / "记不记得" Check INDEX.md → read consolidation → respond
Write OpenClaw native flush (pre-compaction) Write to memory/YYYY-MM-DD.md as usual
Index Update End of conversation + heartbeat Propose new entries, update dates, consolidate if needed
Daily Flush Every day at 11:00 AM Archive yesterday's memory, update INDEX, check consolidation

Philosophy

  • Passive by default: Doesn't interrupt normal workflow
  • Active on request: Full context recovery when explicitly asked
  • Automatic maintenance: Index upkeep happens in background

File Structure

memory/
├── INDEX.md                    # Master index of tracked topics
├── MEMORY.md                   # Native long-term memory (OpenClaw)
├── YYYY-MM-DD.md               # Daily memories (OpenClaw native writes)
└── consolidated/               # Multi-generation consolidations
    ├── {topic}-gen1-YYYY-MM-DD.md
    ├── {topic}-gen2-YYYY-MM-DD.md
    └── ...

INDEX.md Format

# Memory Index

## Projects
- **project-slug**
  - Dates: [2025-03-20, 2025-03-22, 2025-03-25, 2025-04-01]
  - Consolidations:
    - gen1 (2025-03-25): consolidated/project-slug-gen1-2025-03-25.md
  - Current: consolidated/project-slug-gen1-2025-03-25.md
  - Status: active | completed | paused | abandoned

## Major Events
- **event-slug**: [2025-03-15]
  - Description: Brief description

## Decisions
- **decision-slug**: [2025-03-10, 2025-03-12]
  - Consolidations:
    - gen1 (2025-03-12): consolidated/decision-slug-gen1-2025-03-12.md
  - Current: consolidated/decision-slug-gen1-2025-03-12.md

Workflows

1. Explicit Recall ("回忆一下")

User trigger: "回忆一下那个网站项目" / "Remember the website project?"

Agent workflow:

1. Read INDEX.md
2. Find matching topic (fuzzy match on name)
3. If found:
   a. Read Current consolidation file
   b. Read today's memory/YYYY-MM-DD.md for fresh updates
   c. Synthesize and respond
4. If not found in INDEX:
   a. Fall back to memory_search("website project")
   b. Respond with search results
   c. (Optional) Propose adding to index if significant

2. Native Write (Automatic)

Trigger: OpenClaw pre-compaction flush or user says "remember this"

Behavior: Write to memory/YYYY-MM-DD.md per OpenClaw native rules

No skill involvement - this is pure OpenClaw behavior.

3. Index Maintenance (Background)

Trigger: End of conversation OR heartbeat

Agent workflow:

1. Review today's memory file
2. Identify topics worth indexing:
   - New projects started
   - Major events occurred
   - Important decisions made
   - Existing indexed topics mentioned
3. For existing topics: add today's date to Dates list
4. Propose new index entries to user (if autoPropose enabled)
5. Check consolidation threshold:
   - Count dates since last consolidation
   - If > 3: propose consolidation to user
   - On approval: create gen{N+1} consolidation

4. Daily Flush (11:00 AM)

Trigger: System cron job at 11:00 AM daily

Agent workflow:

1. Identify yesterday's date (YYYY-MM-DD)
2. Check if yesterday's memory file exists
   - If not: create empty file with <!-- DAILY_FLUSH --> marker
3. Execute OpenClaw native memory storage:
   - Append <!-- NATIVE_FLUSH --> to yesterday's file
   - Archive any in-memory context from yesterday
4. Execute Skill index update:
   - Scan yesterday's file for index-worthy topics
   - Update INDEX.md with yesterday's date
   - Check if any topic needs consolidation (>3 days)
5. Initialize today's memory file (if not exists)
6. Log flush completion

Daily Flush Script: ~/.openclaw/scripts/daily-flush.sh Launchd Config: ~/Library/LaunchAgents/com.openclaw.daily-flush.plist

Purpose: Ensure yesterday's memory is properly archived even if:

  • User didn't explicitly say "remember"
  • Session didn't reach memoryFlush threshold
  • System was restarted

Consolidation Rules

When to Consolidate

A topic needs new consolidation when:

  • It has >3 dates (excluding today) since last consolidation

Consolidation Process

  1. Create new file: consolidated/{topic}-gen{N}-{today}.md
  2. Sources:
    • Previous generation consolidation (if N>1)
    • Daily memories from dates since last consolidation
  3. Content structure:
    # {Topic} - Generation {N} Consolidation
    
    **Created**: 2025-04-15
    **Covers**: 2025-04-01 to 2025-04-15
    **Previous**: consolidated/{topic}-gen{N-1}-{date}.md
    
    ## Summary
    [Compiled narrative of all covered periods]
    
    ## Key Points
    - Point 1
    - Point 2
    
    ## Decisions Made
    - Decision 1
    
    ## Current Status
    [Where things stand now]
    
    ## Source References
    - gen{N-1}: [key info from previous consolidation]
    - 2025-04-01: [what happened]
    - 2025-04-05: [what happened]
    - ...
    
  4. Mark sources archived: Add <!-- ARCHIVED: consolidated into {file} --> to daily files
  5. Update INDEX.md: Add consolidation entry, update Current pointer

Categories

Category Description Example
Projects Multi-day efforts with deliverables website redesign, app development
Major Events Significant life/career changes job change, relocation
Decisions Choices with lasting impact tech stack, vendor selection
Preferences Personal settings that persist communication style, tools

Configuration

memory-index-manager/config.json:

{
  "consolidationThreshold": 3,
  "autoProposeIndex": true,
  "categories": ["Projects", "Major Events", "Decisions", "Preferences"],
  "indexFile": "memory/INDEX.md",
  "consolidatedDir": "memory/consolidated",
  "recallTriggers": ["回忆一下", "remember", "recall", "记不记得"]
}

Integration with OpenClaw Native Memory

Aspect Native OpenClaw This Skill
Storage memory/*.md INDEX.md + consolidated/*.md
Write timing Auto (flush) + Manual Same (no change)
Read timing Any search Only on explicit recall trigger
Search method Semantic (memory_search) Index lookup + targeted read
Granularity Chunk-level (~400 tokens) Topic-level consolidation

Key point: This skill's files are stored in memory/ and indexed by OpenClaw's semantic search, but the skill only activates on explicit recall requests.


Example Session

[Day 1 - 2025-03-20]
User: "Let's start a new project: building a personal blog"
Agent: [writes to memory/2025-03-20.md]
Agent: "I'll track this as 'personal-blog' project. Adding to index?"
User: "Yes"
→ Creates INDEX.md entry: personal-blog, Dates: [2025-03-20]

[Day 2 - 2025-03-22]
User: "For the blog, let's use Next.js"
Agent: [writes to memory/2025-03-22.md]
→ Updates INDEX.md: personal-blog Dates: [2025-03-20, 2025-03-22]

[Day 3 - 2025-03-25]
User: "Blog hosting should be Vercel"
Agent: [writes to memory/2025-03-25.md]
→ Updates INDEX.md: personal-blog Dates: [2025-03-20, 2025-03-22, 2025-03-25]
→ TRIGGER: 3 dates, proposes consolidation
User: "Go ahead"
→ Creates consolidated/personal-blog-gen1-2025-03-25.md
→ Archives daily files

[Day 7 - 2025-04-05]
User: "回忆一下博客项目"
Agent: [reads INDEX.md → finds personal-blog]
Agent: [reads consolidated/personal-blog-gen1-2025-03-25.md]
Agent: "We started the personal blog project on March 20th. We decided to use Next.js 
        (March 22nd) and host on Vercel (March 25th). The project is currently active."

Migration from v1.0.0

Breaking Changes:

  • 旧版本触发条件(每天9:00 AM、创建项目时等)已移除
  • 改为纯按需触发("回忆一下"),减少干扰
  • 索引格式兼容,可无缝迁移

升级步骤:

  1. 备份现有的 memory/INDEX.md
  2. 更新 skill 到 2.0.0
  3. 继续使用,索引文件自动兼容

Usage Examples

User Says Agent Action
"回忆一下那个网站项目" 查 INDEX.md → 读 consolidation → 回答
"remember the blog project" 同上,支持英文触发
"把这个加入索引" 询问分类 → 创建 INDEX.md 条目
"显示索引" 展示 INDEX.md 内容
"Consolidate blog project" 检查阈值 → 执行整合

Notes

  • Index entries are append-only; mark deprecated rather than delete
  • Consolidated files are immutable; new generations for updates
  • Daily memories marked archived are preserved but skipped by default
  • User can force deep read: "check the original March 20th file"