secretary-memory

OpenClaw 秘书式多分区记忆系统 v3.0。仿生现代秘书的笔记本分类法,支持:(1) 多分区并发搜索 + 每分区3条上下文召回,(2) 会话自动摘要,(3) 偏好自动提取 + 用户关系图谱,(4) 记忆冲突主动检测,(5) 定时 consolidation + 会话结束 hook,(6) 精细化恢复/回溯,(7) FTS5 全文搜索 + LLM 摘要,(8) 跨会话召回,(9) 容量管理,(10) 自动 Skill 生成。触发条件:(1) 用户提及记忆管理/记忆系统/秘书式记忆,(2) 需要搜索/召回历史记忆,(3) 需要归档或整理记忆,(4) 设计新的记忆架构。

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "secretary-memory" with this command: npx skills add wgj24/secretary-memory

Secretary Memory - 秘书式记忆系统 v3.0

五大核心改进

改进模块触发时机
1. 容量管理capacity_manager.py每次 consolidation 时自动运行
2. FTS5 + LLM 摘要fts5_index.py, session_search.py搜索时或会话开始
3. 跨会话召回auto_loader.pyOpenClaw 会话开始时
4. 用户建模user_model.py每次会话结束时增量
5. 自动 Skill 生成skill-creator/同一问题出现 ≥3 次

目录结构

memory/                              # 根目录
├── daily/                          # 每日日志(7天内)
├── archive/                         # 归档(7天前)
├── agenda/                          # 待办
├── profile/                        # 用户偏好
├── projects/                        # 进行中项目
├── knowledge/                       # 知识沉淀
├── scripts/                         # 脚本目录
│   ├── session_summary.py          # 会话摘要
│   ├── context_loader.py          # 上下文加载
│   ├── memory_search.py           # 多分区搜索
│   ├── consolidate.py             # 归档脚本 (集成容量管理)
│   ├── capacity_manager.py        # [NEW] 容量管理
│   ├── fts5_index.py             # [NEW] FTS5 全文搜索
│   ├── session_search.py          # [NEW] 统一搜索入口
│   ├── auto_loader.py             # [NEW] 跨会话召回
│   ├── user_model.py              # [NEW] 用户关系图谱
│   ├── profile_miner.py           # 偏好提取 (集成用户图谱)
│   ├── conflict_detector.py        # 冲突检测
│   ├── restore.py                 # 恢复/回溯
│   ├── migrate.py                 # 迁移脚本
│   ├── realtime_monitor.py         # 实时监控
│   └── skill-creator/             # [NEW] 自动 Skill 生成
│       ├── SKILL.md
│       └── auto_skill_generator.py
└── references/
    └── SPEC.md

1. 容量管理 (capacity_manager.py)

自动检测 memory 目录容量,防止爆满。

# 检查容量(每次 consolidation 自动运行)
python3 capacity_manager.py --check

# 详细输出
python3 capacity_manager.py --verbose --warn

# 仅检查不执行
python3 consolidate.py --check-capacity

# 自动归档触发检查
python3 capacity_manager.py --auto

阈值配置:

指标警告线临界值
MEMORY.md 行数80% (400行)95% (475行)
daily/ 文件数80% (24个)95% (28个)
archive/ 大小80% (80MB)95% (95MB)

2. FTS5 + LLM 摘要 (fts5_index.py, session_search.py)

基于 SQLite FTS5 的快速全文搜索,配合 LLM 总结结果。

# 构建 FTS5 索引(首次使用)
python3 session_search.py --build-index

# FTS5 + LLM 摘要搜索
python3 session_search.py "项目X 架构设计"

# 纯 FTS5(无 LLM)
python3 session_search.py "项目X" --no-llm

# 传统分区搜索
python3 session_search.py "项目X" --classic

# 混合搜索(默认)
python3 session_search.py "项目X"

# 会话开始时召回
python3 session_search.py "项目X" --context

# 查看索引统计
python3 session_search.py --stats

# 优化数据库
python3 fts5_index.py --vacuum

搜索策略:

  • fts5: 仅 FTS5 全文搜索(BM25 排序)
  • classic: 传统分区搜索
  • hybrid: FTS5 + 经典搜索合并(默认)

3. 跨会话召回 (auto_loader.py)

会话开始时自动加载相关记忆,按优先级排序。

