← 返回
未分类

Dream Selfimproving

让AI拥有进化能力——每晚自动复盘当天对话,提取洞察,更新记忆,像梦境一样在夜里悄然进化。不用手动记录,AI自己记住重要的事,越用越聪明。
让AI每晚自动复盘对话、提取洞察、更新记忆,夜间悄然进化;无需手动记录,AI自行记住重要信息,越用越聪明。
luis1213899
未分类 clawhub v5.1.0 2 版本 99871.1 Key: 无需
★ 2
Stars
📥 735
下载
💾 1
安装
2
版本
#ai#amygdala#automation#brain-regions#consolidated#distillation#dream#eo-ability-dream#health-score#hippocampus#kairos#latest#locus-coeruleus#memory#memory-management#multi-agent#nightly#openclaw-auto-dream#optional-cloud#patterns#prefrontal#security-fix#self-evolution#self-improving#swarmrecall#thalamus

概述

Dream Self-improving — 夜间记忆蒸馏与自我进化

> 🧠 v5.1 技能进化插件 — AI自主学习、用进废退、全自动技能开发 + 完整每日汇报

现状

Phase 3(✅ 已实现): OpenClaw Hook hippocampus 监听每条消息,实时写入 memory/logs/

Phase 3(✅ 已实现): dream.py v4.x 定时蒸馏 + M-FLOW Bundle Search检索

Phase 3(✅ 已实现): dream.py v4.x Long-Term RAG 长记忆层

Phase 4(✅ 已实现): dream.py v5.0 技能用进废退 + 全自动技能开发 + 完整每日汇报


v5.1 技能进化插件(v2.0 大幅增强)

GapDetector v2.0 — 新增 SKILL.md 草稿自动生成

extensions/skill_explorer/gap_detector.py v2.0 整合 skill-evolver 核心逻辑:

新增方法功能
---------------
get_active_capabilities()~/.skill_scoreboard/scores.json 推断用户能力需求
scan_shared_skills()扫描 ~/SharedSkills/ 所有技能清单
detect_gaps_from_scores()基于评分数据检测能力缺口(比原有任务分析更精准)
generate_skill_draft()为缺口生成完整 SKILL.md 草稿(含触发词、使用场景、步骤、工具)
detect_and_generate()一次性执行缺口检测 + 草稿生成 + 过时技能扫描

SKILL.md 草稿模板库(已实现):

能力生成的技能名触发词示例
-----------------------------
搜索/研究deep-researcher帮我调研、搜索论文
图片生成image-generatorAI画图、生成插画
网页抓取web-scraper爬取数据、提取网页内容
Shell命令shell-automation写脚本、批处理
Git操作git-assistantcommit、PR、解决冲突
飞书集成feishu-integration飞书文档、飞书消息
视频生成video-generator生成视频、AI视频
文档总结doc-summarizer总结文档、长文章摘要
数据分析data-analyst分析数据、生成图表
PPT制作ppt-generator制作PPT、演示文稿
翻译translator中英互译、润色英文
通用{能力英文名}能力名本身

E6/E8 流程更新(dream.py v5.1)

  1. GapDetector.detect_and_generate() → 同时获取缺口列表 + SKILL.md 草稿
  2. 对每个高优先级缺口 → generate_skill_draft() 生成完整草稿
  3. 草稿直接写入 ~/SharedSkills/{skill_name}/SKILL.md
  4. 同时创建占位脚本 scripts/main.py
  5. 草稿内容同步保存到每日汇报的 skill_development.drafts 字段

与 skill-evolver 共用数据源~/.skill_scoreboard/scores.json


v5.0 技能进化插件(原有架构)

五大扩展模块

模块功能关键类
--------------------
skill_evolution技能评分(调用×质量×衰减)+ 用进废退引擎 + 技能注册表SkillScorer, DecayEngine, SkillRegistry
work_review工作复盘分析 + 明日计划生成WorkAnalyzer, TomorrowPlanner
skill_explorer技能缺口检测 + 自主学习GapDetector, SkillLearner
skill_developer全自动技能生成(AI生成+质量评估+注册)SkillGenerator, SkillQualityAssessor
reporter每日完整汇报(六大模块)DailyReporter, SkillReportGenerator

