改进模块触发时机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 次
text
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
自动检测 memory 目录容量,防止爆满。
bash
# 检查容量(每次 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)
基于 SQLite FTS5 的快速全文搜索,配合 LLM 总结结果。
bash
# 构建 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 + 经典搜索合并(默认)会话开始时自动加载相关记忆,按优先级排序。
bash
# 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"
优先级算法:
text
综合得分 = 相关性 × 分区权重 × 时间加权
分区权重:
agenda → 2.0 (最高)
projects → 1.8
profile → 1.5
knowledge → 1.2
daily → 1.0
archive → 0.5 (最低)
时间加权:
7天内 → 1.5x
7天后 → 指数衰减,最少 0.3
从会话中提取实体和关系,构建用户知识图谱。
bash
# 构建图谱
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、Reactperson1.3开发者、工程师preference1.2喜欢简洁回答concept1.0架构、设计
关系类型: works_on, uses, manages, interested_in, collaborates_with
数据文件:
memory/.user_graph.jsonmemory/.user_graph_stats.json检测复杂/重复任务,自动生成新 Skill 封装解决方案。
bash
# 检测复杂任务(扫描 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-trackercode_review代码审查、review、PRcode-reviewbug_triagebug、修复、问题bug-triagemeeting_notes会议、meeting、纪要meeting-notesdata_analysis分析、数据、报表data-analysisdoc_generation文档、doc、生成doc-generatortest_generation测试、test、用例test-generatordeployment部署、deploy、发布deploy-helperapi_designAPI、接口、restapi-designerdb_schema数据库、schema、表结构db-schema-manager
bash
python3 session_summary.py --session "今天讨论了..." --topics "项目X, 决策Y"
python3 session_summary.py --session "..." --dry-run # 预览
python3 session_summary.py --watch # 实时监控追加
python3 session_summary.py --session-id {session_id} # Hook 用法
Hook 触发:session:end 时自动运行
bash
python3 context_loader.py "项目X 设计方案"
python3 context_loader.py "项目X" --quiet
python3 context_loader.py "项目X" --format prompt
python3 context_loader.py --topic "项目X" --session-id {session_id} # Hook 用法
Hook 触发:session:start 时自动运行(加载历史上下文到 prompt)
bash
python3 profile_miner.py --session "用户说:喜欢简洁的回答"
python3 profile_miner.py --session-id {session_id} # Hook 用法
python3 profile_miner.py --list
Hook 触发:session:end 时自动运行
bash
python3 conflict_detector.py --new "决定用方案A" --topic "项目X架构"
# 可集成到 session:end hook,自动检测新决策与历史的冲突
Hook 触发:按需调用(检测到新决策时)
bash
python3 restore.py --list
python3 restore.py --date 2026-04-23
python3 restore.py --topic "项目X"
触发方式:手动查询(按需调用)
bash
python3 consolidate.py --verbose
python3 consolidate.py --dry-run
python3 consolidate.py --check-capacity # 仅检查容量
触发方式:定时任务(每天 18:00)或手动触发
bash
python3 memory_search.py "用户偏好"
python3 memory_search.py "GUI Agent" --deep
python3 memory_search.py "项目" -p profile,projects
触发方式:手动查询(按需调用)
bash
python3 realtime_monitor.py --daemon # 事件驱动
python3 realtime_monitor.py --daemon --poll # 降级轮询
python3 realtime_monitor.py --once # 单次检查
python3 realtime_monitor.py --status # 查看状态
触发方式:后台守护进程运行
OpenClaw 支持 cron 定时任务,不支持 session hooks。
OpenClaw openclaw.json 配置示例:
json
{
"scheduled_tasks": [
{
"cron": "0 18 * * *",
"prompt": "python3 <path>/consolidate.py --verbose"
},
{
"cron": "0 9 * * *",
"prompt": "python3 <path>/skill-creator/auto_skill_generator.py --remind"
}
]
}
脚本触发方式OpenClaw 支持consolidate.py定时任务 (cron)✅ 支持auto_skill_generator.py定时任务 (cron)✅ 支持context_loader.pysession:start hook❌ 不支持auto_loader.pysession:start hook❌ 不支持session_summary.pysession:end hook❌ 不支持profile_miner.pysession:end hook❌ 不支持user_model.pysession:end hook❌ 不支持conflict_detector.py按需调用-memory_search.py按需调用-restore.py按需调用-
说明:
- = 本身就是按需使用的工具功能推荐时间cron 表达式说明归档 consolidation每天 18:000 18 * * *将 7 天前日志归档到 archive记忆提醒每天 9:000 9 * * *主动建议写入记忆
注意:请将 <path> 替换为实际脚本路径
text
会话开始
↓
auto_loader.py 加载相关记忆 (FTS5 + 优先级排序)
↓
用户交互...
↓
会话结束
↓
session_summary.py 生成摘要 → daily/
↓
profile_miner.py 提取偏好 + user_model.py 更新图谱
↓
(定时 18:00)
↓
consolidate.py 归档 (自动检查容量)
↓
capacity_manager.py 容量警告 (≥80%)
↓
容量临界 (≥95%) → 自动触发更多归档
[自动] 定时 9:00
↓
auto_skill_generator.py 记忆提醒
[手动] 按需调用
↓
auto_loader.py # 加载相关记忆
session_summary.py # 生成会话摘要
profile_miner.py # 提取用户偏好
user_model.py # 更新用户图谱
context_loader.py # 加载历史上下文
memory_search.py # 多分区搜索
restore.py # 恢复/回溯
说明:
[自动] = 可配置 cron 定时任务自动运行[手动] = 需要用户手动调用或集成到 AGENTS.md 启动流程中详细规格说明见 references/SPEC.md