# CLI 用法
python3 auto_loader.py --topic "项目X 架构"
python3 auto_loader.py --topic "项目X" --inject   # 输出注入格式
python3 auto_loader.py --stats                    # 查看加载状态

# Hook 用法
python3 auto_loader.py --hook-start --session-id {session_id} --topic "项目X"

优先级算法:

综合得分 = 相关性 × 分区权重 × 时间加权

分区权重:
  agenda     → 2.0  (最高)
  projects   → 1.8
  profile    → 1.5
  knowledge  → 1.2
  daily      → 1.0
  archive    → 0.5  (最低)

时间加权:
  7天内 → 1.5x
  7天后 → 指数衰减,最少 0.3

4. 用户建模 (user_model.py)

从会话中提取实体和关系,构建用户知识图谱。

# 构建图谱
python3 user_model.py --build

# 增量更新
python3 user_model.py --update

# 图谱统计
python3 user_model.py --stats

# 按话题查询
python3 user_model.py --query "项目X"

# 获取实体局部图谱
python3 user_model.py --entity "Python" --depth 2

# 清理低频实体
python3 user_model.py --vacuum

实体类型:

类型权重示例
user2.0用户、客户
project1.8项目、系统
technology1.5Python、React
person1.3开发者、工程师
preference1.2喜欢简洁回答
concept1.0架构、设计

关系类型: works_on, uses, manages, interested_in, collaborates_with

数据文件:

  • 图谱:memory/.user_graph.json
  • 统计:memory/.user_graph_stats.json

5. 自动 Skill 生成 (skill-creator/)

检测复杂/重复任务,自动生成新 Skill 封装解决方案。

# 检测复杂任务(扫描 daily/ 历史)
python3 skill-creator/auto_skill_generator.py --detect

# 生成新 Skill
python3 skill-creator/auto_skill_generator.py --generate \
    --name "task-tracker" \
    --pattern "task_tracking" \
    --description "自动化任务追踪" \
    --triggers "任务,todo,追踪" \
    --steps "创建任务" "更新状态" "生成报告"

# 注册触发词
python3 skill-creator/auto_skill_generator.py --register \
    --skill "task-tracker" --triggers "任务,todo"

# 查看统计
python3 skill-creator/auto_skill_generator.py --stats

# 列出已生成的 Skills
python3 skill-creator/auto_skill_generator.py --list

# 自我改进
python3 skill-creator/auto_skill_generator.py --improve

内置复杂模式识别:

模式关键词建议名称
task_tracking任务、todo、追踪、待办task-tracker
code_review代码审查、review、PRcode-review
bug_triagebug、修复、问题bug-triage
meeting_notes会议、meeting、纪要meeting-notes
data_analysis分析、数据、报表data-analysis
doc_generation文档、doc、生成doc-generator
test_generation测试、test、用例test-generator
deployment部署、deploy、发布deploy-helper
api_designAPI、接口、restapi-designer
db_schema数据库、schema、表结构db-schema-manager

原有脚本

会话摘要 session_summary.py

python3 session_summary.py --session "今天讨论了..." --topics "项目X, 决策Y"
python3 session_summary.py --session "..." --dry-run  # 预览
python3 session_summary.py --watch                    # 实时监控追加

上下文加载 context_loader.py

python3 context_loader.py "项目X 设计方案"
python3 context_loader.py "项目X" --quiet
python3 context_loader.py "项目X" --format prompt

偏好提取 profile_miner.py

python3 profile_miner.py --session "用户说:喜欢简洁的回答"
python3 profile_miner.py --list

冲突检测 conflict_detector.py

python3 conflict_detector.py --new "决定用方案A" --topic "项目X架构"

恢复/回溯 restore.py

python3 restore.py --list
python3 restore.py --date 2026-04-23
python3 restore.py --topic "项目X"

归档 consolidation

python3 consolidate.py --verbose
python3 consolidate.py --dry-run
python3 consolidate.py --check-capacity  # 仅检查容量

多分区搜索 memory_search.py

python3 memory_search.py "用户偏好"
python3 memory_search.py "GUI Agent" --deep
python3 memory_search.py "项目" -p profile,projects

实时监控 realtime_monitor.py

python3 realtime_monitor.py --daemon          # 事件驱动
python3 realtime_monitor.py --daemon --poll  # 降级轮询
python3 realtime_monitor.py --once            # 单次检查
python3 realtime_monitor.py --status         # 查看状态