用进废退评分体系

技能活跃度 = 调用次数 × 质量系数 × 时间衰减

等级标识分值范围说明
----------------------------
高度活跃🔥≥80调用频繁,持续进化
正常📈60-79稳定使用
低活跃💤40-59使用较少,建议复习
休眠🗄️20-39长期未用,待激活
已归档⚰️<20彻底停用

衰减规则:

  • 30天未用:×50%
  • 90天未用:×20%
  • 180天未用:自动归档

每日汇报(六大模块)

与早7点+晚10点蒸馏同步执行,完整汇报保存为 daily-report-YYYY-MM-DD.md

  1. 📝 今日总结 — 工作完成情况、未完成原因、阻碍因素
  2. 📋 明日计划 — 继续任务 + 新任务 + 技能开发计划
  3. 🛠️ 技能开发 — 新技能生成(AI全自动)、技能改进
  4. 📈 技能评分 — Top 10 活跃度排行 + 用进废退变化
  5. 🎯 精进点 — 学到的新东西、改进方向
  6. 💭 个人感想 — AI 自我反思

扩展模块目录结构

extensions/
├── __init__.py
├── skill_evolution/     # 用进废退核心
│   ├── scorer.py        # 技能评分器
│   ├── decay.py         # 衰减引擎
│   └── registry.py      # 技能注册表
├── work_review/         # 工作复盘
│   ├── analyzer.py      # 工作分析器
│   └── planner.py       # 明日计划生成器
├── skill_explorer/      # 技能探索
│   ├── gap_detector.py  # 缺口检测器
│   └── learner.py       # 技能学习器
├── skill_developer/     # 技能开发
│   ├── templates.py     # 技能模板库
│   ├── generator.py     # 技能生成器
│   └── quality.py       # 质量评估器
└── reporter/            # 汇报生成
    ├── daily_report.py  # 每日汇报生成器
    └── skill_report.py  # 技能专项报告

核心升级:Long-Term RAG

参考 MetaGPT 的 RoleZeroLongTermMemory 设计,新增短长记忆合并机制:

short-term-recall.json  ←  活跃recall条目(上限200条)
memory/.rag/longterm.jsonl  ←  老旧条目RAG存储

晋升条件:

  • 条目 age > 30天(从最后召回时间算)
  • 且 recallCount < 3(未被频繁召回)

召回流程:

  1. 蒸馏前,从当日高权重条目提取关键词
  2. 用关键词查询 RAG,召回相关旧记忆
  3. 旧记忆注入蒸馏上下文,让 AI 知道"之前有过什么"

效果: 记忆越来越精准,不像以前每次都从零开始。


完整链路

用户对话
   ↓
OpenClaw Hook: message:preprocessed
   ↓
丘脑过滤(Thalamus)→ 杏仁核标记(Amygdala)→ 海马体存储(memory/logs/)
   ↓
cron 触发(早7点/晚10点)
dream.py v4.x
   ↓
[4.5] RAG查询 — 从当日条目提取关键词 → 查询memory/.rag/longterm.jsonl → 注入蒸馏上下文
   ↓
Bundle Search检索(替代简单grep)
   ↓
杏仁核标记融合 → Auditor审计 → 分析皮层模式识别 → 前额叶蒸馏规划
   ↓
[4.6] RAG晋升 — 30天+未召回条目 → 写入longterm.jsonl
   ↓
归档区 → 真相文件写回 → 梦境报告

M-FLOW 核心架构

倒锥知识图谱(Inverted Cone)

所有记忆组织为四层有向图,形成倒锥结构:

          锥尖(容易精确命中)
             ↓
    ┌─────────────────────────┐
    │  L4 Entity             │  ← 用户/项目/系统等实体节点
    │  L3 FacetPoint         │  ← 具体属性、特征、标签
    │  L2 Facet               │  ← 一组相关特征
    │  L1 Episode(锥底)     │  ← 最终返回的知识单元
    └─────────────────────────┘
          锥底(返回给用户)

搜索逻辑(Bundle Search):

  1. 锥尖广撒网:查询向量化后同时在4层搜索,每个集合返回最多100个候选
  2. 投影到图中:命中点作为入口,提取周围子图(边+邻居+连接关系)
  3. 代价传播:沿边从锥尖向锥底传播,Episode得分 = 所有路径中最小代价

三条核心设计原则:

原则说明对应效果
---------------------
边携带语义每条边附带自然语言描述,参与检索不是被动连接,是主动语义过滤器
路径最小代价一条强证据链就足以证明相关性不被无关路径稀释分数
惩罚直接命中Episode直接匹配摘要反而加惩罚偏好精准锚点路径,防止宽泛匹配

脑区协同架构

① 丘脑(Thalamus)— 注意力门控

> 过滤纯问候/简单确认,只记录有意义的事件

> 标记类型:event / decision / correction / completed / insight / error

② 杏仁核(Amygdala)— 情绪标记

> correction/error/decision/completed/insight 携带 HIGH 权重,优先蒸馏

③ 海马体(Hippocampus)— M-FLOW图存储 + RAG

Phase 1:memory/logs/ 追加日志(Episode层)

Phase 2:构建M-FLOW图结构:

Episode (L1)              ← daily log / topic file
  ↓ semantic edge
Facet (L2)                ← grouping: correction_group, project_xxx
  ↓ semantic edge  
FacetPoint (L3)           ← specific tag: error.timeout, user.pref
  ↓ semantic edge
Entity (L4)               ← user, project, tool, skill

FacetPoint = type + topic + keywords 的向量描述(向量化后参与Bundle Search)

语义边描述 = "这个FacetPoint为什么属于这个Episode" 的自然语言说明

④ 前额叶(Prefrontal Cortex)— Bundle Search + RAG召回 + 蒸馏规划

Bundle Search检索替代简单grep:

查询 → 向量化 → 4层锥形搜索 → 代价传播 → 最小路径Episode

RAG召回(v4.x新增):

当日关键词 → 查询longterm.jsonl → 召回相关旧记忆 → 注入蒸馏上下文

⑤ 蓝斑核(Locus Coeruleus)— 警觉与新鲜度信号

> freshness分数——最近被提及的记忆权重更高


Long-Term RAG Layer 详解

存储结构

memory/
├── .dreams/
│   └── short-term-recall.json   # 活跃recall条目(上限200条)
└── .rag/
    └── longterm.jsonl          # 老旧条目RAG存储(JSONL格式)

晋升机制

# 晋升条件
if age_days > 30 and recall_count < 3:
    promote_to_longterm_rag(entry)

召回机制

# 蒸馏前
keywords = [v['snippet'][:100] for v in tagged.values()][:20]
query = ' '.join(keywords[:5])
rag_results = query_longterm_rag(query, k=5)

# 召回结果注入蒸馏上下文
learnings['LEARNINGS.md'] += f"\n\n## Long-Term Memory (RAG)\n{rag_text}"

手动命令

# 查看短/长记忆状态
python skills/dream-selfimproving/scripts/longterm_rag.py --status

# 手动晋升老条目
python skills/dream-selfimproving/scripts/longterm_rag.py --promote

# 搜索长记忆
python skills/dream-selfimproving/scripts/longterm_rag.py --query "关键词"

Pattern Library

Patterns are reusable response templates extracted from recurring learnings:

memory/patterns/
└── p-xxx.md           # Pattern files with trigger + response

Pattern格式(含M-FLOW元数据):

---
name: pattern名称
trigger: 什么情况下触发
response: 如何响应
examples: [案例1, 案例2]
created: YYYY-MM-DD
updated: YYYY-MM-DD
# M-FLOW 元数据
entity: pattern          # L4 Entity
facets: [tag1, tag2]    # L3 FacetPoints
episode_id: p-xxx        # L1 Episode
---

Memory Taxonomy & M-FLOW映射

Memory TypeL4 EntityL3 FacetPointsL1 Episode
------------------------------------------------------
useruser.luyirole, pref, goal, communication_styletopics/user_*.md
feedbackfeedbackcorrection, error, insight, confirmationtopics/feedback_*.md
projectproject.{name}decision, tool, deadline, contexttopics/project_*.md
referencereferencecredential, link, skill, systemtopics/reference_*.md
longterm(RAG)aged, promoted.rag/longterm.jsonl