自动触发配置(必读!)

装完 skill 后,需要配置以下自动触发,记忆系统才能真正自动化运转。

1. 定时任务(cron)- 推荐 Claude Code scheduled_tasks

功能推荐时间脚本说明
归档 consolidation每天 18:00consolidate.py --verbose将 7 天前日志归档到 archive
记忆提醒每天 9:00auto_skill_generator.py --remind主动建议写入记忆

Claude Code 配置方式

# 归档任务(每天 18:00)
/loop 24h /path/to/consolidate.py --verbose

# 记忆提醒(每天 9:00)
/loop 24h /path/to/auto_skill_generator.py --remind

或直接用 cron 表达式(在 Claude Code settings.json 配置):

{
  "hooks": {
    "session:start": "python3 <path>/auto_loader.py --hook-start --session-id {session_id} --topic {topic}",
    "session:end": "python3 <path>/session_summary.py --session-id {session_id} && python3 <path>/profile_miner.py --session-id {session_id} && python3 <path>/skill-creator/auto_skill_generator.py --record --skill {skill_name} --success"
  },
  "scheduled_tasks": [
    {"cron": "0 18 * * *", "prompt": "/path/to/consolidate.py --verbose"},
    {"cron": "0 9 * * *", "prompt": "/path/to/auto_skill_generator.py --remind"}
  ]
}

2. session:end Hook - Skill 自我改进记录

每次会话结束时,自动记录该会话中使用的 skill 执行结果:

# 在 session:end hook 中添加 skill 执行记录
python3 <path>/session_summary.py --session-id {session_id}
python3 <path>/profile_miner.py --session-id {session_id}
python3 <path>/skill-creator/auto_skill_generator.py --record --skill <skill_name> --success

注意:将 <skill_name> 替换为实际触发的 skill 名称。如果会话涉及多个 skill,需要多次调用 --record

3. consolidate.py - 什么时候跑?

场景触发方式命令
每日自动归档cron 定时consolidate.py --verbose
手动整理记忆随时可跑consolidate.py --verbose
检查容量状态随时可跑consolidate.py --check-capacity
预览归档效果调试consolidate.py --dry-run

4. skill-creator reminder - 什么时候跑?

场景触发方式命令
每日主动提醒cron 定时auto_skill_generator.py --remind
手动检查随时可跑auto_skill_generator.py --remind --days 7

Hooks 配置(简化版)

如果只需要最基本的自动化,配置这两个 hook 即可:

{
  "hooks": {
    "session:start": "python3 <path>/auto_loader.py --hook-start --session-id {session_id} --topic {topic}",
    "session:end": "python3 <path>/session_summary.py --session-id {session_id} && python3 <path>/profile_miner.py --session-id {session_id}"
  }
}

定时任务需单独配置(用 Claude Code 的 /loop 或 scheduled_tasks)


自动运作流程 (v3.0)

会话开始
    ↓
auto_loader.py 加载相关记忆 (FTS5 + 优先级排序)
    ↓
用户交互...
    ↓
会话结束
    ↓
session_summary.py 生成摘要 → daily/
    ↓
profile_miner.py 提取偏好 + user_model.py 更新图谱
    ↓
(定时 18:00)
    ↓
consolidate.py 归档 (自动检查容量)
    ↓
capacity_manager.py 容量警告 (≥80%)
    ↓
容量临界 (≥95%) → 自动触发更多归档

参考文档

详细规格说明见 references/SPEC.md

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

Polymarket Politics Random Buyer

Randomly finds a live Polymarket politics market, checks trading context, and buys 1 USDC by default with explicit dry-run and live modes for AION Market.

Registry SourceRecently Updated
General

DB Schenker

德国铁路集团旗下物流巨头,专注欧洲最大陆运网络及多式联运,提供空运、海运及合同物流服务。

Registry SourceRecently Updated
General

Hunt

Digital bounty hunter skill for finding, tracking, and managing online hackathon opportunities. Trigger when the user says "hunt", "find hackathons", "show m...

Registry SourceRecently Updated
General

MySQL Natural Language Query Assistant

translate natural-language analytics requests into mysql queries, connect to a live mysql database, inspect schema and column comments, execute read-only sql...

Registry SourceRecently Updated