Directory Structure (v4.x)

memory/
├── graph/                         # M-FLOW 知识图谱
│   ├── entities.json              # L4 Entity 节点列表
│   ├── facetpoints.json           # L3 FacetPoint 节点列表
│   ├── facets.json                # L2 Facet 节点列表
│   ├── episodes.json              # L1 Episode 节点列表
│   ├── edges.json                 # 语义边(含描述文本)
│   └── index.json                 # 图索引 + 向量锚点
├── logs/
│   └── YYYY/MM/YYYY-MM-DD.md     # Daily append-only logs (Episode)
├── topics/                        # Distilled topic memories
│   ├── user_xxx.md
│   ├── feedback_xxx.md
│   ├── project_xxx.md
│   └── reference_xxx.md
├── patterns/                      # Pattern Library
│   └── p-xxx.md
├── episodes/                      # Project narratives
├── .dreams/
│   └── short-term-recall.json     # 活跃recall条目(上限200条)
├── .rag/
│   └── longterm.jsonl             # Long-Term RAG(v4.x新增)
├── procedures.md                  # Workflow preferences
├── archive.md                     # Compressed old entries
├── dream-log.md                   # Dream cycle reports
└── MEMORY.md                      # INDEX only

.learnings/                        # self-improving-agent
├── LEARNINGS.md
├── ERRORS.md
└── FEATURE_REQUESTS.md

Health Score (v4.x)

MetricWeightFormula
-------------------------
Freshness0.20entries_referenced_last_30_days / total
Coverage0.20categories_updated_last_14_days / 10
Coherence0.20entries_with_semantic_edges / total
Graph Connectivity0.20connected_components_ratio
Efficiency0.10max(0, 1 - line_count/500)
Reachability0.10Bundle Search路径覆盖率

Dream Distillation Steps (v5.0)

When cron triggers:

  1. Bundle Search预热:用今日日志构建临时图结构,快速验证图连通性
  2. Read memory/logs/{date}.md
  3. Read .learnings/LEARNINGS.md, .learnings/ERRORS.md, .learnings/FEATURE_REQUESTS.md
  4. Read MEMORY.md, topic files, graph/index.json, procedures.md for context
  5. Snapshot BEFORE: count entries, decisions, lessons, procedures
  6. [4.x] 技能积分榜读取:调用 score_tracker.py today,获取今日技能王 + 调用统计,注入蒸馏上下文
  7. [4.5] RAG召回:从当日条目提取关键词 → 查询longterm.jsonl → 注入蒸馏上下文
  8. 图增强检索:对每个learnings entry执行Bundle Search,找到相关Episode
  9. Distillation Agent: Run sub-agent on raw entries + learnings + RAG results → produce:
    • 3-5 genuine insights ("I learned that...")
    • 1-3 tomorrow action items
    • 0-3 topic files to write to memory/topics/
    • Health metric interpretation
    • 技能积分榜洞察(若有数据)
  10. [4.6] RAG晋升:30天+未召回条目 → 写入longterm.jsonl
  11. 更新图结构
    • 新Episode写入 graph/episodes.json
    • 新FacetPoint写入 graph/facetpoints.json
    • 新边写入 graph/edges.json(含语义描述)
  12. Write topic files (from Distillation Agent output)
  13. Update truth files (user_state.md, pending.md)
  14. Update graph/index.json entry metadata + 重新计算向量锚点
  15. Compute health metrics → update graph/index.json stats
  16. Archive eligible entries → append to archive.md
  17. Update MEMORY.md index (max 200 lines)
  18. Snapshot AFTER: calculate deltas
  19. Write dream report to memory/dreams/{date}.md and dream-log.md
  20. v5.0 技能扩展模块:执行 skill_evolution + work_review + skill_explorer + skill_developer + reporter
  21. v5.0 每日汇报:生成 daily-report-{date}.md 完整六大模块汇报
  22. [Optional SwarmRecall]: 如果配置了API key,执行云端图同步

Dream Report Format (v5.0)

# 🌙 Dream Report — {date}

## 🧠 系统状态
- 原始日志条目 | recall store 总数 | Auditor AI味 | 蓝斑核健康

## 🫀 蓝斑核健康评分 (v4.0 M-FLOW)
- 新鲜度 | 连贯性 | 覆盖度 | 图连通性 | 效率 | 可达性

## 🧠 M-FLOW 知识图谱状态
- L4 Entity | L3 FacetPoint | L1 Episode | 语义边
- Bundle Search 结果

## 🏆 技能积分榜(v4.x 新增)
- 今日技能王 + 调用次数 + 积分
- 原始榜单摘要(若有数据;无数据时此节不显示)

## 💡 我学到了
- {genuine insight 1(含技能积分洞察)}
- {genuine insight 2}

## 🎯 明日重点
- {actionable item 1}
- {actionable item 2}

## 🔁 重复模式(≥3次)
## 🗄️ 归档候选
## Patterns Updated

User Prompts

  • "dream report" / "梦境报告" → read and display latest dream report
  • "dream" / "做梦" → run distillation now
  • "/dream status" → show M-FLOW graph stats, health score, pattern count
  • "/dream search {query}" → run Bundle Search and show top results
  • "/dream rag status" → show RAG status (from longterm_rag.py)


🔒 安全说明

update-cron-date.py 的 --confirm 标志

此脚本用于修改 OpenClaw cron 作业,属于特权操作

  • --confirm 标志是安全机制,防止意外执行
  • 无此标志时,脚本只显示将要做什么但不会实际修改
  • 使用前请确保您了解 cron 作业的当前状态:

```bash

openclaw cron list

```

SWARMRECALL_API_KEY 环境变量

  • 声明位置: metadata.openclaw.requires.env.SWARMRECALL_API_KEY
  • 用途: 可选。云端去重/矛盾检测(需连接 SwarmRecall 服务)
  • 默认值: 不设置则仅本地运行,无云端功能
  • 获取方式: 向 SwarmRecall 服务注册获取

文件访问范围

此技能会访问和修改以下位置的文件:

  • ~/.openclaw/workspace/memory/logs/ — 对话日志
  • ~/.openclaw/workspace/memory/.dreams/ — 梦境报告
  • ~/.openclaw/workspace/memory/.rag/ — 长记忆 RAG 存储
  • ~/.openclaw/workspace/memory/.truth/ — 真相文件
  • ~/.openclaw/workspace/memory/.learnings/ — 学习记录
  • ~/.openclaw/hooks/hippocampus/ — Hook 配置
  • OpenClaw cron 条目(通过 update-cron-date.py)

诊断参考: references/diagnostic-checklist.md — 快速健康检查命令清单


Known Issues & Pitfalls

月份目录不存在导致日志静默丢失

问题现象:

  • memory/logs/YYYY/MM/ 月份目录不存在时,append_to_log() 会静默失败(不抛异常)
  • mkdir(parents=True, exist_ok=True) 只创建最后一级目录;如果 YYYY/ 存在但 MM/ 不存在,且代码写的是 mkdir("2026/05", parents=True) → 不会创建 2026/ 本身
  • 实际路径行为:第 3 行 log_dir = LOGS_DIR / year / month 后直接 ensure_dir(log_dir),如果 2026/ 存在但 05/ 不存在 → 正常创建;但如果整个 YYYY/ 不存在则失败

排查:

ls -la ~/.openclaw/workspace/memory/logs/2026/
# 如果 05/ 目录不存在,说明本月还没有消息被记录

手动修复:

mkdir -p ~/.openclaw/workspace/memory/logs/2026/05

Cron 定时任务可能不按时执行

问题现象:

  • 梦境报告时间戳显示 generated_at 与日志日期不匹配
  • 例如:4/30 的日志缺失,但 5/1 00:54 生成的快照实际记录的是 4/29 数据
  • Cron list 为空但记忆里记录了 cron 任务(配置不在 Hermes 这边)

排查步骤:

  1. 检查 ~/.skill_scoreboard/daily/ 文件时间戳是否连续
  2. 检查 ~/.hermes/cron/output/ 是否有对应日志
  3. 通过 openclaw cron list 确认实际 cron 配置(如果 openclaw CLI 可用)
  4. 如果 cron list 为空但快照在跑 → 任务配置在 OpenClaw 平台端,不在本地

浏览器访问问题

问题: 在 WSL 环境中访问 localhost:3012(OpenClaw-Admin)可能失败,Chrome 报错 libnspr4.so: cannot open shared object file

解决: 不依赖浏览器,用 API 直接调 OpenClaw:

# 查看 cron 任务
openclaw cron list

# 查看环境变量
openclaw env get

404 错误溯源

场景: 飞书消息后出现 "Auxiliary title generation failed: HTTP 404",用户不知道来源

排查方向:

  1. 检查 Hermes cron output 日志 (~/.hermes/cron/output/)
  2. 检查 skill-scoreboard 快照是否在那个时间点生成
  3. 检查 OpenClaw Gateway 内部是否有辅助标题生成的定时任务
  4. 如果 cron list 为空 → 任务在 OpenClaw 平台端而非本地

Scripts

  • dream.py — Phase 2 蒸馏脚本(v4.x,M-FLOW Bundle Search + RAG召回/晋升 + 技能积分榜融合)
  • update-cron-date.py — 每日 cron 日期注入 ⚠️ 特权操作,需 --confirm
  • graph-builder.py — 从日志构建M-FLOW图结构
  • bundle-search.py — Bundle Search检索实现
  • longterm_rag.py — Long-Term RAG 管理脚本(v4.x新增)

> dream.py 蒸馏前自动调用 ~/SharedSkills/skill-scoreboard/scripts/score_tracker.py today,将今日技能王 + 积分注入蒸馏上下文和梦境报告,无需额外配置。


Phase 1 启用(hippocampus hook)

Hook 目录: ~/.openclaw/hooks/hippocampus/

已配置: openclaw.jsonhooks.internal.entries.hippocampus: enabled: true

功能: 监听 message:preprocessed 事件,自动记录对话到 memory/logs/YYYY/MM/YYYY-MM-DD.md

丘脑过滤规则:

  • 纯问候 / 简单确认(<20字)不记录
  • 高权重标记:correction / error / decision / completed / insight

重启 gateway 后生效:

schtasks /run /tn "OpenClaw Gateway"

M-FLOW vs 旧架构对比

维度旧架构(平坦检索)M-FLOW(倒锥图路由)
-----------------------------------------------
存储结构平面文件列表四层有向图
检索方式grep / 向量相似度Bundle Search代价传播
关系表示简单link引用带语义描述的边
短长记忆无分层30天老化晋升RAG

OpenClaw ↔ Hermes 记忆同步

  • 脚本位置:~/.hermes/scripts/sync_openclaw_memory.py
  • 功能:双向桥接 OpenClaw sqlite 记忆库与 Hermes 扁平记忆文件
  • 使用:python3 ~/.hermes/scripts/sync_openclaw_memory.py [--dry-run]
  • 详情见 references/hermes-openclaw-memory-sync.md

与MetaGPT对比

维度MetaGPT RoleZeroLongTermMemoryDream Long-Term RAG
----------------------------------------------------------
RAG引擎Chroma + LLMRankerJSONL + 关键词匹配
召回触发memory_k 溢出 或 用户需求每次蒸馏前
晋升条件count > memory_kage > 30天 且 recallCount < 3
向量化embedding 模型词袋模型(简化版)
复杂度依赖 Chroma/llama-index纯 Python,无外部依赖

版本历史

共 2 个版本

  • v5.1.0 当前
    2026-05-07 03:35 安全 安全
  • v4.2.1
    2026-05-01 12:18 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

Psd Batch Export

luis1213899
生产级 PSD 批量工作流:分析 PSD 文本层、将 Excel/CSV 数据映射到可编辑层、预览、导出可编辑 PSD 及 PNG 批量文件。
★ 1 📥 483

令牌管理中心

luis1213899
令牌与账号密钥管理中心 v2.1 — 统一管理第三方 API 令牌、账户密码、SSH 密钥。提供分类管理、到期提醒、密码生成、加密备份、使用统计、审计日志、防暴力破解、安全删除。
★ 0 📥 411

虾转音频

luis1213899
🎵 音视频转换工具箱,基于 FFmpeg + Whisper AI,支持格式转换、提取音频、合并、分割、压缩、查看信息、音频转文字。
★ 1 📥 465