{"id":"672bece1-c004-40db-8314-274ace444596","entityType":"agent","slug":"clawhub-luis1213899-dream-selfimproving","name":"Dream Selfimproving","canonicalUrl":"https://www.xpersona.co/agent/clawhub-luis1213899-dream-selfimproving","canonicalPath":"/agent/clawhub-luis1213899-dream-selfimproving","generatedAt":"2026-10-10T21:47:41.866Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-10T16:58:15.524Z","emptyReason":null},"description":"让AI拥有进化能力——每晚自动复盘当天对话，提取洞察，更新记忆，像梦境一样在夜里悄然进化。不用手动记录，AI自己记住重要的事，越用越聪明。 Skill: Dream Selfimproving Owner: luis1213899 Summary: 让AI拥有进化能力——每晚自动复盘当天对话，提取洞察，更新记忆，像梦境一样在夜里悄然进化。不用手动记录，AI自己记住重要的事，越用越聪明。 Tags: ai:2.5.0, amygdala:2.9.0, automation:2.8.0, brain-regions:2.9.0, consolidated:2.5.0, distillation:2.9.0, dream:2.9.0, eo-ability-dream:2.2.0, health-score:2.5.0, hippocampus:2.9.0, kairos:2.9.0, latest:5.1.0, locus-coeruleus:2.9.0, memory:2.9.0, memory-management:2.8.0, multi-agent:2.8.0,","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 1.3K downloads reported by the source. Last updated 10/10/2026.","installCommand":"clawhub skill install s17dx8tkck6b2b3d3capmeyfmx84mj9a:dream-selfimproving","sourceUrl":"https://clawhub.ai/luis1213899/dream-selfimproving","homepage":"https://clawhub.ai/luis1213899/skills/dream-selfimproving","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/luis1213899/dream-selfimproving","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/luis1213899/skills/dream-selfimproving","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":62,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"让AI拥有进化能力——每晚自动复盘当天对话，提取洞察，更新记忆，像梦境一样在夜里悄然进化。不用手动记录，AI自己记住重要的事，越用越聪明。 Skill: Dream Selfimproving Owner: luis1213899 Summary: 让AI拥有进化能力——每晚自动复盘当天对话，提取洞察，更新记忆，像梦境"},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-10T16:58:15.524Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T16:58:15.524Z","emptyReason":null},"stars":null,"forks":null,"downloads":1329,"packageName":null,"latestVersion":"5.1.0","tractionLabel":"1.3K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T16:58:15.523Z","emptyReason":null},"lastUpdatedAt":"2026-10-10T16:58:15.524Z","lastCrawledAt":"2026-10-10T16:58:15.523Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-11T16:58:15.523Z","lastVerifiedAt":null,"highlights":[{"version":"5.1.0","createdAt":"2026-05-03T13:30:08.603Z","changelog":"v5.1: 技能进化插件 v2.0 大幅增强 — GapDetector 新增 generate_skill_draft()，支持11种能力模板自动生成 SKILL.md 草稿；E6/E8 流程整合，与 skill-evolver 共用 scores.json 数据源；新增 deep-researcher、image-generator 技能草稿","fileCount":42,"zipByteSize":108451},{"version":"5.0.1","createdAt":"2026-05-03T03:03:12.922Z","changelog":"更新描述：体现v5.0用进废退、AI自主学习、全自动技能开发能力","fileCount":41,"zipByteSize":99102},{"version":"5.0.0","createdAt":"2026-05-03T02:58:10.770Z","changelog":"v5.0: 技能用进废退系统 + AI自主学习 + 全自动技能开发 + 完整每日汇报（六大模块）","fileCount":41,"zipByteSize":99086},{"version":"4.2.1","createdAt":"2026-04-28T14:39:42.946Z","changelog":"安全更新：(1) 明确声明 SWARMRECALL_API_KEY 环境变量 (required:false) (2) 添加安全说明章节，解释 --confirm 标志原因和文件访问范围","fileCount":20,"zipByteSize":57372},{"version":"4.2.0","createdAt":"2026-04-28T14:18:20.799Z","changelog":"修复硬编码路径问题：WORKSPACE 默认值从 'C:/Users/26240/.openclaw/workspace' 改为跨平台路径 Path.home() / '.openclaw' / 'workspace'","fileCount":20,"zipByteSize":56896},{"version":"4.1.6","createdAt":"2026-04-23T15:04:24.302Z","changelog":"- 优化描述和标签，使技能定位更明确、内容更精炼。 - 在 metadata.requires 下新增 SWARMRECALL_API_KEY 环境变量说明，支持可选云端去重/矛盾检测。 - “AI记忆进化助手”重命名为“dream-AI进化的梦之核”，副标题和标签更符合功能定位。 - 删除冗余内容，收紧前言，强调“夜晚进化、自动提取记忆”核心卖点。 - 使 cron 环境变量说明与脚本一致，并简化运行说明。","fileCount":19,"zipByteSize":52662},{"version":"4.1.5","createdAt":"2026-04-23T15:00:04.469Z","changelog":"No file or documentation changes detected for version 4.1.5. - No updates or modifications have been made in this release. - Behavior, functionality, and documentation remain unchanged from the previous version.","fileCount":19,"zipByteSize":52611},{"version":"4.1.4","createdAt":"2026-04-23T14:50:08.756Z","changelog":"No changes detected in this release. - No updates or modifications to files. - Functionality and documentation remain unchanged from the previous version.","fileCount":19,"zipByteSize":52610}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s17dx8tkck6b2b3d3capmeyfmx84mj9a:dream-selfimproving","setupComplexity":"low","setupSteps":["Setup complexity is classified as HIGH. You must provision dedicated cloud infrastructure or an isolated VM. Do not run this directly on your local workstation.","Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-luis1213899-dream-selfimproving/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-luis1213899-dream-selfimproving/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-luis1213899-dream-selfimproving/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-luis1213899-dream-selfimproving/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-luis1213899-dream-selfimproving/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-luis1213899-dream-selfimproving/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-10T21:47:41.863Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-luis1213899-dream-selfimproving/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-luis1213899-dream-selfimproving/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-luis1213899-dream-selfimproving/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-luis1213899-dream-selfimproving/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"high","updatedAt":"2026-10-10T16:58:15.524Z","emptyReason":null},"readme":"Skill: Dream Selfimproving\n\nOwner: luis1213899\n\nSummary: 让AI拥有进化能力——每晚自动复盘当天对话，提取洞察，更新记忆，像梦境一样在夜里悄然进化。不用手动记录，AI自己记住重要的事，越用越聪明。\n\nTags: ai:2.5.0, amygdala:2.9.0, automation:2.8.0, brain-regions:2.9.0, consolidated:2.5.0, distillation:2.9.0, dream:2.9.0, eo-ability-dream:2.2.0, health-score:2.5.0, hippocampus:2.9.0, kairos:2.9.0, latest:5.1.0, locus-coeruleus:2.9.0, memory:2.9.0, memory-management:2.8.0, multi-agent:2.8.0, nightly:2.9.0, openclaw-auto-dream:2.3.0, optional-cloud:2.4.0, patterns:2.5.0, prefrontal:2.9.0, security-fix:2.3.1, self-evolution:2.9.0, self-improving:2.1.0, swarmrecall:2.4.0, thalamus:2.9.0\n\nVersion history:\n\nv5.1.0 | 2026-05-03T13:30:08.603Z | user\n\nv5.1: 技能进化插件 v2.0 大幅增强 — GapDetector 新增 generate_skill_draft()，支持11种能力模板自动生成 SKILL.md 草稿；E6/E8 流程整合，与 skill-evolver 共用 scores.json 数据源；新增 deep-researcher、image-generator 技能草稿\n\nv5.0.1 | 2026-05-03T03:03:12.922Z | user\n\n更新描述：体现v5.0用进废退、AI自主学习、全自动技能开发能力\n\nv5.0.0 | 2026-05-03T02:58:10.770Z | user\n\nv5.0: 技能用进废退系统 + AI自主学习 + 全自动技能开发 + 完整每日汇报（六大模块）\n\nv4.2.1 | 2026-04-28T14:39:42.946Z | user\n\n安全更新：(1) 明确声明 SWARMRECALL_API_KEY 环境变量 (required:false) (2) 添加安全说明章节，解释 --confirm 标志原因和文件访问范围\n\nv4.2.0 | 2026-04-28T14:18:20.799Z | user\n\n修复硬编码路径问题：WORKSPACE 默认值从 'C:/Users/26240/.openclaw/workspace' 改为跨平台路径 Path.home() / '.openclaw' / 'workspace'\n\nv4.1.6 | 2026-04-23T15:04:24.302Z | auto\n\n- 优化描述和标签，使技能定位更明确、内容更精炼。\n- 在 metadata.requires 下新增 SWARMRECALL_API_KEY 环境变量说明，支持可选云端去重/矛盾检测。\n- “AI记忆进化助手”重命名为“dream-AI进化的梦之核”，副标题和标签更符合功能定位。\n- 删除冗余内容，收紧前言，强调“夜晚进化、自动提取记忆”核心卖点。\n- 使 cron 环境变量说明与脚本一致，并简化运行说明。\n\nv4.1.5 | 2026-04-23T15:00:04.469Z | auto\n\nNo file or documentation changes detected for version 4.1.5.\n\n- No updates or modifications have been made in this release.\n- Behavior, functionality, and documentation remain unchanged from the previous version.\n\nv4.1.4 | 2026-04-23T14:50:08.756Z | auto\n\nNo changes detected in this release.\n\n- No updates or modifications to files.\n- Functionality and documentation remain unchanged from the previous version.\n\nv4.1.3 | 2026-04-23T14:48:56.186Z | auto\n\n- Description and metadata simplified for broader audience; technical jargon and complex terms removed from the description.\n- Added meta fields: human-friendly name, tagline, category, and tags for easier discovery.\n- Core skill details and architecture remain unchanged; technical documentation preserved for advanced users.\n- No functional/code changes—documentation readability and accessibility improved.\n\nv4.1.2 | 2026-04-23T14:13:29.268Z | auto\n\nNo changes detected in this version.\n\n- No file or documentation changes since the previous version.\n\nv4.1.1 | 2026-04-23T14:05:41.392Z | auto\n\n**v4.1.1 introduces a Long-Term RAG (Retrieval-Augmented Generation) layer for smarter memory management and recall.**\n\n- Added Long-Term RAG: Old, infrequently recalled memories are promoted from short-term to a dedicated long-term RAG storage (.rag/longterm.jsonl).  \n- Bundle Search and dream.py now perform keyword-based queries on long-term memory, injecting relevant old knowledge into nightly distillation for improved context awareness.\n- Promotion and recall logic is automated but also manually controllable via the new scripts/longterm_rag.py utility (supports --status, --promote, --query).\n- Updated documentation to reflect the new long-term memory flow, storage structure, and integration with the existing M-FLOW knowledge graph system.\n- Existing directory and health scoring structures expanded to track and score long-term memory usage and coverage.\n\nv4.1.0 | 2026-04-21T03:01:51.477Z | user\n\n修复SKILL.md元数据：name/描述中文化，移除无效env声明消除缺依赖警告；bundle-search单字查询bug修复（无L3锚点时L1直接命中无法传播问题）\n\nv4.0.5 | 2026-04-20T12:41:54.583Z | user\n\nMerge dream into dream-selfimproving; remove 8 obsolete/stale patch files; full syntax validation passed\n\nv4.0.4 | 2026-04-20T11:50:17.478Z | auto\n\ndream-selfimproving v4.0.4\n\n- New: After each Dream run, distilled insights and health scores are synced to DREAMS.md for use in the native Dreaming UI.\n- SKILL.md: Updated phase descriptions and process flow to clarify DREAMS.md integration and Phase 3.\n- Minor metadata and description enhancements for improved clarity.\n- No changes to core M-FLOW architecture or distillation logic.\n\nv4.0.3 | 2026-04-19T12:38:00.776Z | auto\n\nVersion 4.0.3\n\n- Added new file: check_skill.py\n- Introduces a script or tool for skill checking or validation\n- No other feature or logic changes documented\n\nv4.0.2 | 2026-04-19T12:26:36.531Z | auto\n\n**dream-selfimproving v4.0.2 — Minor improvements and code refactor**\n\n- Updated graph-builder.py and scripts/dream.py for better maintainability.\n- Improved internal logic related to memory graph building and retrieval processes.\n- Refined interaction between memory distillation (dream.py) and graph storage.\n- Bug fixes and code clean-up for increased stability.\n\nv4.0.1 | 2026-04-19T11:23:53.539Z | auto\n\ndream-selfimproving v4.0.1\n\n- Added _meta.json metadata file for enhanced skill management.\n- Updated scripts/dream.py (details not visible here) to support latest compatibility or internal logic.\n- No user-facing feature changes.  \n- Overall structure and docs (SKILL.md) remain unchanged from v4.0.\n\nv4.0.0 | 2026-04-19T10:30:48.695Z | user\n\nv4.0: M-FLOW inverted-cone graph + Recall Store enrichment + Bundle Search + 5 brain-region architecture\n\nv3.3.0 | 2026-04-18T00:18:10.496Z | user\n\n正确的 slug 名称\n\nv3.2.0 | 2026-04-16T23:15:07.579Z | auto\n\ndream-selfimproving v3.2.0\n\n- Upgraded nightly memory distillation (`dream.py v3.2`) with full integration of recall store and hippocampus logs for unified processing.\n- Improved architecture and documentation for multi-agent and multi-file (recall store) memory distillation.\n- Added detailed explanation of brain-region collaboration and end-to-end flow, including new diagrams and audit steps.\n- Introduced references/multi-agent-team-architecture.md for extended and team scenarios.\n- Refined event weighting (Amygdala) and pattern extraction criteria for more precise topic and pattern promotion.\n- Miscellaneous documentation enhancements, clarifying directory structure and workflow phases.\n\nv3.1.0 | 2026-04-16T17:54:37.197Z | auto\n\ndream-selfimproving v3.1.0\n\n- Updated internal Python script (scripts/dream.py) for improved memory processing.\n- No user-facing changes documented in the changelog.\n- Retains the same skill architecture and documented interface.\n\nv3.0.0 | 2026-04-16T17:42:02.263Z | auto\n\n### Dream Self-Improving Skill v3.0.0\n\n- Introduced `package.json` for modern dependency and metadata management.\n- Major code revision in `scripts/dream.py` for improved memory architecture.\n- Refined documentation to clarify the 5-region brain-inspired architecture.\n- Enhanced health and importance scoring logic and documentation.\n- Improved integration notes for environment variables and SwarmRecall options.\n\nv2.9.0 | 2026-04-16T17:19:05.984Z | user\n\nv2.9.0: Scientific brain region mapping — expanded from 4 to 5 brain regions based on real neuroscience: (1) Thalamus = attention gating, (2) Amygdala = emotional tagging (corrections/high-weight), (3) Hippocampus = raw log storage, (4) Prefrontal Cortex = distillation planning + circuit breakers, (5) Locus Coeruleus = freshness signals for health scoring. Phase 1: all three work together in real-time. Phase 2: prefrontal coordinates analyst + archiver.\n\nv2.8.0 | 2026-04-16T17:14:44.975Z | user\n\nv2.8.0: Integrate brain region architecture from multi-agent collaboration article. SKILL.md now uses brain region metaphor (海马体/前额叶/分析皮层/归档区) to describe Phase 1 and Phase 2. procedures.md updated with brain region workflow, memory tiering by role, circuit breaker rules, and flow card concept.\n\nv2.7.0 | 2026-04-16T16:00:18.687Z | user\n\nv2.7.0: Fix path bug — dream.py was reading from memory/YYYY-MM-DD.md but SKILL.md documented memory/logs/YYYY/MM/YYYY-MM-DD.md. Now tries new path first, falls back to old path for backwards compatibility.\n\nv2.6.3 | 2026-04-16T15:46:27.183Z | user\n\nv2.6.3: No code change. Clarify in SKILL.md that timeoutSeconds is a runtime cron configuration (default 300s, user can adjust via openclaw cron edit), not a skill parameter.\n\nv2.6.2 | 2026-04-16T13:55:55.675Z | user\n\nRemove hardcoded Windows user path (C:\\\\Users\\\\26240\\\\...) from update-cron-date.py fallback. Now uses env vars or dynamic detection only.\n\nv2.6.1 | 2026-04-16T13:51:47.874Z | user\n\nFix update-cron-date.py: (1) defer find_openclaw() to runtime so --help works without crashing, (2) add UTF-8 encoding fallback for Windows subprocess output, (3) fix None output handling in json.loads\n\nv2.6.0 | 2026-04-16T13:49:47.623Z | user\n\nSecurity fix v2.6: (1) Declared all required env vars in SKILL.md frontmatter (OPENCLAW_WORKSPACE, OPENCLAW_BIN, OPENCLAW_SCRIPT, OPENCLAW_PATH, DREAM_MORNING_JOB_ID, DREAM_NIGHT_JOB_ID). (2) Cron editing now requires --confirm flag; defaults to dry-run for safety. (3) Added metadata.notes documenting privileged cron-edit action.\n\nv2.5.0 | 2026-04-16T12:19:42.133Z | user\n\nConsolidated: added skill integration guide noting self-improving-agent is integrated and recursive-self-improvement serves different purpose\n\nv2.4.0 | 2026-04-16T11:22:51.402Z | user\n\nIntegrated SwarmRecall as optional cloud tier. Activates only when SWARMRECALL_API_KEY is set. Adds deduplication, contradiction resolution, and server-side decay/prune via swarmrecall-api.onrender.com.\n\nv2.3.1 | 2026-04-16T10:45:53.165Z | user\n\nSecurity fix: added date format validation to prevent path traversal in dream.py --date argument\n\nv2.3.0 | 2026-04-16T09:56:17.556Z | user\n\nIntegrated openclaw-auto-dream: health scoring (5 metrics), importance scoring, archive遗忘曲线, index.json schema, procedures.md, episodes/, first dream. Combined with Claude Code KAIROS + eo-ability-dream Pattern Library.\n\nv2.2.0 | 2026-04-16T09:51:53.794Z | user\n\nIntegrated eo-ability-dream Pattern Library. Distillation now analyzes recurring errors and extracts reusable patterns.\n\nv2.1.0 | 2026-04-16T09:35:06.309Z | user\n\nIntegrated self-improving-agent .learnings/ files into distillation phase\n\nv2.0.0 | 2026-04-16T09:19:45.538Z | auto\n\nMajor update: Redesigned memory distillation with a structured two-phase system inspired by Claude Code KAIROS.\n\n- Adds nightly \"dream\" process to distill daily logs into structured topic memories with frontmatter.\n- Automatically captures and categorizes significant events, preferences, feedback, and decisions throughout the day.\n- Generates a daily dream report and updates a central MEMORY.md index with concise topic summaries.\n- Introduces cron-based automation for morning and night distillation runs.\n- Enables users to trigger the process or access reports with simple prompts (\"dream report\", \"dream\").\n\nArchive index:\n\nArchive v5.1.0: 42 files, 108451 bytes\n\nFiles: _meta.json (138b), analyze.py (781b), bundle-search.py (19253b), check_skill.py (2020b), debug_ep.py (295b), debug_parse.py (297b), extensions/__init__.py (773b), extensions/reporter/__init__.py (293b), extensions/reporter/daily_report.py (12500b), extensions/reporter/skill_report.py (9649b), extensions/skill_developer/__init__.py (246b), extensions/skill_developer/generator.py (5811b), extensions/skill_developer/quality.py (7126b), extensions/skill_developer/templates.py (5777b), extensions/skill_evolution/__init__.py (291b), extensions/skill_evolution/decay.py (9117b), extensions/skill_evolution/registry.py (7293b), extensions/skill_evolution/scorer.py (7787b), extensions/skill_explorer/__init__.py (223b), extensions/skill_explorer/gap_detector.py (28763b), extensions/skill_explorer/learner.py (8064b), extensions/work_review/__init__.py (233b), extensions/work_review/analyzer.py (6302b), extensions/work_review/planner.py (7711b), find_closes.py (1482b), find_marker.py (322b), fix_bundle.py (4612b), fix_ep_dedup.py (284b), fix_insert.py (1490b), fix_israw.py (440b), graph-builder.py (33644b), package.json (91b), references/diagnostic-checklist.md (1673b), references/hermes-openclaw-memory-sync.md (1978b), references/multi-agent-team-architecture.md (2843b), references/skill-evolution-v50.md (3360b), scripts/capability_analyzer.py (13665b), scripts/dream.py (64315b), scripts/longterm_rag.py (8084b), scripts/update-cron-date.py (6872b), skill-card.md (3011b), SKILL.md (23946b)\n\nFile v5.1.0:SKILL.md\n\n---\nname: dream-selfimproving\ndescription: \"让AI拥有进化能力——每晚自动复盘当天对话，提取洞察，更新记忆，并自动学习新技能、淘汰低频技能。越用越聪明，真正实现\"用进废退\"的自主进化。\"\nmetadata:\n  openclaw:\n    requires:\n      bins:\n        - python\n      env:\n        SWARMRECALL_API_KEY:\n          description: \"可选。云端去重/矛盾检测密钥。不设置则仅本地运行。\"\n          required: false\n    notes: |\n      运行时通过 `openclaw env get` / `openclaw cron list` 动态获取，无需预先声明环境变量。\n\n      Cron编辑：update-cron-date.py 通过 'openclaw cron edit' 修改 dream cron 作业消息。\n      ⚠️ 特权操作，需使用 --confirm 标志：python update-cron-date.py --confirm\n      详情见下方 ## 安全说明 章节。\n  meta:\n    name: \"dream-AI进化的梦之核\"\n    tagline: \"让AI每晚进化一次，越用越聪明，用进废退自主进化\"\n    category: memory\n    tags: [AI, memory, distillation, RAG, self-improving, 夜间蒸馏, 知识图谱, 用进废退, 技能进化, 全自动技能开发]\n---\n\n# Dream Self-improving — 夜间记忆蒸馏与自我进化\n\n> 🧠 **v5.1 技能进化插件** — AI自主学习、用进废退、全自动技能开发 + 完整每日汇报\n\n## 现状\n\n**Phase 3（✅ 已实现）：** OpenClaw Hook `hippocampus` 监听每条消息，实时写入 `memory/logs/`\n**Phase 3（✅ 已实现）：** `dream.py v4.x` 定时蒸馏 + M-FLOW Bundle Search检索\n**Phase 3（✅ 已实现）：** `dream.py v4.x` Long-Term RAG 长记忆层\n\n**Phase 4（✅ 已实现）：** `dream.py v5.0` 技能用进废退 + 全自动技能开发 + 完整每日汇报\n\n---\n\n## v5.1 技能进化插件（v2.0 大幅增强）\n\n### GapDetector v2.0 — 新增 SKILL.md 草稿自动生成\n\n`extensions/skill_explorer/gap_detector.py` v2.0 整合 skill-evolver 核心逻辑：\n\n| 新增方法 | 功能 |\n|---------|------|\n| `get_active_capabilities()` | 从 `~/.skill_scoreboard/scores.json` 推断用户能力需求 |\n| `scan_shared_skills()` | 扫描 `~/SharedSkills/` 所有技能清单 |\n| `detect_gaps_from_scores()` | 基于评分数据检测能力缺口（比原有任务分析更精准） |\n| `generate_skill_draft()` | 为缺口生成**完整 SKILL.md 草稿**（含触发词、使用场景、步骤、工具） |\n| `detect_and_generate()` | 一次性执行缺口检测 + 草稿生成 + 过时技能扫描 |\n\n**SKILL.md 草稿模板库**（已实现）：\n\n| 能力 | 生成的技能名 | 触发词示例 |\n|------|------------|-----------|\n| 搜索/研究 | `deep-researcher` | 帮我调研、搜索论文 |\n| 图片生成 | `image-generator` | AI画图、生成插画 |\n| 网页抓取 | `web-scraper` | 爬取数据、提取网页内容 |\n| Shell命令 | `shell-automation` | 写脚本、批处理 |\n| Git操作 | `git-assistant` | commit、PR、解决冲突 |\n| 飞书集成 | `feishu-integration` | 飞书文档、飞书消息 |\n| 视频生成 | `video-generator` | 生成视频、AI视频 |\n| 文档总结 | `doc-summarizer` | 总结文档、长文章摘要 |\n| 数据分析 | `data-analyst` | 分析数据、生成图表 |\n| PPT制作 | `ppt-generator` | 制作PPT、演示文稿 |\n| 翻译 | `translator` | 中英互译、润色英文 |\n| 通用 | `{能力英文名}` | 能力名本身 |\n\n**E6/E8 流程更新（dream.py v5.1）**：\n1. `GapDetector.detect_and_generate()` → 同时获取缺口列表 + SKILL.md 草稿\n2. 对每个高优先级缺口 → `generate_skill_draft()` 生成完整草稿\n3. 草稿直接写入 `~/SharedSkills/{skill_name}/SKILL.md`\n4. 同时创建占位脚本 `scripts/main.py`\n5. 草稿内容同步保存到每日汇报的 `skill_development.drafts` 字段\n\n**与 skill-evolver 共用数据源**：`~/.skill_scoreboard/scores.json`\n\n---\n\n## v5.0 技能进化插件（原有架构）\n\n### 五大扩展模块\n\n| 模块 | 功能 | 关键类 |\n|------|------|--------|\n| **skill_evolution** | 技能评分（调用×质量×衰减）+ 用进废退引擎 + 技能注册表 | `SkillScorer`, `DecayEngine`, `SkillRegistry` |\n| **work_review** | 工作复盘分析 + 明日计划生成 | `WorkAnalyzer`, `TomorrowPlanner` |\n| **skill_explorer** | 技能缺口检测 + 自主学习 | `GapDetector`, `SkillLearner` |\n| **skill_developer** | 全自动技能生成（AI生成+质量评估+注册） | `SkillGenerator`, `SkillQualityAssessor` |\n| **reporter** | 每日完整汇报（六大模块） | `DailyReporter`, `SkillReportGenerator` |\n\n### 用进废退评分体系\n\n技能活跃度 = 调用次数 × 质量系数 × 时间衰减\n\n| 等级 | 标识 | 分值范围 | 说明 |\n|------|------|----------|------|\n| 高度活跃 | 🔥 | ≥80 | 调用频繁，持续进化 |\n| 正常 | 📈 | 60-79 | 稳定使用 |\n| 低活跃 | 💤 | 40-59 | 使用较少，建议复习 |\n| 休眠 | 🗄️ | 20-39 | 长期未用，待激活 |\n| 已归档 | ⚰️ | <20 | 彻底停用 |\n\n**衰减规则：**\n- 30天未用：×50%\n- 90天未用：×20%\n- 180天未用：自动归档\n\n### 每日汇报（六大模块）\n\n与早7点+晚10点蒸馏同步执行，完整汇报保存为 `daily-report-YYYY-MM-DD.md`：\n\n1. **📝 今日总结** — 工作完成情况、未完成原因、阻碍因素\n2. **📋 明日计划** — 继续任务 + 新任务 + 技能开发计划\n3. **🛠️ 技能开发** — 新技能生成（AI全自动）、技能改进\n4. **📈 技能评分** — Top 10 活跃度排行 + 用进废退变化\n5. **🎯 精进点** — 学到的新东西、改进方向\n6. **💭 个人感想** — AI 自我反思\n\n### 扩展模块目录结构\n\n```\nextensions/\n├── __init__.py\n├── skill_evolution/     # 用进废退核心\n│   ├── scorer.py        # 技能评分器\n│   ├── decay.py         # 衰减引擎\n│   └── registry.py      # 技能注册表\n├── work_review/         # 工作复盘\n│   ├── analyzer.py      # 工作分析器\n│   └── planner.py       # 明日计划生成器\n├── skill_explorer/      # 技能探索\n│   ├── gap_detector.py  # 缺口检测器\n│   └── learner.py       # 技能学习器\n├── skill_developer/     # 技能开发\n│   ├── templates.py     # 技能模板库\n│   ├── generator.py     # 技能生成器\n│   └── quality.py       # 质量评估器\n└── reporter/            # 汇报生成\n    ├── daily_report.py  # 每日汇报生成器\n    └── skill_report.py  # 技能专项报告\n```\n\n---\n\n## 核心升级：Long-Term RAG\n\n参考 MetaGPT 的 RoleZeroLongTermMemory 设计，新增短长记忆合并机制：\n\n```\nshort-term-recall.json  ←  活跃recall条目（上限200条）\nmemory/.rag/longterm.jsonl  ←  老旧条目RAG存储\n```\n\n**晋升条件：**\n- 条目 age > 30天（从最后召回时间算）\n- 且 recallCount < 3（未被频繁召回）\n\n**召回流程：**\n1. 蒸馏前，从当日高权重条目提取关键词\n2. 用关键词查询 RAG，召回相关旧记忆\n3. 旧记忆注入蒸馏上下文，让 AI 知道\"之前有过什么\"\n\n**效果：** 记忆越来越精准，不像以前每次都从零开始。\n\n---\n\n## 完整链路\n\n```\n用户对话\n   ↓\nOpenClaw Hook: message:preprocessed\n   ↓\n丘脑过滤（Thalamus）→ 杏仁核标记（Amygdala）→ 海马体存储（memory/logs/）\n   ↓\ncron 触发（早7点/晚10点）\ndream.py v4.x\n   ↓\n[4.5] RAG查询 — 从当日条目提取关键词 → 查询memory/.rag/longterm.jsonl → 注入蒸馏上下文\n   ↓\nBundle Search检索（替代简单grep）\n   ↓\n杏仁核标记融合 → Auditor审计 → 分析皮层模式识别 → 前额叶蒸馏规划\n   ↓\n[4.6] RAG晋升 — 30天+未召回条目 → 写入longterm.jsonl\n   ↓\n归档区 → 真相文件写回 → 梦境报告\n```\n\n---\n\n## M-FLOW 核心架构\n\n### 倒锥知识图谱（Inverted Cone）\n\n所有记忆组织为**四层有向图**，形成倒锥结构：\n\n```\n          锥尖（容易精确命中）\n             ↓\n    ┌─────────────────────────┐\n    │  L4 Entity             │  ← 用户/项目/系统等实体节点\n    │  L3 FacetPoint         │  ← 具体属性、特征、标签\n    │  L2 Facet               │  ← 一组相关特征\n    │  L1 Episode（锥底）     │  ← 最终返回的知识单元\n    └─────────────────────────┘\n          锥底（返回给用户）\n```\n\n**搜索逻辑（Bundle Search）：**\n1. **锥尖广撒网**：查询向量化后同时在4层搜索，每个集合返回最多100个候选\n2. **投影到图中**：命中点作为入口，提取周围子图（边+邻居+连接关系）\n3. **代价传播**：沿边从锥尖向锥底传播，Episode得分 = 所有路径中最小代价\n\n**三条核心设计原则：**\n\n| 原则 | 说明 | 对应效果 |\n|------|------|---------|\n| **边携带语义** | 每条边附带自然语言描述，参与检索 | 不是被动连接，是主动语义过滤器 |\n| **路径最小代价** | 一条强证据链就足以证明相关性 | 不被无关路径稀释分数 |\n| **惩罚直接命中Episode** | 直接匹配摘要反而加惩罚 | 偏好精准锚点路径，防止宽泛匹配 |\n\n---\n\n## 脑区协同架构\n\n**① 丘脑（Thalamus）— 注意力门控**\n> 过滤纯问候/简单确认，只记录有意义的事件\n> 标记类型：event / decision / correction / completed / insight / error\n\n**② 杏仁核（Amygdala）— 情绪标记**\n> correction/error/decision/completed/insight 携带 HIGH 权重，优先蒸馏\n\n**③ 海马体（Hippocampus）— M-FLOW图存储 + RAG**\n\nPhase 1：`memory/logs/` 追加日志（Episode层）\n\nPhase 2：构建M-FLOW图结构：\n\n```\nEpisode (L1)              ← daily log / topic file\n  ↓ semantic edge\nFacet (L2)                ← grouping: correction_group, project_xxx\n  ↓ semantic edge  \nFacetPoint (L3)           ← specific tag: error.timeout, user.pref\n  ↓ semantic edge\nEntity (L4)               ← user, project, tool, skill\n```\n\n**FacetPoint** = type + topic + keywords 的向量描述（向量化后参与Bundle Search）\n**语义边描述** = \"这个FacetPoint为什么属于这个Episode\" 的自然语言说明\n\n**④ 前额叶（Prefrontal Cortex）— Bundle Search + RAG召回 + 蒸馏规划**\n\nBundle Search检索替代简单grep：\n```\n查询 → 向量化 → 4层锥形搜索 → 代价传播 → 最小路径Episode\n```\n\nRAG召回（v4.x新增）：\n```\n当日关键词 → 查询longterm.jsonl → 召回相关旧记忆 → 注入蒸馏上下文\n```\n\n**⑤ 蓝斑核（Locus Coeruleus）— 警觉与新鲜度信号**\n> freshness分数——最近被提及的记忆权重更高\n\n---\n\n## Long-Term RAG Layer 详解\n\n### 存储结构\n\n```\nmemory/\n├── .dreams/\n│   └── short-term-recall.json   # 活跃recall条目（上限200条）\n└── .rag/\n    └── longterm.jsonl          # 老旧条目RAG存储（JSONL格式）\n```\n\n### 晋升机制\n\n```python\n# 晋升条件\nif age_days > 30 and recall_count < 3:\n    promote_to_longterm_rag(entry)\n```\n\n### 召回机制\n\n```python\n# 蒸馏前\nkeywords = [v['snippet'][:100] for v in tagged.values()][:20]\nquery = ' '.join(keywords[:5])\nrag_results = query_longterm_rag(query, k=5)\n\n# 召回结果注入蒸馏上下文\nlearnings['LEARNINGS.md'] += f\"\\n\\n## Long-Term Memory (RAG)\\n{rag_text}\"\n```\n\n### 手动命令\n\n```bash\n# 查看短/长记忆状态\npython skills/dream-selfimproving/scripts/longterm_rag.py --status\n\n# 手动晋升老条目\npython skills/dream-selfimproving/scripts/longterm_rag.py --promote\n\n# 搜索长记忆\npython skills/dream-selfimproving/scripts/longterm_rag.py --query \"关键词\"\n```\n\n---\n\n## Pattern Library\n\nPatterns are reusable response templates extracted from recurring learnings:\n\n```\nmemory/patterns/\n└── p-xxx.md           # Pattern files with trigger + response\n```\n\n**Pattern格式（含M-FLOW元数据）：**\n\n```yaml\n---\nname: pattern名称\ntrigger: 什么情况下触发\nresponse: 如何响应\nexamples: [案例1, 案例2]\ncreated: YYYY-MM-DD\nupdated: YYYY-MM-DD\n# M-FLOW 元数据\nentity: pattern          # L4 Entity\nfacets: [tag1, tag2]    # L3 FacetPoints\nepisode_id: p-xxx        # L1 Episode\n---\n```\n\n---\n\n## Memory Taxonomy & M-FLOW映射\n\n| Memory Type | L4 Entity | L3 FacetPoints | L1 Episode |\n|------------|-----------|-----------------|--------------|\n| **user** | user.luyi | role, pref, goal, communication_style | topics/user_*.md |\n| **feedback** | feedback | correction, error, insight, confirmation | topics/feedback_*.md |\n| **project** | project.{name} | decision, tool, deadline, context | topics/project_*.md |\n| **reference** | reference | credential, link, skill, system | topics/reference_*.md |\n| **longterm** | (RAG) | aged, promoted | .rag/longterm.jsonl |\n\n---\n\n## Directory Structure (v4.x)\n\n```\nmemory/\n├── graph/                         # M-FLOW 知识图谱\n│   ├── entities.json              # L4 Entity 节点列表\n│   ├── facetpoints.json           # L3 FacetPoint 节点列表\n│   ├── facets.json                # L2 Facet 节点列表\n│   ├── episodes.json              # L1 Episode 节点列表\n│   ├── edges.json                 # 语义边（含描述文本）\n│   └── index.json                 # 图索引 + 向量锚点\n├── logs/\n│   └── YYYY/MM/YYYY-MM-DD.md     # Daily append-only logs (Episode)\n├── topics/                        # Distilled topic memories\n│   ├── user_xxx.md\n│   ├── feedback_xxx.md\n│   ├── project_xxx.md\n│   └── reference_xxx.md\n├── patterns/                      # Pattern Library\n│   └── p-xxx.md\n├── episodes/                      # Project narratives\n├── .dreams/\n│   └── short-term-recall.json     # 活跃recall条目（上限200条）\n├── .rag/\n│   └── longterm.jsonl             # Long-Term RAG（v4.x新增）\n├── procedures.md                  # Workflow preferences\n├── archive.md                     # Compressed old entries\n├── dream-log.md                   # Dream cycle reports\n└── MEMORY.md                      # INDEX only\n\n.learnings/                        # self-improving-agent\n├── LEARNINGS.md\n├── ERRORS.md\n└── FEATURE_REQUESTS.md\n```\n\n---\n\n## Health Score (v4.x)\n\n| Metric | Weight | Formula |\n|--------|--------|---------|\n| Freshness | 0.20 | entries_referenced_last_30_days / total |\n| Coverage | 0.20 | categories_updated_last_14_days / 10 |\n| Coherence | 0.20 | entries_with_semantic_edges / total |\n| **Graph Connectivity** | 0.20 | connected_components_ratio |\n| Efficiency | 0.10 | max(0, 1 - line_count/500) |\n| Reachability | 0.10 | Bundle Search路径覆盖率 |\n\n---\n\n## Dream Distillation Steps (v5.0)\n\nWhen cron triggers:\n\n1. **Bundle Search预热**：用今日日志构建临时图结构，快速验证图连通性\n2. Read `memory/logs/{date}.md`\n3. Read `.learnings/LEARNINGS.md`, `.learnings/ERRORS.md`, `.learnings/FEATURE_REQUESTS.md`\n4. Read `MEMORY.md`, topic files, `graph/index.json`, `procedures.md` for context\n5. **Snapshot BEFORE**: count entries, decisions, lessons, procedures\n6. **[4.x] 技能积分榜读取**：调用 `score_tracker.py today`，获取今日技能王 + 调用统计，注入蒸馏上下文\n7. **[4.5] RAG召回**：从当日条目提取关键词 → 查询longterm.jsonl → 注入蒸馏上下文\n8. **图增强检索**：对每个learnings entry执行Bundle Search，找到相关Episode\n9. **Distillation Agent**: Run sub-agent on raw entries + learnings + RAG results → produce:\n   - 3-5 genuine insights (\"I learned that...\")\n   - 1-3 tomorrow action items\n   - 0-3 topic files to write to `memory/topics/`\n   - Health metric interpretation\n   - 技能积分榜洞察（若有数据）\n10. **[4.6] RAG晋升**：30天+未召回条目 → 写入longterm.jsonl\n11. **更新图结构**：\n    - 新Episode写入 `graph/episodes.json`\n    - 新FacetPoint写入 `graph/facetpoints.json`\n    - 新边写入 `graph/edges.json`（含语义描述）\n12. Write topic files (from Distillation Agent output)\n13. Update truth files (`user_state.md`, `pending.md`)\n14. Update `graph/index.json` entry metadata + 重新计算向量锚点\n15. Compute health metrics → update `graph/index.json` stats\n16. Archive eligible entries → append to `archive.md`\n17. Update `MEMORY.md` index (max 200 lines)\n18. **Snapshot AFTER**: calculate deltas\n19. Write dream report to `memory/dreams/{date}.md` and `dream-log.md`\n20. **v5.0 技能扩展模块**：执行 skill_evolution + work_review + skill_explorer + skill_developer + reporter\n21. **v5.0 每日汇报**：生成 `daily-report-{date}.md` 完整六大模块汇报\n22. **[Optional SwarmRecall]**: 如果配置了API key，执行云端图同步\n\n---\n\n## Dream Report Format (v5.0)\n\n```markdown\n# 🌙 Dream Report — {date}\n\n## 🧠 系统状态\n- 原始日志条目 | recall store 总数 | Auditor AI味 | 蓝斑核健康\n\n## 🫀 蓝斑核健康评分 (v4.0 M-FLOW)\n- 新鲜度 | 连贯性 | 覆盖度 | 图连通性 | 效率 | 可达性\n\n## 🧠 M-FLOW 知识图谱状态\n- L4 Entity | L3 FacetPoint | L1 Episode | 语义边\n- Bundle Search 结果\n\n## 🏆 技能积分榜（v4.x 新增）\n- 今日技能王 + 调用次数 + 积分\n- 原始榜单摘要（若有数据；无数据时此节不显示）\n\n## 💡 我学到了\n- {genuine insight 1（含技能积分洞察）}\n- {genuine insight 2}\n\n## 🎯 明日重点\n- {actionable item 1}\n- {actionable item 2}\n\n## 🔁 重复模式（≥3次）\n## 🗄️ 归档候选\n## Patterns Updated\n```\n\n---\n\n## User Prompts\n\n- \"dream report\" / \"梦境报告\" → read and display latest dream report\n- \"dream\" / \"做梦\" → run distillation now\n- \"/dream status\" → show M-FLOW graph stats, health score, pattern count\n- \"/dream search {query}\" → run Bundle Search and show top results\n- \"/dream rag status\" → show RAG status (from longterm_rag.py)\n\n---\n\n---\n\n## 🔒 安全说明\n\n### update-cron-date.py 的 --confirm 标志\n\n此脚本用于修改 OpenClaw cron 作业，属于**特权操作**。\n\n- `--confirm` 标志是安全机制，防止意外执行\n- 无此标志时，脚本只显示将要做什么但不会实际修改\n- 使用前请确保您了解 cron 作业的当前状态：\n  ```bash\n  openclaw cron list\n  ```\n\n### SWARMRECALL_API_KEY 环境变量\n\n- **声明位置：** `metadata.openclaw.requires.env.SWARMRECALL_API_KEY`\n- **用途：** 可选。云端去重/矛盾检测（需连接 SwarmRecall 服务）\n- **默认值：** 不设置则仅本地运行，无云端功能\n- **获取方式：** 向 SwarmRecall 服务注册获取\n\n### 文件访问范围\n\n此技能会访问和修改以下位置的文件：\n- `~/.openclaw/workspace/memory/logs/` — 对话日志\n- `~/.openclaw/workspace/memory/.dreams/` — 梦境报告\n- `~/.openclaw/workspace/memory/.rag/` — 长记忆 RAG 存储\n- `~/.openclaw/workspace/memory/.truth/` — 真相文件\n- `~/.openclaw/workspace/memory/.learnings/` — 学习记录\n- `~/.openclaw/hooks/hippocampus/` — Hook 配置\n- OpenClaw cron 条目（通过 update-cron-date.py）\n\n**诊断参考：** `references/diagnostic-checklist.md` — 快速健康检查命令清单\n\n---\n\n## Known Issues & Pitfalls\n\n### 月份目录不存在导致日志静默丢失\n\n**问题现象：**\n- `memory/logs/YYYY/MM/` 月份目录不存在时，`append_to_log()` 会静默失败（不抛异常）\n- `mkdir(parents=True, exist_ok=True)` 只创建最后一级目录；如果 `YYYY/` 存在但 `MM/` 不存在，且代码写的是 `mkdir(\"2026/05\", parents=True)` → 不会创建 `2026/` 本身\n- 实际路径行为：第 3 行 `log_dir = LOGS_DIR / year / month` 后直接 `ensure_dir(log_dir)`，如果 `2026/` 存在但 `05/` 不存在 → 正常创建；**但如果整个 `YYYY/` 不存在则失败**\n\n**排查：**\n```bash\nls -la ~/.openclaw/workspace/memory/logs/2026/\n# 如果 05/ 目录不存在，说明本月还没有消息被记录\n```\n\n**手动修复：**\n```bash\nmkdir -p ~/.openclaw/workspace/memory/logs/2026/05\n```\n\n### Cron 定时任务可能不按时执行\n\n**问题现象：**\n- 梦境报告时间戳显示 `generated_at` 与日志日期不匹配\n- 例如：4/30 的日志缺失，但 5/1 00:54 生成的快照实际记录的是 4/29 数据\n- Cron list 为空但记忆里记录了 cron 任务（配置不在 Hermes 这边）\n\n**排查步骤：**\n1. 检查 `~/.skill_scoreboard/daily/` 文件时间戳是否连续\n2. 检查 `~/.hermes/cron/output/` 是否有对应日志\n3. 通过 `openclaw cron list` 确认实际 cron 配置（如果 openclaw CLI 可用）\n4. 如果 cron list 为空但快照在跑 → 任务配置在 OpenClaw 平台端，不在本地\n\n### 浏览器访问问题\n\n**问题：** 在 WSL 环境中访问 `localhost:3012`（OpenClaw-Admin）可能失败，Chrome 报错 `libnspr4.so: cannot open shared object file`\n\n**解决：** 不依赖浏览器，用 API 直接调 OpenClaw：\n```bash\n# 查看 cron 任务\nopenclaw cron list\n\n# 查看环境变量\nopenclaw env get\n```\n\n### 404 错误溯源\n\n**场景：** 飞书消息后出现 \"Auxiliary title generation failed: HTTP 404\"，用户不知道来源\n\n**排查方向：**\n1. 检查 Hermes cron output 日志 (`~/.hermes/cron/output/`)\n2. 检查 skill-scoreboard 快照是否在那个时间点生成\n3. 检查 OpenClaw Gateway 内部是否有辅助标题生成的定时任务\n4. 如果 cron list 为空 → 任务在 OpenClaw 平台端而非本地\n\n## Scripts\n\n- `dream.py` — Phase 2 蒸馏脚本（v4.x，M-FLOW Bundle Search + RAG召回/晋升 + 技能积分榜融合）\n- `update-cron-date.py` — 每日 cron 日期注入 ⚠️ 特权操作，需 --confirm\n- `graph-builder.py` — 从日志构建M-FLOW图结构\n- `bundle-search.py` — Bundle Search检索实现\n- `longterm_rag.py` — Long-Term RAG 管理脚本（v4.x新增）\n\n> dream.py 蒸馏前自动调用 `~/SharedSkills/skill-scoreboard/scripts/score_tracker.py today`，将今日技能王 + 积分注入蒸馏上下文和梦境报告，无需额外配置。\n\n---\n\n## Phase 1 启用（hippocampus hook）\n\n**Hook 目录：** `~/.openclaw/hooks/hippocampus/`\n**已配置：** `openclaw.json` 中 `hooks.internal.entries.hippocampus: enabled: true`\n\n**功能：** 监听 `message:preprocessed` 事件，自动记录对话到 `memory/logs/YYYY/MM/YYYY-MM-DD.md`\n\n**丘脑过滤规则：**\n- 纯问候 / 简单确认（<20字）不记录\n- 高权重标记：correction / error / decision / completed / insight\n\n重启 gateway 后生效：\n```bash\nschtasks /run /tn \"OpenClaw Gateway\"\n```\n\n---\n\n## M-FLOW vs 旧架构对比\n\n| 维度 | 旧架构（平坦检索） | M-FLOW（倒锥图路由） |\n|------|-------------------|----------------------|\n| **存储结构** | 平面文件列表 | 四层有向图 |\n| **检索方式** | grep / 向量相似度 | Bundle Search代价传播 |\n| **关系表示** | 简单link引用 | 带语义描述的边 |\n| **短长记忆** | 无分层 | 30天老化晋升RAG |\n\n---\n\n### OpenClaw ↔ Hermes 记忆同步\n- 脚本位置：`~/.hermes/scripts/sync_openclaw_memory.py`\n- 功能：双向桥接 OpenClaw sqlite 记忆库与 Hermes 扁平记忆文件\n- 使用：`python3 ~/.hermes/scripts/sync_openclaw_memory.py [--dry-run]`\n- 详情见 `references/hermes-openclaw-memory-sync.md`\n\n## 与MetaGPT对比\n\n| 维度 | MetaGPT RoleZeroLongTermMemory | Dream Long-Term RAG |\n|------|-------------------------------|---------------------|\n| **RAG引擎** | Chroma + LLMRanker | JSONL + 关键词匹配 |\n| **召回触发** | memory_k 溢出 或 用户需求 | 每次蒸馏前 |\n| **晋升条件** | count > memory_k | age > 30天 且 recallCount < 3 |\n| **向量化** | embedding 模型 | 词袋模型（简化版） |\n| **复杂度** | 依赖 Chroma/llama-index | 纯 Python，无外部依赖 |\n\nFile v5.1.0:_meta.json\n\n{\n  \"ownerId\": \"kn75g2sw7ssvtwkxyw4pce8t3d84mna2\",\n  \"slug\": \"dream-selfimproving\",\n  \"version\": \"5.1.0\",\n  \"publishedAt\": 1777815008603\n}\n\nFile v5.1.0:references/diagnostic-checklist.md\n\n# Dream Self-Improving — Diagnostic Checklist\n\n## 快速健康检查\n\n```bash\n# 1. Cron 任务状态（OpenClaw 侧）\ncat ~/.openclaw/cron/jobs.json | python3 -c \"\nimport json, sys\njobs = json.load(sys.stdin)['jobs']\nfor j in jobs:\n    if '梦境' in j.get('name', ''):\n        s = j.get('state', {})\n        print(f\\\"{j['name']}: last={s.get('lastRunStatus')}, consecutive={s.get('consecutiveErrors')}\\\")\n\"\n\n# 2. 本月日志目录是否存在\nls -la ~/.openclaw/workspace/memory/logs/2026/\n\n# 3. Hippocampus hook 是否在监听\nls -la ~/.openclaw/hooks/hippocampus/hook.py\n\n# 4. 最近的梦境报告\nls -lt ~/.openclaw/workspace/memory/dreams/ | head -5\n\n# 5. M-FLOW 图状态\ncat ~/.openclaw/workspace/memory/graph/index.json 2>/dev/null | python3 -m json.tool | head -20\n\n# 6. RAG 状态\npython3 ~/SharedSkills/dream-selfimproving/scripts/longterm_rag.py --status\n```\n\n## 常见失败模式\n\n| 症状 | 原因 | 修复 |\n|------|------|------|\n| 梦境报告条目全是0 | 本月日志目录不存在 | `mkdir -p ~/.openclaw/workspace/memory/logs/2026/05` |\n| Cron 显示 interrupted | Gateway 重启中断了运行中任务 | 下次自动重试，无需手动修复 |\n| consecutiveErrors > 0 | 任务超时或被中断 | 检查 `~/.openclaw/cron/runs/` 日志 |\n| 蓝斑核健康 0/100 | 没有新日志/recall store 为空 | 正常现象，新的一天开始时会恢复 |\n\n## Cron Jobs（当前配置）\n\n| ID | 名称 | 时间 | 上次状态 |\n|----|------|------|---------|\n| eeb00ae0 | 梦境技能-早间蒸馏 | 07:00 | error (gateway 重启) |\n| fc30089a | 梦境技能-晚间蒸馏 | 22:00 | ok |\n| b00b50fc | 每日技能积分榜快照 | 23:00 | ok |\n\nFile v5.1.0:references/hermes-openclaw-memory-sync.md\n\n# OpenClaw ↔ Hermes 记忆同步\n\n## 背景\n\nHermes 和 OpenClaw 各有独立的记忆系统：\n- **Hermes**: `~/.hermes/memories/MEMORY.md` + `USER.md`\n- **OpenClaw**: `~/.openclaw/memory/main.sqlite` (chunks 表，向量+RAG)\n\n两者内容有重叠但不完全相同，存在信息不对称。\n\n## 同步脚本\n\n位置：`~/.hermes/scripts/sync_openclaw_memory.py`\n\n功能：从 OpenClaw sqlite 提取 Hermes 没有的记忆，写入 Hermes 记忆文件。\n\n```bash\n# 预览同步内容（不写入）\npython3 ~/.hermes/scripts/sync_openclaw_memory.py --dry-run\n\n# 执行同步\npython3 ~/.hermes/scripts/sync_openclaw_memory.py\n```\n\n### 同步逻辑\n\n1. 读取 `~/.openclaw/memory/main.sqlite` 的 `chunks` 表（source='memory'）\n2. 按 path 去重，取最新版本\n3. 对每个文件类型（MEMORY.md、truth 文件等）提取内容\n4. 检查 Hermes 记忆是否已包含该内容\n5. 补充缺失章节到 `~/.hermes/memories/MEMORY.md` 和 `USER.md`\n\n### 已同步内容（2026-04-29）\n\n| 信息类型 | 来源 | 目标 |\n|---------|------|------|\n| 陛下开发的技能列表 | OpenClaw MEMORY.md | Hermes USER.md |\n| OpenClaw-Admin 地址/账号 | OpenClaw MEMORY.md | Hermes USER.md |\n| 技能积分榜系统配置 | OpenClaw MEMORY.md | Hermes USER.md |\n| Cron 任务配置 | OpenClaw MEMORY.md | Hermes MEMORY.md |\n\n## 局限性\n\n1. **单向同步**：目前只从 OpenClaw → Hermes，没有反向同步\n2. **手动触发**：需要手动运行脚本，未加入自动 cron\n3. **仅同步 memory chunks**：不包括 OpenClaw 各 agent 的独立 sqlite（xiao.sqlite、main.sqlite 等）\n\n## 改进方向\n\n1. **定时自动同步**：加入每日 cron（建议在晚间蒸馏前执行）\n2. **反向同步**：将 Hermes MEMORY.md 的重要更新写回 OpenClaw\n3. **多 agent sqlite 整合**：读取 xiao.sqlite、content-reviewer.sqlite 等获取更多 agent 视角的记忆\n4. **差异告警**：如果两边对同一事实的记录矛盾，告警通知\n\nFile v5.1.0:references/multi-agent-team-architecture.md\n\n# 多 Agent 团队架构参考\n\n> 来源：OpenClaw 搭建 6 人团队，它开始自己转起来了\n> 作者：yabin\n> 链接：https://mp.weixin.qq.com/s/D33ScqwgpjiwI4PDN3vUaA\n> 抓取时间：2026-04-17\n\n## 核心架构\n\n```\n同一飞书机器人（一个前台号码）\n  ↓ 按群聊 ID 路由\n开发群 → main agent\n产品群 → product-claw\n测试群 → qa-claw\n调研群 → research-claw\n数据分析群 → analytics-claw\n运营群 → ops-claw\n```\n\n每个 agent 有独立 workspace，上下文件隔离，形成闭环飞轮：\n```\nresearch → product → dev → qa → analytics → ops → 下一轮\n```\n\n## 关键结论\n\n### 1. 不拆 workspace，多 agent 很容易只是幻觉\n- 不同角色的长期记忆不会混在一起\n- 本地 skill、模板、文档可以按角色分别放\n- 同一个飞书机器人进来的消息，最终会落进不同工作目录\n\n### 2. 角色文件必须落到角色边界上\n每个 agent 独立配置：\n- AGENTS.md、IDENTITY.md、SOUL.md、USER.md、TOOLS.md、MEMORY.md\n\n### 3. 产品 agent 特别值得挂方法库\n开发 agent 靠代码库天然有上下文，产品 agent 没有方法库的话很容易退化成\"会写点文档的通用聊天机器人\"。\n\n### 4. 路由方式选择\n- 按群聊 peer-id 路由是最自然的形态\n- 人在协作里本来就已按群在分场景\n\n### 5. 专人助手式的 agent，交互摩擦一定要足够低\n- 如果机器人是共享工具，那 @ 一下很合理\n- 如果机器人是专属群的长期助手，每次都 @ 一下就很蠢\n\n## OpenClaw 飞书插件 Bug（已发现）\n\n1. **机器人名字**不是在 OpenClaw 里改，而是在飞书开放平台的 Bot 能力页改\n   - appId/appSecret 解决\"这个机器人是谁\"\n   - Bot 显示名解决\"别人看到它叫什么\"\n\n2. **requireMention per-group 配置无效**\n   - 文档支持 `groups.<id>.requireMention`\n   - 配置 schema 也支持\n   - 但运行时代码只读了全局 `channels.feishu-china.requireMention`\n   - per-group 覆盖配置根本没被用上\n\n## 方案边界\n\n解决的是：\n- 角色分工\n- 上下文隔离\n- 单机器人多场景协作\n\n没有解决的是：\n- 容器级强安全隔离\n- 多套全局凭证隔离\n- 多飞书机器人并行的插件级支持\n\n本质：同一个 gateway 进程、同一个 OpenClaw 实例、同一套全局配置。\n是「角色隔离 + 上下文隔离」，不是「基础设施级彻底隔离」。\n\n## 实践要点\n\n1. 默认开发 agent 尽量保留 main（兼容性现实）\n2. 多 agent 的关键不是多写几个 id，而是拆 workspace\n3. 人格文件必须和 AGENTS.md、TOOLS.md、MEMORY.md 一起工作\n4. 产品 agent 特别值得挂方法库\n5. 同一个飞书机器人按群路由是最顺手的形态\n6. 如果配置明明对了但不工作，第一时间去看运行时日志，不要先怀疑自己\n\nFile v5.1.0:references/skill-evolution-v50.md\n\n# 技能进化插件 v5.0 — 扩展模块参考\n\n## 模块依赖关系\n\n```\ndream.py (主流程)\n    │\n    ├── [E1] work_review.WorkAnalyzer      # 工作复盘分析\n    │         └── TomorrowPlanner           # 明日计划生成\n    │\n    ├── [E2] skill_evolution.SkillScorer   # 技能评分\n    │\n    ├── [E3] skill_evolution.DecayEngine  # 用进废退衰减\n    │\n    ├── [E4] skill_evolution.SkillRegistry # 技能注册表更新\n    │\n    ├── [E5] work_review.TomorrowPlanner   # 明日计划（依赖E1+E2）\n    │\n    ├── [E6] skill_explorer.GapDetector   # 技能缺口检测\n    │         └── SkillLearner             # 自主学习\n    │\n    ├── [E7] skill_developer.SkillGenerator # 技能全自动生成\n    │         ├── SkillTemplates           # 技能模板库\n    │         └── SkillQualityAssessor     # 质量评估\n    │\n    └── [E8] reporter.DailyReporter        # 每日汇报生成\n              └── SkillReportGenerator     # 技能专项报告\n```\n\n## 技能评分公式\n\n```python\ntotal_score = (\n    frequency_score * 0.4 +    # 调用频率（对数衰减）\n    recency_score * 0.3 +      # 最近使用时间\n    success_score * 0.3        # 成功率\n) * decay_factor\n\n# 时间衰减因子\nif days_since_call > 180: decay_factor = 0.0   # 归档\nelif days_since_call > 90:  decay_factor = 0.2\nelif days_since_call > 30:  decay_factor = 0.5\nelse:                       decay_factor = 1.0\n```\n\n## 数据存储路径\n\n```\n~/.openclaw/workspace/\n└── memory/\n    ├── dreams/\n    │   ├── 2026-05-03.md              # 梦境报告\n    │   └── daily-report-2026-05-03.md # 每日完整汇报\n    └── ...\n\n~/.skill_scoreboard/\n└── scores.json                        # 技能积分榜数据\n```\n\n## skill_scoreboard 数据结构\n\n```json\n{\n  \"skills\": {\n    \"weather\": {\n      \"total_count\": 4,\n      \"total_score\": 54.12,\n      \"last_used\": \"2026-04-29T...\",\n      \"last_score\": 54.12,\n      \"quality_score\": 1.0\n    }\n  }\n}\n```\n\n## 技能等级阈值\n\n```python\nTIER_THRESHOLDS = {\n    '🔥': 80,   # 高度活跃\n    '📈': 60,   # 正常\n    '💤': 40,   # 低活跃\n    '🗄️': 20,   # 休眠\n    '⚰️': 0,    # 已归档\n}\n```\n\n## 技能生成触发条件\n\n当 `GapDetector` 检测到以下情况时，触发 `SkillGenerator`：\n\n1. 用户需求与现有技能不匹配（相似度 < 0.6）\n2. 某类任务频繁出现但无对应技能\n3. 技能缺口被重复识别（同一缺口出现 ≥3 次）\n4. 新领域探索任务需要系统性支持\n\n## 汇报模板（六大模块）\n\n```\n📊 每日汇报 — {date}\n═══════════════════════════════════\n\n## 📝 今日总结\n### 工作完成情况\n### 完成的任务 (N项)\n### 未完成的任务 (N项)\n### 阻碍因素\n\n## 📋 明日计划\n### 继续任务\n### 新增任务\n### 技能开发计划\n### 执行优先级\n\n## 🛠️ 技能开发\n### 新开发的技能\n### 技能改进\n### 开发理由\n\n## 📈 技能评分（用进废退）\n### 技能活跃度排行\n### 技能状态分布\n### 需关注的技能\n### 用进废退记录\n\n## 🎯 精进点\n### 今日学到的新东西\n### 需要改进的地方\n### 明日行动项\n\n## 💭 个人感想\n```\n\nFile v5.1.0:skill-card.md\n\n## Description:\n\nDream Selfimproving helps an OpenClaw agent review conversations, distill long-term memory, generate daily reports, score skill usage, and draft new skills from capability gaps.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[luis1213899](https://clawhub.ai/user/luis1213899)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and OpenClaw users use this skill to maintain persistent agent memory, run scheduled memory distillation, review work, and generate skill-improvement drafts. It is intended for agents that manage local workspace state and produce operational reports or skill files.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill can retain conversation history and write long-term memory summaries that may include sensitive details.\n\nMitigation: Review memory directories and remove credentials, account details, or private user data before enabling scheduled runs or sharing generated reports.\n\nRisk: The skill can edit OpenClaw cron jobs and scheduler messages.\n\nMitigation: Use the documented dry-run behavior first and require the explicit --confirm flag only after checking the current OpenClaw cron configuration.\n\nRisk: The skill can generate new skill drafts and files under SharedSkills, which could introduce incorrect instructions or unsafe automation.\n\nMitigation: Review, test, and scan generated skill drafts before installing or invoking them.\n\nRisk: Optional cloud synchronization may send memory-derived content to SwarmRecall when SWARMRECALL_API_KEY is configured.\n\nMitigation: Leave SWARMRECALL_API_KEY unset for local-only operation, or review synced memory content and service terms before configuring the key.\n\n## Reference(s):\n\n- [Diagnostic Checklist](references/diagnostic-checklist.md)\n- [OpenClaw-Hermes Memory Sync](references/hermes-openclaw-memory-sync.md)\n- [Multi-Agent Team Architecture](references/multi-agent-team-architecture.md)\n- [Skill Evolution v5.0](references/skill-evolution-v50.md)\n- [OpenClaw multi-agent team article](https://mp.weixin.qq.com/s/D33ScqwgpjiwI4PDN3vUaA)\n- [ClawHub skill page](https://clawhub.ai/luis1213899/skills/dream-selfimproving)\n\n## Skill Output:\n\n**Output Type(s):** [Text, Markdown, Code, Shell commands, Configuration, Guidance]\n\n**Output Format:** [Markdown reports, JSON memory files, generated SKILL.md drafts, Python scripts, and shell command guidance]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Writes local OpenClaw memory, report, graph, registry, cron-related, and SharedSkills files when invoked with the relevant commands.]\n\n## Skill Version(s):\n\n5.1.0 (source: server release evidence; artifact package.json reports 4.0.4)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v5.1.0:package.json\n\n{\n  \"name\": \"dream\",\n  \"version\": \"4.0.4\",\n  \"description\": \"Dream self-evolution skill\"\n}\n\nArchive v5.0.1: 41 files, 99102 bytes\n\nFiles: _meta.json (138b), analyze.py (781b), bundle-search.py (19253b), check_skill.py (2020b), debug_ep.py (295b), debug_parse.py (297b), extensions/__init__.py (773b), extensions/reporter/__init__.py (293b), extensions/reporter/daily_report.py (12500b), extensions/reporter/skill_report.py (9649b), extensions/skill_developer/__init__.py (246b), extensions/skill_developer/generator.py (5811b), extensions/skill_developer/quality.py (7126b), extensions/skill_developer/templates.py (5777b), extensions/skill_evolution/__init__.py (291b), extensions/skill_evolution/decay.py (9117b), extensions/skill_evolution/registry.py (7293b), extensions/skill_evolution/scorer.py (7787b), extensions/skill_explorer/__init__.py (223b), extensions/skill_explorer/gap_detector.py (8229b), extensions/skill_explorer/learner.py (8064b), extensions/work_review/__init__.py (233b), extensions/work_review/analyzer.py (6302b), extensions/work_review/planner.py (7711b), find_closes.py (1482b), find_marker.py (322b), fix_bundle.py (4612b), fix_ep_dedup.py (284b), fix_insert.py (1490b), fix_israw.py (440b), graph-builder.py (33644b), package.json (91b), references/diagnostic-checklist.md (1673b), references/hermes-openclaw-memory-sync.md (1978b), references/multi-agent-team-architecture.md (2843b), references/skill-evolution-v50.md (3360b), scripts/capability_analyzer.py (13665b), scripts/dream.py (63021b), scripts/longterm_rag.py (8084b), scripts/update-cron-date.py (6872b), SKILL.md (21823b)\n\nFile v5.0.1:SKILL.md\n\n---\nname: dream-selfimproving\ndescription: \"让AI拥有进化能力——每晚自动复盘当天对话，提取洞察，更新记忆，并自动学习新技能、淘汰低频技能。越用越聪明，真正实现\"用进废退\"的自主进化。\"\nmetadata:\n  openclaw:\n    requires:\n      bins:\n        - python\n      env:\n        SWARMRECALL_API_KEY:\n          description: \"可选。云端去重/矛盾检测密钥。不设置则仅本地运行。\"\n          required: false\n    notes: |\n      运行时通过 `openclaw env get` / `openclaw cron list` 动态获取，无需预先声明环境变量。\n\n      Cron编辑：update-cron-date.py 通过 'openclaw cron edit' 修改 dream cron 作业消息。\n      ⚠️ 特权操作，需使用 --confirm 标志：python update-cron-date.py --confirm\n      详情见下方 ## 安全说明 章节。\n  meta:\n    name: \"dream-AI进化的梦之核\"\n    tagline: \"让AI每晚进化一次，越用越聪明，用进废退自主进化\"\n    category: memory\n    tags: [AI, memory, distillation, RAG, self-improving, 夜间蒸馏, 知识图谱, 用进废退, 技能进化, 全自动技能开发]\n---\n\n# Dream Self-improving — 夜间记忆蒸馏与自我进化\n\n> 🧠 **v5.0 技能进化插件** — AI自主学习、用进废退、全自动技能开发 + 完整每日汇报\n\n## 现状\n\n**Phase 3（✅ 已实现）：** OpenClaw Hook `hippocampus` 监听每条消息，实时写入 `memory/logs/`\n**Phase 3（✅ 已实现）：** `dream.py v4.x` 定时蒸馏 + M-FLOW Bundle Search检索\n**Phase 3（✅ 已实现）：** `dream.py v4.x` Long-Term RAG 长记忆层\n\n**Phase 4（✅ 已实现）：** `dream.py v5.0` 技能用进废退 + 全自动技能开发 + 完整每日汇报\n\n---\n\n## v5.0 技能进化插件\n\n### 五大扩展模块\n\n| 模块 | 功能 | 关键类 |\n|------|------|--------|\n| **skill_evolution** | 技能评分（调用×质量×衰减）+ 用进废退引擎 + 技能注册表 | `SkillScorer`, `DecayEngine`, `SkillRegistry` |\n| **work_review** | 工作复盘分析 + 明日计划生成 | `WorkAnalyzer`, `TomorrowPlanner` |\n| **skill_explorer** | 技能缺口检测 + 自主学习 | `GapDetector`, `SkillLearner` |\n| **skill_developer** | 全自动技能生成（AI生成+质量评估+注册） | `SkillGenerator`, `SkillQualityAssessor` |\n| **reporter** | 每日完整汇报（六大模块） | `DailyReporter`, `SkillReportGenerator` |\n\n### 用进废退评分体系\n\n技能活跃度 = 调用次数 × 质量系数 × 时间衰减\n\n| 等级 | 标识 | 分值范围 | 说明 |\n|------|------|----------|------|\n| 高度活跃 | 🔥 | ≥80 | 调用频繁，持续进化 |\n| 正常 | 📈 | 60-79 | 稳定使用 |\n| 低活跃 | 💤 | 40-59 | 使用较少，建议复习 |\n| 休眠 | 🗄️ | 20-39 | 长期未用，待激活 |\n| 已归档 | ⚰️ | <20 | 彻底停用 |\n\n**衰减规则：**\n- 30天未用：×50%\n- 90天未用：×20%\n- 180天未用：自动归档\n\n### 每日汇报（六大模块）\n\n与早7点+晚10点蒸馏同步执行，完整汇报保存为 `daily-report-YYYY-MM-DD.md`：\n\n1. **📝 今日总结** — 工作完成情况、未完成原因、阻碍因素\n2. **📋 明日计划** — 继续任务 + 新任务 + 技能开发计划\n3. **🛠️ 技能开发** — 新技能生成（AI全自动）、技能改进\n4. **📈 技能评分** — Top 10 活跃度排行 + 用进废退变化\n5. **🎯 精进点** — 学到的新东西、改进方向\n6. **💭 个人感想** — AI 自我反思\n\n### 扩展模块目录结构\n\n```\nextensions/\n├── __init__.py\n├── skill_evolution/     # 用进废退核心\n│   ├── scorer.py        # 技能评分器\n│   ├── decay.py         # 衰减引擎\n│   └── registry.py      # 技能注册表\n├── work_review/         # 工作复盘\n│   ├── analyzer.py      # 工作分析器\n│   └── planner.py       # 明日计划生成器\n├── skill_explorer/      # 技能探索\n│   ├── gap_detector.py  # 缺口检测器\n│   └── learner.py       # 技能学习器\n├── skill_developer/     # 技能开发\n│   ├── templates.py     # 技能模板库\n│   ├── generator.py     # 技能生成器\n│   └── quality.py       # 质量评估器\n└── reporter/            # 汇报生成\n    ├── daily_report.py  # 每日汇报生成器\n    └── skill_report.py  # 技能专项报告\n```\n\n---\n\n## 核心升级：Long-Term RAG\n\n参考 MetaGPT 的 RoleZeroLongTermMemory 设计，新增短长记忆合并机制：\n\n```\nshort-term-recall.json  ←  活跃recall条目（上限200条）\nmemory/.rag/longterm.jsonl  ←  老旧条目RAG存储\n```\n\n**晋升条件：**\n- 条目 age > 30天（从最后召回时间算）\n- 且 recallCount < 3（未被频繁召回）\n\n**召回流程：**\n1. 蒸馏前，从当日高权重条目提取关键词\n2. 用关键词查询 RAG，召回相关旧记忆\n3. 旧记忆注入蒸馏上下文，让 AI 知道\"之前有过什么\"\n\n**效果：** 记忆越来越精准，不像以前每次都从零开始。\n\n---\n\n## 完整链路\n\n```\n用户对话\n   ↓\nOpenClaw Hook: message:preprocessed\n   ↓\n丘脑过滤（Thalamus）→ 杏仁核标记（Amygdala）→ 海马体存储（memory/logs/）\n   ↓\ncron 触发（早7点/晚10点）\ndream.py v4.x\n   ↓\n[4.5] RAG查询 — 从当日条目提取关键词 → 查询memory/.rag/longterm.jsonl → 注入蒸馏上下文\n   ↓\nBundle Search检索（替代简单grep）\n   ↓\n杏仁核标记融合 → Auditor审计 → 分析皮层模式识别 → 前额叶蒸馏规划\n   ↓\n[4.6] RAG晋升 — 30天+未召回条目 → 写入longterm.jsonl\n   ↓\n归档区 → 真相文件写回 → 梦境报告\n```\n\n---\n\n## M-FLOW 核心架构\n\n### 倒锥知识图谱（Inverted Cone）\n\n所有记忆组织为**四层有向图**，形成倒锥结构：\n\n```\n          锥尖（容易精确命中）\n             ↓\n    ┌─────────────────────────┐\n    │  L4 Entity             │  ← 用户/项目/系统等实体节点\n    │  L3 FacetPoint         │  ← 具体属性、特征、标签\n    │  L2 Facet               │  ← 一组相关特征\n    │  L1 Episode（锥底）     │  ← 最终返回的知识单元\n    └─────────────────────────┘\n          锥底（返回给用户）\n```\n\n**搜索逻辑（Bundle Search）：**\n1. **锥尖广撒网**：查询向量化后同时在4层搜索，每个集合返回最多100个候选\n2. **投影到图中**：命中点作为入口，提取周围子图（边+邻居+连接关系）\n3. **代价传播**：沿边从锥尖向锥底传播，Episode得分 = 所有路径中最小代价\n\n**三条核心设计原则：**\n\n| 原则 | 说明 | 对应效果 |\n|------|------|---------|\n| **边携带语义** | 每条边附带自然语言描述，参与检索 | 不是被动连接，是主动语义过滤器 |\n| **路径最小代价** | 一条强证据链就足以证明相关性 | 不被无关路径稀释分数 |\n| **惩罚直接命中Episode** | 直接匹配摘要反而加惩罚 | 偏好精准锚点路径，防止宽泛匹配 |\n\n---\n\n## 脑区协同架构\n\n**① 丘脑（Thalamus）— 注意力门控**\n> 过滤纯问候/简单确认，只记录有意义的事件\n> 标记类型：event / decision / correction / completed / insight / error\n\n**② 杏仁核（Amygdala）— 情绪标记**\n> correction/error/decision/completed/insight 携带 HIGH 权重，优先蒸馏\n\n**③ 海马体（Hippocampus）— M-FLOW图存储 + RAG**\n\nPhase 1：`memory/logs/` 追加日志（Episode层）\n\nPhase 2：构建M-FLOW图结构：\n\n```\nEpisode (L1)              ← daily log / topic file\n  ↓ semantic edge\nFacet (L2)                ← grouping: correction_group, project_xxx\n  ↓ semantic edge  \nFacetPoint (L3)           ← specific tag: error.timeout, user.pref\n  ↓ semantic edge\nEntity (L4)               ← user, project, tool, skill\n```\n\n**FacetPoint** = type + topic + keywords 的向量描述（向量化后参与Bundle Search）\n**语义边描述** = \"这个FacetPoint为什么属于这个Episode\" 的自然语言说明\n\n**④ 前额叶（Prefrontal Cortex）— Bundle Search + RAG召回 + 蒸馏规划**\n\nBundle Search检索替代简单grep：\n```\n查询 → 向量化 → 4层锥形搜索 → 代价传播 → 最小路径Episode\n```\n\nRAG召回（v4.x新增）：\n```\n当日关键词 → 查询longterm.jsonl → 召回相关旧记忆 → 注入蒸馏上下文\n```\n\n**⑤ 蓝斑核（Locus Coeruleus）— 警觉与新鲜度信号**\n> freshness分数——最近被提及的记忆权重更高\n\n---\n\n## Long-Term RAG Layer 详解\n\n### 存储结构\n\n```\nmemory/\n├── .dreams/\n│   └── short-term-recall.json   # 活跃recall条目（上限200条）\n└── .rag/\n    └── longterm.jsonl          # 老旧条目RAG存储（JSONL格式）\n```\n\n### 晋升机制\n\n```python\n# 晋升条件\nif age_days > 30 and recall_count < 3:\n    promote_to_longterm_rag(entry)\n```\n\n### 召回机制\n\n```python\n# 蒸馏前\nkeywords = [v['snippet'][:100] for v in tagged.values()][:20]\nquery = ' '.join(keywords[:5])\nrag_results = query_longterm_rag(query, k=5)\n\n# 召回结果注入蒸馏上下文\nlearnings['LEARNINGS.md'] += f\"\\n\\n## Long-Term Memory (RAG)\\n{rag_text}\"\n```\n\n### 手动命令\n\n```bash\n# 查看短/长记忆状态\npython skills/dream-selfimproving/scripts/longterm_rag.py --status\n\n# 手动晋升老条目\npython skills/dream-selfimproving/scripts/longterm_rag.py --promote\n\n# 搜索长记忆\npython skills/dream-selfimproving/scripts/longterm_rag.py --query \"关键词\"\n```\n\n---\n\n## Pattern Library\n\nPatterns are reusable response templates extracted from recurring learnings:\n\n```\nmemory/patterns/\n└── p-xxx.md           # Pattern files with trigger + response\n```\n\n**Pattern格式（含M-FLOW元数据）：**\n\n```yaml\n---\nname: pattern名称\ntrigger: 什么情况下触发\nresponse: 如何响应\nexamples: [案例1, 案例2]\ncreated: YYYY-MM-DD\nupdated: YYYY-MM-DD\n# M-FLOW 元数据\nentity: pattern          # L4 Entity\nfacets: [tag1, tag2]    # L3 FacetPoints\nepisode_id: p-xxx        # L1 Episode\n---\n```\n\n---\n\n## Memory Taxonomy & M-FLOW映射\n\n| Memory Type | L4 Entity | L3 FacetPoints | L1 Episode |\n|------------|-----------|-----------------|--------------|\n| **user** | user.luyi | role, pref, goal, communication_style | topics/user_*.md |\n| **feedback** | feedback | correction, error, insight, confirmation | topics/feedback_*.md |\n| **project** | project.{name} | decision, tool, deadline, context | topics/project_*.md |\n| **reference** | reference | credential, link, skill, system | topics/reference_*.md |\n| **longterm** | (RAG) | aged, promoted | .rag/longterm.jsonl |\n\n---\n\n## Directory Structure (v4.x)\n\n```\nmemory/\n├── graph/                         # M-FLOW 知识图谱\n│   ├── entities.json              # L4 Entity 节点列表\n│   ├── facetpoints.json           # L3 FacetPoint 节点列表\n│   ├── facets.json                # L2 Facet 节点列表\n│   ├── episodes.json              # L1 Episode 节点列表\n│   ├── edges.json                 # 语义边（含描述文本）\n│   └── index.json                 # 图索引 + 向量锚点\n├── logs/\n│   └── YYYY/MM/YYYY-MM-DD.md     # Daily append-only logs (Episode)\n├── topics/                        # Distilled topic memories\n│   ├── user_xxx.md\n│   ├── feedback_xxx.md\n│   ├── project_xxx.md\n│   └── reference_xxx.md\n├── patterns/                      # Pattern Library\n│   └── p-xxx.md\n├── episodes/                      # Project narratives\n├── .dreams/\n│   └── short-term-recall.json     # 活跃recall条目（上限200条）\n├── .rag/\n│   └── longterm.jsonl             # Long-Term RAG（v4.x新增）\n├── procedures.md                  # Workflow preferences\n├── archive.md                     # Compressed old entries\n├── dream-log.md                   # Dream cycle reports\n└── MEMORY.md                      # INDEX only\n\n.learnings/                        # self-improving-agent\n├── LEARNINGS.md\n├── ERRORS.md\n└── FEATURE_REQUESTS.md\n```\n\n---\n\n## Health Score (v4.x)\n\n| Metric | Weight | Formula |\n|--------|--------|---------|\n| Freshness | 0.20 | entries_referenced_last_30_days / total |\n| Coverage | 0.20 | categories_updated_last_14_days / 10 |\n| Coherence | 0.20 | entries_with_semantic_edges / total |\n| **Graph Connectivity** | 0.20 | connected_components_ratio |\n| Efficiency | 0.10 | max(0, 1 - line_count/500) |\n| Reachability | 0.10 | Bundle Search路径覆盖率 |\n\n---\n\n## Dream Distillation Steps (v5.0)\n\nWhen cron triggers:\n\n1. **Bundle Search预热**：用今日日志构建临时图结构，快速验证图连通性\n2. Read `memory/logs/{date}.md`\n3. Read `.learnings/LEARNINGS.md`, `.learnings/ERRORS.md`, `.learnings/FEATURE_REQUESTS.md`\n4. Read `MEMORY.md`, topic files, `graph/index.json`, `procedures.md` for context\n5. **Snapshot BEFORE**: count entries, decisions, lessons, procedures\n6. **[4.x] 技能积分榜读取**：调用 `score_tracker.py today`，获取今日技能王 + 调用统计，注入蒸馏上下文\n7. **[4.5] RAG召回**：从当日条目提取关键词 → 查询longterm.jsonl → 注入蒸馏上下文\n8. **图增强检索**：对每个learnings entry执行Bundle Search，找到相关Episode\n9. **Distillation Agent**: Run sub-agent on raw entries + learnings + RAG results → produce:\n   - 3-5 genuine insights (\"I learned that...\")\n   - 1-3 tomorrow action items\n   - 0-3 topic files to write to `memory/topics/`\n   - Health metric interpretation\n   - 技能积分榜洞察（若有数据）\n10. **[4.6] RAG晋升**：30天+未召回条目 → 写入longterm.jsonl\n11. **更新图结构**：\n    - 新Episode写入 `graph/episodes.json`\n    - 新FacetPoint写入 `graph/facetpoints.json`\n    - 新边写入 `graph/edges.json`（含语义描述）\n12. Write topic files (from Distillation Agent output)\n13. Update truth files (`user_state.md`, `pending.md`)\n14. Update `graph/index.json` entry metadata + 重新计算向量锚点\n15. Compute health metrics → update `graph/index.json` stats\n16. Archive eligible entries → append to `archive.md`\n17. Update `MEMORY.md` index (max 200 lines)\n18. **Snapshot AFTER**: calculate deltas\n19. Write dream report to `memory/dreams/{date}.md` and `dream-log.md`\n20. **v5.0 技能扩展模块**：执行 skill_evolution + work_review + skill_explorer + skill_developer + reporter\n21. **v5.0 每日汇报**：生成 `daily-report-{date}.md` 完整六大模块汇报\n22. **[Optional SwarmRecall]**: 如果配置了API key，执行云端图同步\n\n---\n\n## Dream Report Format (v5.0)\n\n```markdown\n# 🌙 Dream Report — {date}\n\n## 🧠 系统状态\n- 原始日志条目 | recall store 总数 | Auditor AI味 | 蓝斑核健康\n\n## 🫀 蓝斑核健康评分 (v4.0 M-FLOW)\n- 新鲜度 | 连贯性 | 覆盖度 | 图连通性 | 效率 | 可达性\n\n## 🧠 M-FLOW 知识图谱状态\n- L4 Entity | L3 FacetPoint | L1 Episode | 语义边\n- Bundle Search 结果\n\n## 🏆 技能积分榜（v4.x 新增）\n- 今日技能王 + 调用次数 + 积分\n- 原始榜单摘要（若有数据；无数据时此节不显示）\n\n## 💡 我学到了\n- {genuine insight 1（含技能积分洞察）}\n- {genuine insight 2}\n\n## 🎯 明日重点\n- {actionable item 1}\n- {actionable item 2}\n\n## 🔁 重复模式（≥3次）\n## 🗄️ 归档候选\n## Patterns Updated\n```\n\n---\n\n## User Prompts\n\n- \"dream report\" / \"梦境报告\" → read and display latest dream report\n- \"dream\" / \"做梦\" → run distillation now\n- \"/dream status\" → show M-FLOW graph stats, health score, pattern count\n- \"/dream search {query}\" → run Bundle Search and show top results\n- \"/dream rag status\" → show RAG status (from longterm_rag.py)\n\n---\n\n---\n\n## 🔒 安全说明\n\n### update-cron-date.py 的 --confirm 标志\n\n此脚本用于修改 OpenClaw cron 作业，属于**特权操作**。\n\n- `--confirm` 标志是安全机制，防止意外执行\n- 无此标志时，脚本只显示将要做什么但不会实际修改\n- 使用前请确保您了解 cron 作业的当前状态：\n  ```bash\n  openclaw cron list\n  ```\n\n### SWARMRECALL_API_KEY 环境变量\n\n- **声明位置：** `metadata.openclaw.requires.env.SWARMRECALL_API_KEY`\n- **用途：** 可选。云端去重/矛盾检测（需连接 SwarmRecall 服务）\n- **默认值：** 不设置则仅本地运行，无云端功能\n- **获取方式：** 向 SwarmRecall 服务注册获取\n\n### 文件访问范围\n\n此技能会访问和修改以下位置的文件：\n- `~/.openclaw/workspace/memory/logs/` — 对话日志\n- `~/.openclaw/workspace/memory/.dreams/` — 梦境报告\n- `~/.openclaw/workspace/memory/.rag/` — 长记忆 RAG 存储\n- `~/.openclaw/workspace/memory/.truth/` — 真相文件\n- `~/.openclaw/workspace/memory/.learnings/` — 学习记录\n- `~/.openclaw/hooks/hippocampus/` — Hook 配置\n- OpenClaw cron 条目（通过 update-cron-date.py）\n\n**诊断参考：** `references/diagnostic-checklist.md` — 快速健康检查命令清单\n\n---\n\n## Known Issues & Pitfalls\n\n### 月份目录不存在导致日志静默丢失\n\n**问题现象：**\n- `memory/logs/YYYY/MM/` 月份目录不存在时，`append_to_log()` 会静默失败（不抛异常）\n- `mkdir(parents=True, exist_ok=True)` 只创建最后一级目录；如果 `YYYY/` 存在但 `MM/` 不存在，且代码写的是 `mkdir(\"2026/05\", parents=True)` → 不会创建 `2026/` 本身\n- 实际路径行为：第 3 行 `log_dir = LOGS_DIR / year / month` 后直接 `ensure_dir(log_dir)`，如果 `2026/` 存在但 `05/` 不存在 → 正常创建；**但如果整个 `YYYY/` 不存在则失败**\n\n**排查：**\n```bash\nls -la ~/.openclaw/workspace/memory/logs/2026/\n# 如果 05/ 目录不存在，说明本月还没有消息被记录\n```\n\n**手动修复：**\n```bash\nmkdir -p ~/.openclaw/workspace/memory/logs/2026/05\n```\n\n### Cron 定时任务可能不按时执行\n\n**问题现象：**\n- 梦境报告时间戳显示 `generated_at` 与日志日期不匹配\n- 例如：4/30 的日志缺失，但 5/1 00:54 生成的快照实际记录的是 4/29 数据\n- Cron list 为空但记忆里记录了 cron 任务（配置不在 Hermes 这边）\n\n**排查步骤：**\n1. 检查 `~/.skill_scoreboard/daily/` 文件时间戳是否连续\n2. 检查 `~/.hermes/cron/output/` 是否有对应日志\n3. 通过 `openclaw cron list` 确认实际 cron 配置（如果 openclaw CLI 可用）\n4. 如果 cron list 为空但快照在跑 → 任务配置在 OpenClaw 平台端，不在本地\n\n### 浏览器访问问题\n\n**问题：** 在 WSL 环境中访问 `localhost:3012`（OpenClaw-Admin）可能失败，Chrome 报错 `libnspr4.so: cannot open shared object file`\n\n**解决：** 不依赖浏览器，用 API 直接调 OpenClaw：\n```bash\n# 查看 cron 任务\nopenclaw cron list\n\n# 查看环境变量\nopenclaw env get\n```\n\n### 404 错误溯源\n\n**场景：** 飞书消息后出现 \"Auxiliary title generation failed: HTTP 404\"，用户不知道来源\n\n**排查方向：**\n1. 检查 Hermes cron output 日志 (`~/.hermes/cron/output/`)\n2. 检查 skill-scoreboard 快照是否在那个时间点生成\n3. 检查 OpenClaw Gateway 内部是否有辅助标题生成的定时任务\n4. 如果 cron list 为空 → 任务在 OpenClaw 平台端而非本地\n\n## Scripts\n\n- `dream.py` — Phase 2 蒸馏脚本（v4.x，M-FLOW Bundle Search + RAG召回/晋升 + 技能积分榜融合）\n- `update-cron-date.py` — 每日 cron 日期注入 ⚠️ 特权操作，需 --confirm\n- `graph-builder.py` — 从日志构建M-FLOW图结构\n- `bundle-search.py` — Bundle Search检索实现\n- `longterm_rag.py` — Long-Term RAG 管理脚本（v4.x新增）\n\n> dream.py 蒸馏前自动调用 `~/SharedSkills/skill-scoreboard/scripts/score_tracker.py today`，将今日技能王 + 积分注入蒸馏上下文和梦境报告，无需额外配置。\n\n---\n\n## Phase 1 启用（hippocampus hook）\n\n**Hook 目录：** `~/.openclaw/hooks/hippocampus/`\n**已配置：** `openclaw.json` 中 `hooks.internal.entries.hippocampus: enabled: true`\n\n**功能：** 监听 `message:preprocessed` 事件，自动记录对话到 `memory/logs/YYYY/MM/YYYY-MM-DD.md`\n\n**丘脑过滤规则：**\n- 纯问候 / 简单确认（<20字）不记录\n- 高权重标记：correction / error / decision / completed / insight\n\n重启 gateway 后生效：\n```bash\nschtasks /run /tn \"OpenClaw Gateway\"\n```\n\n---\n\n## M-FLOW vs 旧架构对比\n\n| 维度 | 旧架构（平坦检索） | M-FLOW（倒锥图路由） |\n|------|-------------------|----------------------|\n| **存储结构** | 平面文件列表 | 四层有向图 |\n| **检索方式** | grep / 向量相似度 | Bundle Search代价传播 |\n| **关系表示** | 简单link引用 | 带语义描述的边 |\n| **短长记忆** | 无分层 | 30天老化晋升RAG |\n\n---\n\n### OpenClaw ↔ Hermes 记忆同步\n- 脚本位置：`~/.hermes/scripts/sync_openclaw_memory.py`\n- 功能：双向桥接 OpenClaw sqlite 记忆库与 Hermes 扁平记忆文件\n- 使用：`python3 ~/.hermes/scripts/sync_openclaw_memory.py [--dry-run]`\n- 详情见 `references/hermes-openclaw-memory-sync.md`\n\n## 与MetaGPT对比\n\n| 维度 | MetaGPT RoleZeroLongTermMemory | Dream Long-Term RAG |\n|------|-------------------------------|---------------------|\n| **RAG引擎** | Chroma + LLMRanker | JSONL + 关键词匹配 |\n| **召回触发** | memory_k 溢出 或 用户需求 | 每次蒸馏前 |\n| **晋升条件** | count > memory_k | age > 30天 且 recallCount < 3 |\n| **向量化** | embedding 模型 | 词袋模型（简化版） |\n| **复杂度** | 依赖 Chroma/llama-index | 纯 Python，无外部依赖 |\n\nFile v5.0.1:_meta.json\n\n{\n  \"ownerId\": \"kn75g2sw7ssvtwkxyw4pce8t3d84mna2\",\n  \"slug\": \"dream-selfimproving\",\n  \"version\": \"5.0.1\",\n  \"publishedAt\": 1777777392922\n}\n\nFile v5.0.1:references/diagnostic-checklist.md\n\n# Dream Self-Improving — Diagnostic Checklist\n\n## 快速健康检查\n\n```bash\n# 1. Cron 任务状态（OpenClaw 侧）\ncat ~/.openclaw/cron/jobs.json | python3 -c \"\nimport json, sys\njobs = json.load(sys.stdin)['jobs']\nfor j in jobs:\n    if '梦境' in j.get('name', ''):\n        s = j.get('state', {})\n        print(f\\\"{j['name']}: last={s.get('lastRunStatus')}, consecutive={s.get('consecutiveErrors')}\\\")\n\"\n\n# 2. 本月日志目录是否存在\nls -la ~/.openclaw/workspace/memory/logs/2026/\n\n# 3. Hippocampus hook 是否在监听\nls -la ~/.openclaw/hooks/hippocampus/hook.py\n\n# 4. 最近的梦境报告\nls -lt ~/.openclaw/workspace/memory/dreams/ | head -5\n\n# 5. M-FLOW 图状态\ncat ~/.openclaw/workspace/memory/graph/index.json 2>/dev/null | python3 -m json.tool | head -20\n\n# 6. RAG 状态\npython3 ~/SharedSkills/dream-selfimproving/scripts/longterm_rag.py --status\n```\n\n## 常见失败模式\n\n| 症状 | 原因 | 修复 |\n|------|------|------|\n| 梦境报告条目全是0 | 本月日志目录不存在 | `mkdir -p ~/.openclaw/workspace/memory/logs/2026/05` |\n| Cron 显示 interrupted | Gateway 重启中断了运行中任务 | 下次自动重试，无需手动修复 |\n| consecutiveErrors > 0 | 任务超时或被中断 | 检查 `~/.openclaw/cron/runs/` 日志 |\n| 蓝斑核健康 0/100 | 没有新日志/recall store 为空 | 正常现象，新的一天开始时会恢复 |\n\n## Cron Jobs（当前配置）\n\n| ID | 名称 | 时间 | 上次状态 |\n|----|------|------|---------|\n| eeb00ae0 | 梦境技能-早间蒸馏 | 07:00 | error (gateway 重启) |\n| fc30089a | 梦境技能-晚间蒸馏 | 22:00 | ok |\n| b00b50fc | 每日技能积分榜快照 | 23:00 | ok |\n\nFile v5.0.1:references/hermes-openclaw-memory-sync.md\n\n# OpenClaw ↔ Hermes 记忆同步\n\n## 背景\n\nHermes 和 OpenClaw 各有独立的记忆系统：\n- **Hermes**: `~/.hermes/memories/MEMORY.md` + `USER.md`\n- **OpenClaw**: `~/.openclaw/memory/main.sqlite` (chunks 表，向量+RAG)\n\n两者内容有重叠但不完全相同，存在信息不对称。\n\n## 同步脚本\n\n位置：`~/.hermes/scripts/sync_openclaw_memory.py`\n\n功能：从 OpenClaw sqlite 提取 Hermes 没有的记忆，写入 Hermes 记忆文件。\n\n```bash\n# 预览同步内容（不写入）\npython3 ~/.hermes/scripts/sync_openclaw_memory.py --dry-run\n\n# 执行同步\npython3 ~/.hermes/scripts/sync_openclaw_memory.py\n```\n\n### 同步逻辑\n\n1. 读取 `~/.openclaw/memory/main.sqlite` 的 `chunks` 表（source='memory'）\n2. 按 path 去重，取最新版本\n3. 对每个文件类型（MEMORY.md、truth 文件等）提取内容\n4. 检查 Hermes 记忆是否已包含该内容\n5. 补充缺失章节到 `~/.hermes/memories/MEMORY.md` 和 `USER.md`\n\n### 已同步内容（2026-04-29）\n\n| 信息类型 | 来源 | 目标 |\n|---------|------|------|\n| 陛下开发的技能列表 | OpenClaw MEMORY.md | Hermes USER.md |\n| OpenClaw-Admin 地址/账号 | OpenClaw MEMORY.md | Hermes USER.md |\n| 技能积分榜系统配置 | OpenClaw MEMORY.md | Hermes USER.md |\n| Cron 任务配置 | OpenClaw MEMORY.md | Hermes MEMORY.md |\n\n## 局限性\n\n1. **单向同步**：目前只从 OpenClaw → Hermes，没有反向同步\n2. **手动触发**：需要手动运行脚本，未加入自动 cron\n3. **仅同步 memory chunks**：不包括 OpenClaw 各 agent 的独立 sqlite（xiao.sqlite、main.sqlite 等）\n\n## 改进方向\n\n1. **定时自动同步**：加入每日 cron（建议在晚间蒸馏前执行）\n2. **反向同步**：将 Hermes MEMORY.md 的重要更新写回 OpenClaw\n3. **多 agent sqlite 整合**：读取 xiao.sqlite、content-reviewer.sqlite 等获取更多 agent 视角的记忆\n4. **差异告警**：如果两边对同一事实的记录矛盾，告警通知\n\nFile v5.0.1:references/multi-agent-team-architecture.md\n\n# 多 Agent 团队架构参考\n\n> 来源：OpenClaw 搭建 6 人团队，它开始自己转起来了\n> 作者：yabin\n> 链接：https://mp.weixin.qq.com/s/D33ScqwgpjiwI4PDN3vUaA\n> 抓取时间：2026-04-17\n\n## 核心架构\n\n```\n同一飞书机器人（一个前台号码）\n  ↓ 按群聊 ID 路由\n开发群 → main agent\n产品群 → product-claw\n测试群 → qa-claw\n调研群 → research-claw\n数据分析群 → analytics-claw\n运营群 → ops-claw\n```\n\n每个 agent 有独立 workspace，上下文件隔离，形成闭环飞轮：\n```\nresearch → product → dev → qa → analytics → ops → 下一轮\n```\n\n## 关键结论\n\n### 1. 不拆 workspace，多 agent 很容易只是幻觉\n- 不同角色的长期记忆不会混在一起\n- 本地 skill、模板、文档可以按角色分别放\n- 同一个飞书机器人进来的消息，最终会落进不同工作目录\n\n### 2. 角色文件必须落到角色边界上\n每个 agent 独立配置：\n- AGENTS.md、IDENTITY.md、SOUL.md、USER.md、TOOLS.md、MEMORY.md\n\n### 3. 产品 agent 特别值得挂方法库\n开发 agent 靠代码库天然有上下文，产品 agent 没有方法库的话很容易退化成\"会写点文档的通用聊天机器人\"。\n\n### 4. 路由方式选择\n- 按群聊 peer-id 路由是最自然的形态\n- 人在协作里本来就已按群在分场景\n\n### 5. 专人助手式的 agent，交互摩擦一定要足够低\n- 如果机器人是共享工具，那 @ 一下很合理\n- 如果机器人是专属群的长期助手，每次都 @ 一下就很蠢\n\n## OpenClaw 飞书插件 Bug（已发现）\n\n1. **机器人名字**不是在 OpenClaw 里改，而是在飞书开放平台的 Bot 能力页改\n   - appId/appSecret 解决\"这个机器人是谁\"\n   - Bot 显示名解决\"别人看到它叫什么\"\n\n2. **requireMention per-group 配置无效**\n   - 文档支持 `groups.<id>.requireMention`\n   - 配置 schema 也支持\n   - 但运行时代码只读了全局 `channels.feishu-china.requireMention`\n   - per-group 覆盖配置根本没被用上\n\n## 方案边界\n\n解决的是：\n- 角色分工\n- 上下文隔离\n- 单机器人多场景协作\n\n没有解决的是：\n- 容器级强安全隔离\n- 多套全局凭证隔离\n- 多飞书机器人并行的插件级支持\n\n本质：同一个 gateway 进程、同一个 OpenClaw 实例、同一套全局配置。\n是「角色隔离 + 上下文隔离」，不是「基础设施级彻底隔离」。\n\n## 实践要点\n\n1. 默认开发 agent 尽量保留 main（兼容性现实）\n2. 多 agent 的关键不是多写几个 id，而是拆 workspace\n3. 人格文件必须和 AGENTS.md、TOOLS.md、MEMORY.md 一起工作\n4. 产品 agent 特别值得挂方法库\n5. 同一个飞书机器人按群路由是最顺手的形态\n6. 如果配置明明对了但不工作，第一时间去看运行时日志，不要先怀疑自己\n\nFile v5.0.1:references/skill-evolution-v50.md\n\n# 技能进化插件 v5.0 — 扩展模块参考\n\n## 模块依赖关系\n\n```\ndream.py (主流程)\n    │\n    ├── [E1] work_review.WorkAnalyzer      # 工作复盘分析\n    │         └── TomorrowPlanner           # 明日计划生成\n    │\n    ├── [E2] skill_evolution.SkillScorer   # 技能评分\n    │\n    ├── [E3] skill_evolution.DecayEngine  # 用进废退衰减\n    │\n    ├── [E4] skill_evolution.SkillRegistry # 技能注册表更新\n    │\n    ├── [E5] work_review.TomorrowPlanner   # 明日计划（依赖E1+E2）\n    │\n    ├── [E6] skill_explorer.GapDetector   # 技能缺口检测\n    │         └── SkillLearner             # 自主学习\n    │\n    ├── [E7] skill_developer.SkillGenerator # 技能全自动生成\n    │         ├── SkillTemplates           # 技能模板库\n    │         └── SkillQualityAssessor     # 质量评估\n    │\n    └── [E8] reporter.DailyReporter        # 每日汇报生成\n              └── SkillReportGenerator     # 技能专项报告\n```\n\n## 技能评分公式\n\n```python\ntotal_score = (\n    frequency_score * 0.4 +    # 调用频率（对数衰减）\n    recency_score * 0.3 +      # 最近使用时间\n    success_score * 0.3        # 成功率\n) * decay_factor\n\n# 时间衰减因子\nif days_since_call > 180: decay_factor = 0.0   # 归档\nelif days_since_call > 90:  decay_factor = 0.2\nelif days_since_call > 30:  decay_factor = 0.5\nelse:                       decay_factor = 1.0\n```\n\n## 数据存储路径\n\n```\n~/.openclaw/workspace/\n└── memory/\n    ├── dreams/\n    │   ├── 2026-05-03.md              # 梦境报告\n    │   └── daily-report-2026-05-03.md # 每日完整汇报\n    └── ...\n\n~/.skill_scoreboard/\n└── scores.json                        # 技能积分榜数据\n```\n\n## skill_scoreboard 数据结构\n\n```json\n{\n  \"skills\": {\n    \"weather\": {\n      \"total_count\": 4,\n      \"total_score\": 54.12,\n      \"last_used\": \"2026-04-29T...\",\n      \"last_score\": 54.12,\n      \"quality_score\": 1.0\n    }\n  }\n}\n```\n\n## 技能等级阈值\n\n```python\nTIER_THRESHOLDS = {\n    '🔥': 80,   # 高度活跃\n    '📈': 60,   # 正常\n    '💤': 40,   # 低活跃\n    '🗄️': 20,   # 休眠\n    '⚰️': 0,    # 已归档\n}\n```\n\n## 技能生成触发条件\n\n当 `GapDetector` 检测到以下情况时，触发 `SkillGenerator`：\n\n1. 用户需求与现有技能不匹配（相似度 < 0.6）\n2. 某类任务频繁出现但无对应技能\n3. 技能缺口被重复识别（同一缺口出现 ≥3 次）\n4. 新领域探索任务需要系统性支持\n\n## 汇报模板（六大模块）\n\n```\n📊 每日汇报 — {date}\n═══════════════════════════════════\n\n## 📝 今日总结\n### 工作完成情况\n### 完成的任务 (N项)\n### 未完成的任务 (N项)\n### 阻碍因素\n\n## 📋 明日计划\n### 继续任务\n### 新增任务\n### 技能开发计划\n### 执行优先级\n\n## 🛠️ 技能开发\n### 新开发的技能\n### 技能改进\n### 开发理由\n\n## 📈 技能评分（用进废退）\n### 技能活跃度排行\n### 技能状态分布\n### 需关注的技能\n### 用进废退记录\n\n## 🎯 精进点\n### 今日学到的新东西\n### 需要改进的地方\n### 明日行动项\n\n## 💭 个人感想\n```\n\nFile v5.0.1:package.json\n\n{\n  \"name\": \"dream\",\n  \"version\": \"4.0.4\",\n  \"description\": \"Dream self-evolution skill\"\n}\n\nArchive v5.0.0: 41 files, 99086 bytes\n\nFiles: _meta.json (138b), analyze.py (781b), bundle-search.py (19253b), check_skill.py (2020b), debug_ep.py (295b), debug_parse.py (297b), extensions/__init__.py (773b), extensions/reporter/__init__.py (293b), extensions/reporter/daily_report.py (12500b), extensions/reporter/skill_report.py (9649b), extensions/skill_developer/__init__.py (246b), extensions/skill_developer/generator.py (5811b), extensions/skill_developer/quality.py (7126b), extensions/skill_developer/templates.py (5777b), extensions/skill_evolution/__init__.py (291b), extensions/skill_evolution/decay.py (9117b), extensions/skill_evolution/registry.py (7293b), extensions/skill_evolution/scorer.py (7787b), extensions/skill_explorer/__init__.py (223b), extensions/skill_explorer/gap_detector.py (8229b), extensions/skill_explorer/learner.py (8064b), extensions/work_review/__init__.py (233b), extensions/work_review/analyzer.py (6302b), extensions/work_review/planner.py (7711b), find_closes.py (1482b), find_marker.py (322b), fix_bundle.py (4612b), fix_ep_dedup.py (284b), fix_insert.py (1490b), fix_israw.py (440b), graph-builder.py (33644b), package.json (91b), references/diagnostic-checklist.md (1673b), references/hermes-openclaw-memory-sync.md (1978b), references/multi-agent-team-architecture.md (2843b), references/skill-evolution-v50.md (3360b), scripts/capability_analyzer.py (13665b), scripts/dream.py (63021b), scripts/longterm_rag.py (8084b), scripts/update-cron-date.py (6872b), SKILL.md (21742b)\n\nFile v5.0.0:SKILL.md\n\n---\nname: dream-selfimproving\ndescription: \"让AI拥有进化能力——每晚自动复盘当天对话，提取洞察，更新记忆，像梦境一样在夜里悄然进化。不用手动记录，AI自己记住重要的事，越用越聪明。\"\nmetadata:\n  openclaw:\n    requires:\n      bins:\n        - python\n      env:\n        SWARMRECALL_API_KEY:\n          description: \"可选。云端去重/矛盾检测密钥。不设置则仅本地运行。\"\n          required: false\n    notes: |\n      运行时通过 `openclaw env get` / `openclaw cron list` 动态获取，无需预先声明环境变量。\n\n      Cron编辑：update-cron-date.py 通过 'openclaw cron edit' 修改 dream cron 作业消息。\n      ⚠️ 特权操作，需使用 --confirm 标志：python update-cron-date.py --confirm\n      详情见下方 ## 安全说明 章节。\n  meta:\n    name: \"dream-AI进化的梦之核\"\n    tagline: \"让AI每晚进化一次，越用越聪明\"\n    category: memory\n    tags: [AI, memory, distillation, RAG, self-improving, 夜间蒸馏, 知识图谱]\n---\n\n# Dream Self-improving — 夜间记忆蒸馏与自我进化\n\n> 🧠 **v5.0 技能进化插件** — AI自主学习、用进废退、全自动技能开发 + 完整每日汇报\n\n## 现状\n\n**Phase 3（✅ 已实现）：** OpenClaw Hook `hippocampus` 监听每条消息，实时写入 `memory/logs/`\n**Phase 3（✅ 已实现）：** `dream.py v4.x` 定时蒸馏 + M-FLOW Bundle Search检索\n**Phase 3（✅ 已实现）：** `dream.py v4.x` Long-Term RAG 长记忆层\n\n**Phase 4（✅ 已实现）：** `dream.py v5.0` 技能用进废退 + 全自动技能开发 + 完整每日汇报\n\n---\n\n## v5.0 技能进化插件\n\n### 五大扩展模块\n\n| 模块 | 功能 | 关键类 |\n|------|------|--------|\n| **skill_evolution** | 技能评分（调用×质量×衰减）+ 用进废退引擎 + 技能注册表 | `SkillScorer`, `DecayEngine`, `SkillRegistry` |\n| **work_review** | 工作复盘分析 + 明日计划生成 | `WorkAnalyzer`, `TomorrowPlanner` |\n| **skill_explorer** | 技能缺口检测 + 自主学习 | `GapDetector`, `SkillLearner` |\n| **skill_developer** | 全自动技能生成（AI生成+质量评估+注册） | `SkillGenerator`, `SkillQualityAssessor` |\n| **reporter** | 每日完整汇报（六大模块） | `DailyReporter`, `SkillReportGenerator` |\n\n### 用进废退评分体系\n\n技能活跃度 = 调用次数 × 质量系数 × 时间衰减\n\n| 等级 | 标识 | 分值范围 | 说明 |\n|------|------|----------|------|\n| 高度活跃 | 🔥 | ≥80 | 调用频繁，持续进化 |\n| 正常 | 📈 | 60-79 | 稳定使用 |\n| 低活跃 | 💤 | 40-59 | 使用较少，建议复习 |\n| 休眠 | 🗄️ | 20-39 | 长期未用，待激活 |\n| 已归档 | ⚰️ | <20 | 彻底停用 |\n\n**衰减规则：**\n- 30天未用：×50%\n- 90天未用：×20%\n- 180天未用：自动归档\n\n### 每日汇报（六大模块）\n\n与早7点+晚10点蒸馏同步执行，完整汇报保存为 `daily-report-YYYY-MM-DD.md`：\n\n1. **📝 今日总结** — 工作完成情况、未完成原因、阻碍因素\n2. **📋 明日计划** — 继续任务 + 新任务 + 技能开发计划\n3. **🛠️ 技能开发** — 新技能生成（AI全自动）、技能改进\n4. **📈 技能评分** — Top 10 活跃度排行 + 用进废退变化\n5. **🎯 精进点** — 学到的新东西、改进方向\n6. **💭 个人感想** — AI 自我反思\n\n### 扩展模块目录结构\n\n```\nextensions/\n├── __init__.py\n├── skill_evolution/     # 用进废退核心\n│   ├── scorer.py        # 技能评分器\n│   ├── decay.py         # 衰减引擎\n│   └── registry.py      # 技能注册表\n├── work_review/         # 工作复盘\n│   ├── analyzer.py      # 工作分析器\n│   └── planner.py       # 明日计划生成器\n├── skill_explorer/      # 技能探索\n│   ├── gap_detector.py  # 缺口检测器\n│   └── learner.py       # 技能学习器\n├── skill_developer/     # 技能开发\n│   ├── templates.py     # 技能模板库\n│   ├── generator.py     # 技能生成器\n│   └── quality.py       # 质量评估器\n└── reporter/            # 汇报生成\n    ├── daily_report.py  # 每日汇报生成器\n    └── skill_report.py  # 技能专项报告\n```\n\n---\n\n## 核心升级：Long-Term RAG\n\n参考 MetaGPT 的 RoleZeroLongTermMemory 设计，新增短长记忆合并机制：\n\n```\nshort-term-recall.json  ←  活跃recall条目（上限200条）\nmemory/.rag/longterm.jsonl  ←  老旧条目RAG存储\n```\n\n**晋升条件：**\n- 条目 age > 30天（从最后召回时间算）\n- 且 recallCount < 3（未被频繁召回）\n\n**召回流程：**\n1. 蒸馏前，从当日高权重条目提取关键词\n2. 用关键词查询 RAG，召回相关旧记忆\n3. 旧记忆注入蒸馏上下文，让 AI 知道\"之前有过什么\"\n\n**效果：** 记忆越来越精准，不像以前每次都从零开始。\n\n---\n\n## 完整链路\n\n```\n用户对话\n   ↓\nOpenClaw Hook: message:preprocessed\n   ↓\n丘脑过滤（Thalamus）→ 杏仁核标记（Amygdala）→ 海马体存储（memory/logs/）\n   ↓\ncron 触发（早7点/晚10点）\ndream.py v4.x\n   ↓\n[4.5] RAG查询 — 从当日条目提取关键词 → 查询memory/.rag/longterm.jsonl → 注入蒸馏上下文\n   ↓\nBundle Search检索（替代简单grep）\n   ↓\n杏仁核标记融合 → Auditor审计 → 分析皮层模式识别 → 前额叶蒸馏规划\n   ↓\n[4.6] RAG晋升 — 30天+未召回条目 → 写入longterm.jsonl\n   ↓\n归档区 → 真相文件写回 → 梦境报告\n```\n\n---\n\n## M-FLOW 核心架构\n\n### 倒锥知识图谱（Inverted Cone）\n\n所有记忆组织为**四层有向图**，形成倒锥结构：\n\n```\n          锥尖（容易精确命中）\n             ↓\n    ┌─────────────────────────┐\n    │  L4 Entity             │  ← 用户/项目/系统等实体节点\n    │  L3 FacetPoint         │  ← 具体属性、特征、标签\n    │  L2 Facet               │  ← 一组相关特征\n    │  L1 Episode（锥底）     │  ← 最终返回的知识单元\n    └─────────────────────────┘\n          锥底（返回给用户）\n```\n\n**搜索逻辑（Bundle Search）：**\n1. **锥尖广撒网**：查询向量化后同时在4层搜索，每个集合返回最多100个候选\n2. **投影到图中**：命中点作为入口，提取周围子图（边+邻居+连接关系）\n3. **代价传播**：沿边从锥尖向锥底传播，Episode得分 = 所有路径中最小代价\n\n**三条核心设计原则：**\n\n| 原则 | 说明 | 对应效果 |\n|------|------|---------|\n| **边携带语义** | 每条边附带自然语言描述，参与检索 | 不是被动连接，是主动语义过滤器 |\n| **路径最小代价** | 一条强证据链就足以证明相关性 | 不被无关路径稀释分数 |\n| **惩罚直接命中Episode** | 直接匹配摘要反而加惩罚 | 偏好精准锚点路径，防止宽泛匹配 |\n\n---\n\n## 脑区协同架构\n\n**① 丘脑（Thalamus）— 注意力门控**\n> 过滤纯问候/简单确认，只记录有意义的事件\n> 标记类型：event / decision / correction / completed / insight / error\n\n**② 杏仁核（Amygdala）— 情绪标记**\n> correction/error/decision/completed/insight 携带 HIGH 权重，优先蒸馏\n\n**③ 海马体（Hippocampus）— M-FLOW图存储 + RAG**\n\nPhase 1：`memory/logs/` 追加日志（Episode层）\n\nPhase 2：构建M-FLOW图结构：\n\n```\nEpisode (L1)              ← daily log / topic file\n  ↓ semantic edge\nFacet (L2)                ← grouping: correction_group, project_xxx\n  ↓ semantic edge  \nFacetPoint (L3)           ← specific tag: error.timeout, user.pref\n  ↓ semantic edge\nEntity (L4)               ← user, project, tool, skill\n```\n\n**FacetPoint** = type + topic + keywords 的向量描述（向量化后参与Bundle Search）\n**语义边描述** = \"这个FacetPoint为什么属于这个Episode\" 的自然语言说明\n\n**④ 前额叶（Prefrontal Cortex）— Bundle Search + RAG召回 + 蒸馏规划**\n\nBundle Search检索替代简单grep：\n```\n查询 → 向量化 → 4层锥形搜索 → 代价传播 → 最小路径Episode\n```\n\nRAG召回（v4.x新增）：\n```\n当日关键词 → 查询longterm.jsonl → 召回相关旧记忆 → 注入蒸馏上下文\n```\n\n**⑤ 蓝斑核（Locus Coeruleus）— 警觉与新鲜度信号**\n> freshness分数——最近被提及的记忆权重更高\n\n---\n\n## Long-Term RAG Layer 详解\n\n### 存储结构\n\n```\nmemory/\n├── .dreams/\n│   └── short-term-recall.json   # 活跃recall条目（上限200条）\n└── .rag/\n    └── longterm.jsonl          # 老旧条目RAG存储（JSONL格式）\n```\n\n### 晋升机制\n\n```python\n# 晋升条件\nif age_days > 30 and recall_count < 3:\n    promote_to_longterm_rag(entry)\n```\n\n### 召回机制\n\n```python\n# 蒸馏前\nkeywords = [v['snippet'][:100] for v in tagged.values()][:20]\nquery = ' '.join(keywords[:5])\nrag_results = query_longterm_rag(query, k=5)\n\n# 召回结果注入蒸馏上下文\nlearnings['LEARNINGS.md'] += f\"\\n\\n## Long-Term Memory (RAG)\\n{rag_text}\"\n```\n\n### 手动命令\n\n```bash\n# 查看短/长记忆状态\npython skills/dream-selfimproving/scripts/longterm_rag.py --status\n\n# 手动晋升老条目\npython skills/dream-selfimproving/scripts/longterm_rag.py --promote\n\n# 搜索长记忆\npython skills/dream-selfimproving/scripts/longterm_rag.py --query \"关键词\"\n```\n\n---\n\n## Pattern Library\n\nPatterns are reusable response templates extracted from recurring learnings:\n\n```\nmemory/patterns/\n└── p-xxx.md           # Pattern files with trigger + response\n```\n\n**Pattern格式（含M-FLOW元数据）：**\n\n```yaml\n---\nname: pattern名称\ntrigger: 什么情况下触发\nresponse: 如何响应\nexamples: [案例1, 案例2]\ncreated: YYYY-MM-DD\nupdated: YYYY-MM-DD\n# M-FLOW 元数据\nentity: pattern          # L4 Entity\nfacets: [tag1, tag2]    # L3 FacetPoints\nepisode_id: p-xxx        # L1 Episode\n---\n```\n\n---\n\n## Memory Taxonomy & M-FLOW映射\n\n| Memory Type | L4 Entity | L3 FacetPoints | L1 Episode |\n|------------|-----------|-----------------|--------------|\n| **user** | user.luyi | role, pref, goal, communication_style | topics/user_*.md |\n| **feedback** | feedback | correction, error, insight, confirmation | topics/feedback_*.md |\n| **project** | project.{name} | decision, tool, deadline, context | topics/project_*.md |\n| **reference** | reference | credential, link, skill, system | topics/reference_*.md |\n| **longterm** | (RAG) | aged, promoted | .rag/longterm.jsonl |\n\n---\n\n## Directory Structure (v4.x)\n\n```\nmemory/\n├── graph/                         # M-FLOW 知识图谱\n│   ├── entities.json              # L4 Entity 节点列表\n│   ├── facetpoints.json           # L3 FacetPoint 节点列表\n│   ├── facets.json                # L2 Facet 节点列表\n│   ├── episodes.json              # L1 Episode 节点列表\n│   ├── edges.json                 # 语义边（含描述文本）\n│   └── index.json                 # 图索引 + 向量锚点\n├── logs/\n│   └── YYYY/MM/YYYY-MM-DD.md     # Daily append-only logs (Episode)\n├── topics/                        # Distilled topic memories\n│   ├── user_xxx.md\n│   ├── feedback_xxx.md\n│   ├── project_xxx.md\n│   └── reference_xxx.md\n├── patterns/                      # Pattern Library\n│   └── p-xxx.md\n├── episodes/                      # Project narratives\n├── .dreams/\n│   └── short-term-recall.json     # 活跃recall条目（上限200条）\n├── .rag/\n│   └── longterm.jsonl             # Long-Term RAG（v4.x新增）\n├── procedures.md                  # Workflow preferences\n├── archive.md                     # Compressed old entries\n├── dream-log.md                   # Dream cycle reports\n└── MEMORY.md                      # INDEX only\n\n.learnings/                        # self-improving-agent\n├── LEARNINGS.md\n├── ERRORS.md\n└── FEATURE_REQUESTS.md\n```\n\n---\n\n## Health Score (v4.x)\n\n| Metric | Weight | Formula |\n|--------|--------|---------|\n| Freshness | 0.20 | entries_referenced_last_30_days / total |\n| Coverage | 0.20 | categories_updated_last_14_days / 10 |\n| Coherence | 0.20 | entries_with_semantic_edges / total |\n| **Graph Connectivity** | 0.20 | connected_components_ratio |\n| Efficiency | 0.10 | max(0, 1 - line_count/500) |\n| Reachability | 0.10 | Bundle Search路径覆盖率 |\n\n---\n\n## Dream Distillation Steps (v5.0)\n\nWhen cron triggers:\n\n1. **Bundle Search预热**：用今日日志构建临时图结构，快速验证图连通性\n2. Read `memory/logs/{date}.md`\n3. Read `.learnings/LEARNINGS.md`, `.learnings/ERRORS.md`, `.learnings/FEATURE_REQUESTS.md`\n4. Read `MEMORY.md`, topic files, `graph/index.json`, `procedures.md` for context\n5. **Snapshot BEFORE**: count entries, decisions, lessons, procedures\n6. **[4.x] 技能积分榜读取**：调用 `score_tracker.py today`，获取今日技能王 + 调用统计，注入蒸馏上下文\n7. **[4.5] RAG召回**：从当日条目提取关键词 → 查询longterm.jsonl → 注入蒸馏上下文\n8. **图增强检索**：对每个learnings entry执行Bundle Search，找到相关Episode\n9. **Distillation Agent**: Run sub-agent on raw entries + learnings + RAG results → produce:\n   - 3-5 genuine insights (\"I learned that...\")\n   - 1-3 tomorrow action items\n   - 0-3 topic files to write to `memory/topics/`\n   - Health metric interpretation\n   - 技能积分榜洞察（若有数据）\n10. **[4.6] RAG晋升**：30天+未召回条目 → 写入longterm.jsonl\n11. **更新图结构**：\n    - 新Episode写入 `graph/episodes.json`\n    - 新FacetPoint写入 `graph/facetpoints.json`\n    - 新边写入 `graph/edges.json`（含语义描述）\n12. Write topic files (from Distillation Agent output)\n13. Update truth files (`user_state.md`, `pending.md`)\n14. Update `graph/index.json` entry metadata + 重新计算向量锚点\n15. Compute health metrics → update `graph/index.json` stats\n16. Archive eligible entries → append to `archive.md`\n17. Update `MEMORY.md` index (max 200 lines)\n18. **Snapshot AFTER**: calculate deltas\n19. Write dream report to `memory/dreams/{date}.md` and `dream-log.md`\n20. **v5.0 技能扩展模块**：执行 skill_evolution + work_review + skill_explorer + skill_developer + reporter\n21. **v5.0 每日汇报**：生成 `daily-report-{date}.md` 完整六大模块汇报\n22. **[Optional SwarmRecall]**: 如果配置了API key，执行云端图同步\n\n---\n\n## Dream Report Format (v5.0)\n\n```markdown\n# 🌙 Dream Report — {date}\n\n## 🧠 系统状态\n- 原始日志条目 | recall store 总数 | Auditor AI味 | 蓝斑核健康\n\n## 🫀 蓝斑核健康评分 (v4.0 M-FLOW)\n- 新鲜度 | 连贯性 | 覆盖度 | 图连通性 | 效率 | 可达性\n\n## 🧠 M-FLOW 知识图谱状态\n- L4 Entity | L3 FacetPoint | L1 Episode | 语义边\n- Bundle Search 结果\n\n## 🏆 技能积分榜（v4.x 新增）\n- 今日技能王 + 调用次数 + 积分\n- 原始榜单摘要（若有数据；无数据时此节不显示）\n\n## 💡 我学到了\n- {genuine insight 1（含技能积分洞察）}\n- {genuine insight 2}\n\n## 🎯 明日重点\n- {actionable item 1}\n- {actionable item 2}\n\n## 🔁 重复模式（≥3次）\n## 🗄️ 归档候选\n## Patterns Updated\n```\n\n---\n\n## User Prompts\n\n- \"dream report\" / \"梦境报告\" → read and display latest dream report\n- \"dream\" / \"做梦\" → run distillation now\n- \"/dream status\" → show M-FLOW graph stats, health score, pattern count\n- \"/dream search {query}\" → run Bundle Search and show top results\n- \"/dream rag status\" → show RAG status (from longterm_rag.py)\n\n---\n\n---\n\n## 🔒 安全说明\n\n### update-cron-date.py 的 --confirm 标志\n\n此脚本用于修改 OpenClaw cron 作业，属于**特权操作**。\n\n- `--confirm` 标志是安全机制，防止意外执行\n- 无此标志时，脚本只显示将要做什么但不会实际修改\n- 使用前请确保您了解 cron 作业的当前状态：\n  ```bash\n  openclaw cron list\n  ```\n\n### SWARMRECALL_API_KEY 环境变量\n\n- **声明位置：** `metadata.openclaw.requires.env.SWARMRECALL_API_KEY`\n- **用途：** 可选。云端去重/矛盾检测（需连接 SwarmRecall 服务）\n- **默认值：** 不设置则仅本地运行，无云端功能\n- **获取方式：** 向 SwarmRecall 服务注册获取\n\n### 文件访问范围\n\n此技能会访问和修改以下位置的文件：\n- `~/.openclaw/workspace/memory/logs/` — 对话日志\n- `~/.openclaw/workspace/memory/.dreams/` — 梦境报告\n- `~/.openclaw/workspace/memory/.rag/` — 长记忆 RAG 存储\n- `~/.openclaw/workspace/memory/.truth/` — 真相文件\n- `~/.openclaw/workspace/memory/.learnings/` — 学习记录\n- `~/.openclaw/hooks/hippocampus/` — Hook 配置\n- OpenClaw cron 条目（通过 update-cron-date.py）\n\n**诊断参考：** `references/diagnostic-checklist.md` — 快速健康检查命令清单\n\n---\n\n## Known Issues & Pitfalls\n\n### 月份目录不存在导致日志静默丢失\n\n**问题现象：**\n- `memory/logs/YYYY/MM/` 月份目录不存在时，`append_to_log()` 会静默失败（不抛异常）\n- `mkdir(parents=True, exist_ok=True)` 只创建最后一级目录；如果 `YYYY/` 存在但 `MM/` 不存在，且代码写的是 `mkdir(\"2026/05\", parents=True)` → 不会创建 `2026/` 本身\n- 实际路径行为：第 3 行 `log_dir = LOGS_DIR / year / month` 后直接 `ensure_dir(log_dir)`，如果 `2026/` 存在但 `05/` 不存在 → 正常创建；**但如果整个 `YYYY/` 不存在则失败**\n\n**排查：**\n```bash\nls -la ~/.openclaw/workspace/memory/logs/2026/\n# 如果 05/ 目录不存在，说明本月还没有消息被记录\n```\n\n**手动修复：**\n```bash\nmkdir -p ~/.openclaw/workspace/memory/logs/2026/05\n```\n\n### Cron 定时任务可能不按时执行\n\n**问题现象：**\n- 梦境报告时间戳显示 `generated_at` 与日志日期不匹配\n- 例如：4/30 的日志缺失，但 5/1 00:54 生成的快照实际记录的是 4/29 数据\n- Cron list 为空但记忆里记录了 cron 任务（配置不在 Hermes 这边）\n\n**排查步骤：**\n1. 检查 `~/.skill_scoreboard/daily/` 文件时间戳是否连续\n2. 检查 `~/.hermes/cron/output/` 是否有对应日志\n3. 通过 `openclaw cron list` 确认实际 cron 配置（如果 openclaw CLI 可用）\n4. 如果 cron list 为空但快照在跑 → 任务配置在 OpenClaw 平台端，不在本地\n\n### 浏览器访问问题\n\n**问题：** 在 WSL 环境中访问 `localhost:3012`（OpenClaw-Admin）可能失败，Chrome 报错 `libnspr4.so: cannot open shared object file`\n\n**解决：** 不依赖浏览器，用 API 直接调 OpenClaw：\n```bash\n# 查看 cron 任务\nopenclaw cron list\n\n# 查看环境变量\nopenclaw env get\n```\n\n### 404 错误溯源\n\n**场景：** 飞书消息后出现 \"Auxiliary title generation failed: HTTP 404\"，用户不知道来源\n\n**排查方向：**\n1. 检查 Hermes cron output 日志 (`~/.hermes/cron/output/`)\n2. 检查 skill-scoreboard 快照是否在那个时间点生成\n3. 检查 OpenClaw Gateway 内部是否有辅助标题生成的定时任务\n4. 如果 cron list 为空 → 任务在 OpenClaw 平台端而非本地\n\n## Scripts\n\n- `dream.py` — Phase 2 蒸馏脚本（v4.x，M-FLOW Bundle Search + RAG召回/晋升 + 技能积分榜融合）\n- `update-cron-date.py` — 每日 cron 日期注入 ⚠️ 特权操作，需 --confirm\n- `graph-builder.py` — 从日志构建M-FLOW图结构\n- `bundle-search.py` — Bundle Search检索实现\n- `longterm_rag.py` — Long-Term RAG 管理脚本（v4.x新增）\n\n> dream.py 蒸馏前自动调用 `~/SharedSkills/skill-scoreboard/scripts/score_tracker.py today`，将今日技能王 + 积分注入蒸馏上下文和梦境报告，无需额外配置。\n\n---\n\n## Phase 1 启用（hippocampus hook）\n\n**Hook 目录：** `~/.openclaw/hooks/hippocampus/`\n**已配置：** `openclaw.json` 中 `hooks.internal.entries.hippocampus: enabled: true`\n\n**功能：** 监听 `message:preprocessed` 事件，自动记录对话到 `memory/logs/YYYY/MM/YYYY-MM-DD.md`\n\n**丘脑过滤规则：**\n- 纯问候 / 简单确认（<20字）不记录\n- 高权重标记：correction / error / decision / completed / insight\n\n重启 gateway 后生效：\n```bash\nschtasks /run /tn \"OpenClaw Gateway\"\n```\n\n---\n\n## M-FLOW vs 旧架构对比\n\n| 维度 | 旧架构（平坦检索） | M-FLOW（倒锥图路由） |\n|------|-------------------|----------------------|\n| **存储结构** | 平面文件列表 | 四层有向图 |\n| **检索方式** | grep / 向量相似度 | Bundle Search代价传播 |\n| **关系表示** | 简单link引用 | 带语义描述的边 |\n| **短长记忆** | 无分层 | 30天老化晋升RAG |\n\n---\n\n### OpenClaw ↔ Hermes 记忆同步\n- 脚本位置：`~/.hermes/scripts/sync_openclaw_memory.py`\n- 功能：双向桥接 OpenClaw sqlite 记忆库与 Hermes 扁平记忆文件\n- 使用：`python3 ~/.hermes/scripts/sync_openclaw_memory.py [--dry-run]`\n- 详情见 `references/hermes-openclaw-memory-sync.md`\n\n## 与MetaGPT对比\n\n| 维度 | MetaGPT RoleZeroLongTermMemory | Dream Long-Term RAG |\n|------|-------------------------------|---------------------|\n| **RAG引擎** | Chroma + LLMRanker | JSONL + 关键词匹配 |\n| **召回触发** | memory_k 溢出 或 用户需求 | 每次蒸馏前 |\n| **晋升条件** | count > memory_k | age > 30天 且 recallCount < 3 |\n| **向量化** | embedding 模型 | 词袋模型（简化版） |\n| **复杂度** | 依赖 Chroma/llama-index | 纯 Python，无外部依赖 |\n\nFile v5.0.0:_meta.json\n\n{\n  \"ownerId\": \"kn75g2sw7ssvtwkxyw4pce8t3d84mna2\",\n  \"slug\": \"dream-selfimproving\",\n  \"version\": \"5.0.0\",\n  \"publishedAt\": 1777777090770\n}\n\nFile v5.0.0:references/diagnostic-checklist.md\n\n# Dream Self-Improving — Diagnostic Checklist\n\n## 快速健康检查\n\n```bash\n# 1. Cron 任务状态（OpenClaw 侧）\ncat ~/.openclaw/cron/jobs.json | python3 -c \"\nimport json, sys\njobs = json.load(sys.stdin)['jobs']\nfor j in jobs:\n    if '梦境' in j.get('name', ''):\n        s = j.get('state', {})\n        print(f\\\"{j['name']}: last={s.get('lastRunStatus')}, consecutive={s.get('consecutiveErrors')}\\\")\n\"\n\n# 2. 本月日志目录是否存在\nls -la ~/.openclaw/workspace/memory/logs/2026/\n\n# 3. Hippocampus hook 是否在监听\nls -la ~/.openclaw/hooks/hippocampus/hook.py\n\n# 4. 最近的梦境报告\nls -lt ~/.openclaw/workspace/memory/dreams/ | head -5\n\n# 5. M-FLOW 图状态\ncat ~/.openclaw/workspace/memory/graph/index.json 2>/dev/null | python3 -m json.tool | head -20\n\n# 6. RAG 状态\npython3 ~/SharedSkills/dream-selfimproving/scripts/longterm_rag.py --status\n```\n\n## 常见失败模式\n\n| 症状 | 原因 | 修复 |\n|------|------|------|\n| 梦境报告条目全是0 | 本月日志目录不存在 | `mkdir -p ~/.openclaw/workspace/memory/logs/2026/05` |\n| Cron 显示 interrupted | Gateway 重启中断了运行中任务 | 下次自动重试，无需手动修复 |\n| consecutiveErrors > 0 | 任务超时或被中断 | 检查 `~/.openclaw/cron/runs/` 日志 |\n| 蓝斑核健康 0/100 | 没有新日志/recall store 为空 | 正常现象，新的一天开始时会恢复 |\n\n## Cron Jobs（当前配置）\n\n| ID | 名称 | 时间 | 上次状态 |\n|----|------|------|---------|\n| eeb00ae0 | 梦境技能-早间蒸馏 | 07:00 | error (gateway 重启) |\n| fc30089a | 梦境技能-晚间蒸馏 | 22:00 | ok |\n| b00b50fc | 每日技能积分榜快照 | 23:00 | ok |\n\nFile v5.0.0:references/hermes-openclaw-memory-sync.md\n\n# OpenClaw ↔ Hermes 记忆同步\n\n## 背景\n\nHermes 和 OpenClaw 各有独立的记忆系统：\n- **Hermes**: `~/.hermes/memories/MEMORY.md` + `USER.md`\n- **OpenClaw**: `~/.openclaw/memory/main.sqlite` (chunks 表，向量+RAG)\n\n两者内容有重叠但不完全相同，存在信息不对称。\n\n## 同步脚本\n\n位置：`~/.hermes/scripts/sync_openclaw_memory.py`\n\n功能：从 OpenClaw sqlite 提取 Hermes 没有的记忆，写入 Hermes 记忆文件。\n\n```bash\n# 预览同步内容（不写入）\npython3 ~/.hermes/scripts/sync_openclaw_memory.py --dry-run\n\n# 执行同步\npython3 ~/.hermes/scripts/sync_openclaw_memory.py\n```\n\n### 同步逻辑\n\n1. 读取 `~/.openclaw/memory/main.sqlite` 的 `chunks` 表（source='memory'）\n2. 按 path 去重，取最新版本\n3. 对每个文件类型（MEMORY.md、truth 文件等）提取内容\n4. 检查 Hermes 记忆是否已包含该内容\n5. 补充缺失章节到 `~/.hermes/memories/MEMORY.md` 和 `USER.md`\n\n### 已同步内容（2026-04-29）\n\n| 信息类型 | 来源 | 目标 |\n|---------|------|------|\n| 陛下开发的技能列表 | OpenClaw MEMORY.md | Hermes USER.md |\n| OpenClaw-Admin 地址/账号 | OpenClaw MEMORY.md | Hermes USER.md |\n| 技能积分榜系统配置 | OpenClaw MEMORY.md | Hermes USER.md |\n| Cron 任务配置 | OpenClaw MEMORY.md | Hermes MEMORY.md |\n\n## 局限性\n\n1. **单向同步**：目前只从 OpenClaw → Hermes，没有反向同步\n2. **手动触发**：需要手动运行脚本，未加入自动 cron\n3. **仅同步 memory chunks**：不包括 OpenClaw 各 agent 的独立 sqlite（xiao.sqlite、main.sqlite 等）\n\n## 改进方向\n\n1. **定时自动同步**：加入每日 cron（建议在晚间蒸馏前执行）\n2. **反向同步**：将 Hermes MEMORY.md 的重要更新写回 OpenClaw\n3. **多 agent sqlite 整合**：读取 xiao.sqlite、content-reviewer.sqlite 等获取更多 agent 视角的记忆\n4. **差异告警**：如果两边对同一事实的记录矛盾，告警通知\n\nFile v5.0.0:references/multi-agent-team-architecture.md\n\n# 多 Agent 团队架构参考\n\n> 来源：OpenClaw 搭建 6 人团队，它开始自己转起来了\n> 作者：yabin\n> 链接：https://mp.weixin.qq.com/s/D33ScqwgpjiwI4PDN3vUaA\n> 抓取时间：2026-04-17\n\n## 核心架构\n\n```\n同一飞书机器人（一个前台号码）\n  ↓ 按群聊 ID 路由\n开发群 → main agent\n产品群 → product-claw\n测试群 → qa-claw\n调研群 → research-claw\n数据分析群 → analytics-claw\n运营群 → ops-claw\n```\n\n每个 agent 有独立 workspace，上下文件隔离，形成闭环飞轮：\n```\nresearch → product → dev → qa → analytics → ops → 下一轮\n```\n\n## 关键结论\n\n### 1. 不拆 workspace，多 agent 很容易只是幻觉\n- 不同角色的长期记忆不会混在一起\n- 本地 skill、模板、文档可以按角色分别放\n- 同一个飞书机器人进来的消息，最终会落进不同工作目录\n\n### 2. 角色文件必须落到角色边界上\n每个 agent 独立配置：\n- AGENTS.md、IDENTITY.md、SOUL.md、USER.md、TOOLS.md、MEMORY.md\n\n### 3. 产品 agent 特别值得挂方法库\n开发 agent 靠代码库天然有上下文，产品 agent 没有方法库的话很容易退化成\"会写点文档的通用聊天机器人\"。\n\n### 4. 路由方式选择\n- 按群聊 peer-id 路由是最自然的形态\n- 人在协作里本来就已按群在分场景\n\n### 5. 专人助手式的 agent，交互摩擦一定要足够低\n- 如果机器人是共享工具，那 @ 一下很合理\n- 如果机器人是专属群的长期助手，每次都 @ 一下就很蠢\n\n## OpenClaw 飞书插件 Bug（已发现）\n\n1. **机器人名字**不是在 OpenClaw 里改，而是在飞书开放平台的 Bot 能力页改\n   - appId/appSecret 解决\"这个机器人是谁\"\n   - Bot 显示名解决\"别人看到它叫什么\"\n\n2. **requireMention per-group 配置无效**\n   - 文档支持 `groups.<id>.requireMention`\n   - 配置 schema 也支持\n   - 但运行时代码只读了全局 `channels.feishu-china.requireMention`\n   - per-group 覆盖配置根本没被用上\n\n## 方案边界\n\n解决的是：\n- 角色分工\n- 上下文隔离\n- 单机器人多场景协作\n\n没有解决的是：\n- 容器级强安全隔离\n- 多套全局凭证隔离\n- 多飞书机器人并行的插件级支持\n\n本质：同一个 gateway 进程、同一个 OpenClaw 实例、同一套全局配置。\n是「角色隔离 + 上下文隔离」，不是「基础设施级彻底隔离」。\n\n## 实践要点\n\n1. 默认开发 agent 尽量保留 main（兼容性现实）\n2. 多 agent 的关键不是多写几个 id，而是拆 workspace\n3. 人格文件必须和 AGENTS.md、TOOLS.md、MEMORY.md 一起工作\n4. 产品 agent 特别值得挂方法库\n5. 同一个飞书机器人按群路由是最顺手的形态\n6. 如果配置明明对了但不工作，第一时间去看运行时日志，不要先怀疑自己\n\nFile v5.0.0:references/skill-evolution-v50.md\n\n# 技能进化插件 v5.0 — 扩展模块参考\n\n## 模块依赖关系\n\n```\ndream.py (主流程)\n    │\n    ├── [E1] work_review.WorkAnalyzer      # 工作复盘分析\n    │         └── TomorrowPlanner           # 明日计划生成\n    │\n    ├── [E2] skill_evolution.SkillScorer   # 技能评分\n    │\n    ├── [E3] skill_evolution.DecayEngine  # 用进废退衰减\n    │\n    ├── [E4] skill_evolution.SkillRegistry # 技能注册表更新\n    │\n    ├── [E5] work_review.TomorrowPlanner   # 明日计划（依赖E1+E2）\n    │\n    ├── [E6] skill_explorer.GapDetector   # 技能缺口检测\n    │         └── SkillLearner             # 自主学习\n    │\n    ├── [E7] skill_developer.SkillGenerator # 技能全自动生成\n    │         ├── SkillTemplates           # 技能模板库\n    │         └── SkillQualityAssessor     # 质量评估\n    │\n    └── [E8] reporter.DailyReporter        # 每日汇报生成\n              └── SkillReportGenerator     # 技能专项报告\n```\n\n## 技能评分公式\n\n```python\ntotal_score = (\n    frequency_score * 0.4 +    # 调用频率（对数衰减）\n    recency_score * 0.3 +      # 最近使用时间\n    success_score * 0.3        # 成功率\n) * decay_factor\n\n# 时间衰减因子\nif days_since_call > 180: decay_factor = 0.0   # 归档\nelif days_since_call > 90:  decay_factor = 0.2\nelif days_since_call > 30:  decay_factor = 0.5\nelse:                       decay_factor = 1.0\n```\n\n## 数据存储路径\n\n```\n~/.openclaw/workspace/\n└── memory/\n    ├── dreams/\n    │   ├── 2026-05-03.md              # 梦境报告\n    │   └── daily-report-2026-05-03.md # 每日完整汇报\n    └── ...\n\n~/.skill_scoreboard/\n└── scores.json                        # 技能积分榜数据\n```\n\n## skill_scoreboard 数据结构\n\n```json\n{\n  \"skills\": {\n    \"weather\": {\n      \"total_count\": 4,\n      \"total_score\": 54.12,\n      \"last_used\": \"2026-04-29T...\",\n      \"last_score\": 54.12,\n      \"quality_score\": 1.0\n    }\n  }\n}\n```\n\n## 技能等级阈值\n\n```python\nTIER_THRESHOLDS = {\n    '🔥': 80,   # 高度活跃\n    '📈': 60,   # 正常\n    '💤': 40,   # 低活跃\n    '🗄️': 20,   # 休眠\n    '⚰️': 0,    # 已归档\n}\n```\n\n## 技能生成触发条件\n\n当 `GapDetector` 检测到以下情况时，触发 `SkillGenerator`：\n\n1. 用户需求与现有技能不匹配（相似度 < 0.6）\n2. 某类任务频繁出现但无对应技能\n3. 技能缺口被重复识别（同一缺口出现 ≥3 次）\n4. 新领域探索任务需要系统性支持\n\n## 汇报模板（六大模块）\n\n```\n📊 每日汇报 — {date}\n═══════════════════════════════════\n\n## 📝 今日总结\n### 工作完成情况\n### 完成的任务 (N项)\n### 未完成的任务 (N项)\n### 阻碍因素\n\n## 📋 明日计划\n### 继续任务\n### 新增任务\n### 技能开发计划\n### 执行优先级\n\n## 🛠️ 技能开发\n### 新开发的技能\n### 技能改进\n### 开发理由\n\n## 📈 技能评分（用进废退）\n### 技能活跃度排行\n### 技能状态分布\n### 需关注的技能\n### 用进废退记录\n\n## 🎯 精进点\n### 今日学到的新东西\n### 需要改进的地方\n### 明日行动项\n\n## 💭 个人感想\n```\n\nFile v5.0.0:package.json\n\n{\n  \"name\": \"dream\",\n  \"version\": \"4.0.4\",\n  \"description\": \"Dream self-evolution skill\"\n}\n\nArchive v4.2.1: 20 files, 57372 bytes\n\nFiles: _meta.json (138b), analyze.py (781b), bundle-search.py (19253b), check_skill.py (2020b), debug_ep.py (295b), debug_parse.py (297b), find_closes.py (1482b), find_marker.py (322b), fix_bundle.py (4612b), fix_ep_dedup.py (284b), fix_insert.py (1490b), fix_israw.py (440b), graph-builder.py (33644b), package.json (91b), references/multi-agent-team-architecture.md (2843b), scripts/capability_analyzer.py (13665b), scripts/dream.py (54601b), scripts/longterm_rag.py (8084b), scripts/update-cron-date.py (6872b), SKILL.md (15741b)\n\nFile v4.2.1:SKILL.md\n\n---\nname: dream-selfimproving\ndescription: \"让AI拥有进化能力——每晚自动复盘当天对话，提取洞察，更新记忆，像梦境一样在夜里悄然进化。不用手动记录，AI自己记住重要的事，越用越聪明。\"\nmetadata:\n  openclaw:\n    requires:\n      bins:\n        - python\n      env:\n        SWARMRECALL_API_KEY:\n          description: \"可选。云端去重/矛盾检测密钥。不设置则仅本地运行。\"\n          required: false\n    notes: |\n      运行时通过 `openclaw env get` / `openclaw cron list` 动态获取，无需预先声明环境变量。\n\n      Cron编辑：update-cron-date.py 通过 'openclaw cron edit' 修改 dream cron 作业消息。\n      ⚠️ 特权操作，需使用 --confirm 标志：python update-cron-date.py --confirm\n      详情见下方 ## 安全说明 章节。\n  meta:\n    name: \"dream-AI进化的梦之核\"\n    tagline: \"让AI每晚进化一次，越用越聪明\"\n    category: memory\n    tags: [AI, memory, distillation, RAG, self-improving, 夜间蒸馏, 知识图谱]\n---\n\n# Dream Self-improving — 夜间记忆蒸馏与自我进化\n\n> 🧠 **v4.x 已集成 Long-Term RAG** — MetaGPT风格短长记忆合并，条目老化后自动晋升到 RAG 层\n\n## 现状\n\n**Phase 3（✅ 已实现）：** OpenClaw Hook `hippocampus` 监听每条消息，实时写入 `memory/logs/`\n**Phase 3（✅ 已实现）：** `dream.py v4.x` 定时蒸馏 + M-FLOW Bundle Search检索\n**Phase 3（✅ 已实现）：** `dream.py v4.x` Long-Term RAG 长记忆层\n\n---\n\n## 核心升级：Long-Term RAG\n\n参考 MetaGPT 的 RoleZeroLongTermMemory 设计，新增短长记忆合并机制：\n\n```\nshort-term-recall.json  ←  活跃recall条目（上限200条）\nmemory/.rag/longterm.jsonl  ←  老旧条目RAG存储\n```\n\n**晋升条件：**\n- 条目 age > 30天（从最后召回时间算）\n- 且 recallCount < 3（未被频繁召回）\n\n**召回流程：**\n1. 蒸馏前，从当日高权重条目提取关键词\n2. 用关键词查询 RAG，召回相关旧记忆\n3. 旧记忆注入蒸馏上下文，让 AI 知道\"之前有过什么\"\n\n**效果：** 记忆越来越精准，不像以前每次都从零开始。\n\n---\n\n## 完整链路\n\n```\n用户对话\n   ↓\nOpenClaw Hook: message:preprocessed\n   ↓\n丘脑过滤（Thalamus）→ 杏仁核标记（Amygdala）→ 海马体存储（memory/logs/）\n   ↓\ncron 触发（早7点/晚10点）\ndream.py v4.x\n   ↓\n[4.5] RAG查询 — 从当日条目提取关键词 → 查询memory/.rag/longterm.jsonl → 注入蒸馏上下文\n   ↓\nBundle Search检索（替代简单grep）\n   ↓\n杏仁核标记融合 → Auditor审计 → 分析皮层模式识别 → 前额叶蒸馏规划\n   ↓\n[4.6] RAG晋升 — 30天+未召回条目 → 写入longterm.jsonl\n   ↓\n归档区 → 真相文件写回 → 梦境报告\n```\n\n---\n\n## M-FLOW 核心架构\n\n### 倒锥知识图谱（Inverted Cone）\n\n所有记忆组织为**四层有向图**，形成倒锥结构：\n\n```\n          锥尖（容易精确命中）\n             ↓\n    ┌─────────────────────────┐\n    │  L4 Entity             │  ← 用户/项目/系统等实体节点\n    │  L3 FacetPoint         │  ← 具体属性、特征、标签\n    │  L2 Facet               │  ← 一组相关特征\n    │  L1 Episode（锥底）     │  ← 最终返回的知识单元\n    └─────────────────────────┘\n          锥底（返回给用户）\n```\n\n**搜索逻辑（Bundle Search）：**\n1. **锥尖广撒网**：查询向量化后同时在4层搜索，每个集合返回最多100个候选\n2. **投影到图中**：命中点作为入口，提取周围子图（边+邻居+连接关系）\n3. **代价传播**：沿边从锥尖向锥底传播，Episode得分 = 所有路径中最小代价\n\n**三条核心设计原则：**\n\n| 原则 | 说明 | 对应效果 |\n|------|------|---------|\n| **边携带语义** | 每条边附带自然语言描述，参与检索 | 不是被动连接，是主动语义过滤器 |\n| **路径最小代价** | 一条强证据链就足以证明相关性 | 不被无关路径稀释分数 |\n| **惩罚直接命中Episode** | 直接匹配摘要反而加惩罚 | 偏好精准锚点路径，防止宽泛匹配 |\n\n---\n\n## 脑区协同架构\n\n**① 丘脑（Thalamus）— 注意力门控**\n> 过滤纯问候/简单确认，只记录有意义的事件\n> 标记类型：event / decision / correction / completed / insight / error\n\n**② 杏仁核（Amygdala）— 情绪标记**\n> correction/error/decision/completed/insight 携带 HIGH 权重，优先蒸馏\n\n**③ 海马体（Hippocampus）— M-FLOW图存储 + RAG**\n\nPhase 1：`memory/logs/` 追加日志（Episode层）\n\nPhase 2：构建M-FLOW图结构：\n\n```\nEpisode (L1)              ← daily log / topic file\n  ↓ semantic edge\nFacet (L2)                ← grouping: correction_group, project_xxx\n  ↓ semantic edge  \nFacetPoint (L3)           ← specific tag: error.timeout, user.pref\n  ↓ semantic edge\nEntity (L4)               ← user, project, tool, skill\n```\n\n**FacetPoint** = type + topic + keywords 的向量描述（向量化后参与Bundle Search）\n**语义边描述** = \"这个FacetPoint为什么属于这个Episode\" 的自然语言说明\n\n**④ 前额叶（Prefrontal Cortex）— Bundle Search + RAG召回 + 蒸馏规划**\n\nBundle Search检索替代简单grep：\n```\n查询 → 向量化 → 4层锥形搜索 → 代价传播 → 最小路径Episode\n```\n\nRAG召回（v4.x新增）：\n```\n当日关键词 → 查询longterm.jsonl → 召回相关旧记忆 → 注入蒸馏上下文\n```\n\n**⑤ 蓝斑核（Locus Coeruleus）— 警觉与新鲜度信号**\n> freshness分数——最近被提及的记忆权重更高\n\n---\n\n## Long-Term RAG Layer 详解\n\n### 存储结构\n\n```\nmemory/\n├── .dreams/\n│   └── short-term-recall.json   # 活跃recall条目（上限200条）\n└── .rag/\n    └── longterm.jsonl          # 老旧条目RAG存储（JSONL格式）\n```\n\n### 晋升机制\n\n```python\n# 晋升条件\nif age_days > 30 and recall_count < 3:\n    promote_to_longterm_rag(entry)\n```\n\n### 召回机制\n\n```python\n# 蒸馏前\nkeywords = [v['snippet'][:100] for v in tagged.values()][:20]\nquery = ' '.join(keywords[:5])\nrag_results = query_longterm_rag(query, k=5)\n\n# 召回结果注入蒸馏上下文\nlearnings['LEARNINGS.md'] += f\"\\n\\n## Long-Term Memory (RAG)\\n{rag_text}\"\n```\n\n### 手动命令\n\n```bash\n# 查看短/长记忆状态\npython skills/dream-selfimproving/scripts/longterm_rag.py --status\n\n# 手动晋升老条目\npython skills/dream-selfimproving/scripts/longterm_rag.py --promote\n\n# 搜索长记忆\npython skills/dream-selfimproving/scripts/longterm_rag.py --query \"关键词\"\n```\n\n---\n\n## Pattern Library\n\nPatterns are reusable response templates extracted from recurring learnings:\n\n```\nmemory/patterns/\n└── p-xxx.md           # Pattern files with trigger + response\n```\n\n**Pattern格式（含M-FLOW元数据）：**\n\n```yaml\n---\nname: pattern名称\ntrigger: 什么情况下触发\nresponse: 如何响应\nexamples: [案例1, 案例2]\ncreated: YYYY-MM-DD\nupdated: YYYY-MM-DD\n# M-FLOW 元数据\nentity: pattern          # L4 Entity\nfacets: [tag1, tag2]    # L3 FacetPoints\nepisode_id: p-xxx        # L1 Episode\n---\n```\n\n---\n\n## Memory Taxonomy & M-FLOW映射\n\n| Memory Type | L4 Entity | L3 FacetPoints | L1 Episode |\n|------------|-----------|-----------------|--------------|\n| **user** | user.luyi | role, pref, goal, communication_style | topics/user_*.md |\n| **feedback** | feedback | correction, error, insight, confirmation | topics/feedback_*.md |\n| **project** | project.{name} | decision, tool, deadline, context | topics/project_*.md |\n| **reference** | reference | credential, link, skill, system | topics/reference_*.md |\n| **longterm** | (RAG) | aged, promoted | .rag/longterm.jsonl |\n\n---\n\n## Directory Structure (v4.x)\n\n```\nmemory/\n├── graph/                         # M-FLOW 知识图谱\n│   ├── entities.json              # L4 Entity 节点列表\n│   ├── facetpoints.json           # L3 FacetPoint 节点列表\n│   ├── facets.json                # L2 Facet 节点列表\n│   ├── episodes.json              # L1 Episode 节点列表\n│   ├── edges.json                 # 语义边（含描述文本）\n│   └── index.json                 # 图索引 + 向量锚点\n├── logs/\n│   └── YYYY/MM/YYYY-MM-DD.md     # Daily append-only logs (Episode)\n├── topics/                        # Distilled topic memories\n│   ├── user_xxx.md\n│   ├── feedback_xxx.md\n│   ├── project_xxx.md\n│   └── reference_xxx.md\n├── patterns/                      # Pattern Library\n│   └── p-xxx.md\n├── episodes/                      # Project narratives\n├── .dreams/\n│   └── short-term-recall.json     # 活跃recall条目（上限200条）\n├── .rag/\n│   └── longterm.jsonl             # Long-Term RAG（v4.x新增）\n├── procedures.md                  # Workflow preferences\n├── archive.md                     # Compressed old entries\n├── dream-log.md                   # Dream cycle reports\n└── MEMORY.md                      # INDEX only\n\n.learnings/                        # self-improving-agent\n├── LEARNINGS.md\n├── ERRORS.md\n└── FEATURE_REQUESTS.md\n```\n\n---\n\n## Health Score (v4.x)\n\n| Metric | Weight | Formula |\n|--------|--------|---------|\n| Freshness | 0.20 | entries_referenced_last_30_days / total |\n| Coverage | 0.20 | categories_updated_last_14_days / 10 |\n| Coherence | 0.20 | entries_with_semantic_edges / total |\n| **Graph Connectivity** | 0.20 | connected_components_ratio |\n| Efficiency | 0.10 | max(0, 1 - line_count/500) |\n| Reachability | 0.10 | Bundle Search路径覆盖率 |\n\n---\n\n## Dream Distillation Steps (v4.x)\n\nWhen cron triggers:\n\n1. **Bundle Search预热**：用今日日志构建临时图结构，快速验证图连通性\n2. Read `memory/logs/{date}.md`\n3. Read `.learnings/LEARNINGS.md`, `.learnings/ERRORS.md`, `.learnings/FEATURE_REQUESTS.md`\n4. Read `MEMORY.md`, topic files, `graph/index.json`, `procedures.md` for context\n5. **Snapshot BEFORE**: count entries, decisions, lessons, procedures\n6. **[4.5] RAG召回**：从当日条目提取关键词 → 查询longterm.jsonl → 注入蒸馏上下文\n7. **图增强检索**：对每个learnings entry执行Bundle Search，找到相关Episode\n8. **Distillation Agent**: Run sub-agent on raw entries + learnings + RAG results → produce:\n   - 3-5 genuine insights (\"I learned that...\")\n   - 1-3 tomorrow action items\n   - 0-3 topic files to write to `memory/topics/`\n   - Health metric interpretation\n9. **[4.6] RAG晋升**：30天+未召回条目 → 写入longterm.jsonl\n10. **更新图结构**：\n    - 新Episode写入 `graph/episodes.json`\n    - 新FacetPoint写入 `graph/facetpoints.json`\n    - 新边写入 `graph/edges.json`（含语义描述）\n11. Write topic files (from Distillation Agent output)\n12. Update truth files (`user_state.md`, `pending.md`)\n13. Update `graph/index.json` entry metadata + 重新计算向量锚点\n14. Compute health metrics → update `graph/index.json` stats\n15. Archive eligible entries → append to `archive.md`\n16. Update `MEMORY.md` index (max 200 lines)\n17. **Snapshot AFTER**: calculate deltas\n18. Write dream report to `memory/dreams/{date}.md` and `dream-log.md`\n19. **[Optional SwarmRecall]**: 如果配置了API key，执行云端图同步\n\n---\n\n## Dream Report Format (v4.x)\n\n```markdown\n# 🌙 Dream Report — {date}\n\n## M-FLOW Graph Status\n- Entities: N | FacetPoints: N | Episodes: N | Edges: N\n- Graph Connectivity: {score}% | Avg Path Cost: {cost:.3f}\n\n## RAG Status\n- Short-term recall: N 条 | Long-term: M 条\n- Promoted this cycle: N 条\n\n## Health Insights\n- {insight based on graph connectivity / Bundle Search coverage}\n\n## Insights (\"I Learned\")\n- {genuine insight 1}\n- {genuine insight 2}\n\n## Tomorrow's Focus\n- {actionable item 1}\n- {actionable item 2}\n\n## Topic Files Written\n- {filename}: {title}\n\n## Graph Updates\n- New episodes: N\n- New semantic edges: N\n- Pruned nodes: N\n\n## Analysis\n- Recurring errors found: {list}\n- Root causes identified: {analysis}\n- Bundle Search paths evaluated: {count}\n\n## Patterns Updated\n- {pattern_name}: {change}\n```\n\n---\n\n## User Prompts\n\n- \"dream report\" / \"梦境报告\" → read and display latest dream report\n- \"dream\" / \"做梦\" → run distillation now\n- \"/dream status\" → show M-FLOW graph stats, health score, pattern count\n- \"/dream search {query}\" → run Bundle Search and show top results\n- \"/dream rag status\" → show RAG status (from longterm_rag.py)\n\n---\n\n---\n\n## 🔒 安全说明\n\n### update-cron-date.py 的 --confirm 标志\n\n此脚本用于修改 OpenClaw cron 作业，属于**特权操作**。\n\n- `--confirm` 标志是安全机制，防止意外执行\n- 无此标志时，脚本只显示将要做什么但不会实际修改\n- 使用前请确保您了解 cron 作业的当前状态：\n  ```bash\n  openclaw cron list\n  ```\n\n### SWARMRECALL_API_KEY 环境变量\n\n- **声明位置：** `metadata.openclaw.requires.env.SWARMRECALL_API_KEY`\n- **用途：** 可选。云端去重/矛盾检测（需连接 SwarmRecall 服务）\n- **默认值：** 不设置则仅本地运行，无云端功能\n- **获取方式：** 向 SwarmRecall 服务注册获取\n\n### 文件访问范围\n\n此技能会访问和修改以下位置的文件：\n- `~/.openclaw/workspace/memory/logs/` — 对话日志\n- `~/.openclaw/workspace/memory/.dreams/` — 梦境报告\n- `~/.openclaw/workspace/memory/.rag/` — 长记忆 RAG 存储\n- `~/.openclaw/workspace/memory/.truth/` — 真相文件\n- `~/.openclaw/workspace/memory/.learnings/` — 学习记录\n- `~/.openclaw/hooks/hippocampus/` — Hook 配置\n- OpenClaw cron 条目（通过 update-cron-date.py）\n\n---\n\n## Scripts\n\n- `dream.py` — Phase 2 蒸馏脚本（v4.x，M-FLOW Bundle Search + RAG召回/晋升）\n- `update-cron-date.py` — 每日 cron 日期注入 ⚠️ 特权操作，需 --confirm\n- `graph-builder.py` — 从日志构建M-FLOW图结构\n- `bundle-search.py` — Bundle Search检索实现\n- `longterm_rag.py` — Long-Term RAG 管理脚本（v4.x新增）\n\n---\n\n## Phase 1 启用（hippocampus hook）\n\n**Hook 目录：** `~/.openclaw/hooks/hippocampus/`\n**已配置：** `openclaw.json` 中 `hooks.internal.entries.hippocampus: enabled: true`\n\n**功能：** 监听 `message:preprocessed` 事件，自动记录对话到 `memory/logs/YYYY/MM/YYYY-MM-DD.md`\n\n**丘脑过滤规则：**\n- 纯问候 / 简单确认（<20字）不记录\n- 高权重标记：correction / error / decision / completed / insight\n\n重启 gateway 后生效：\n```bash\nschtasks /run /tn \"OpenClaw Gateway\"\n```\n\n---\n\n## M-FLOW vs 旧架构对比\n\n| 维度 | 旧架构（平坦检索） | M-FLOW（倒锥图路由） |\n|------|-------------------|----------------------|\n| **存储结构** | 平面文件列表 | 四层有向图 |\n| **检索方式** | grep / 向量相似度 | Bundle Search代价传播 |\n| **关系表示** | 简单link引用 | 带语义描述的边 |\n| **短长记忆** | 无分层 | 30天老化晋升RAG |\n\n---\n\n## 与MetaGPT对比\n\n| 维度 | MetaGPT RoleZeroLongTermMemory | Dream Long-Term RAG |\n|------|-------------------------------|---------------------|\n| **RAG引擎** | Chroma + LLMRanker | JSONL + 关键词匹配 |\n| **召回触发** | memory_k 溢出 或 用户需求 | 每次蒸馏前 |\n| **晋升条件** | count > memory_k | age > 30天 且 recallCount < 3 |\n| **向量化** | embedding 模型 | 词袋模型（简化版） |\n| **复杂度** | 依赖 Chroma/llama-index | 纯 Python，无外部依赖 |\n\nFile v4.2.1:_meta.json\n\n{\n  \"ownerId\": \"kn75g2sw7ssvtwkxyw4pce8t3d84mna2\",\n  \"slug\": \"dream-selfimproving\",\n  \"version\": \"4.2.1\",\n  \"publishedAt\": 1777387182946\n}\n\nFile v4.2.1:references/multi-agent-team-architecture.md\n\n# 多 Agent 团队架构参考\n\n> 来源：OpenClaw 搭建 6 人团队，它开始自己转起来了\n> 作者：yabin\n> 链接：https://mp.weixin.qq.com/s/D33ScqwgpjiwI4PDN3vUaA\n> 抓取时间：2026-04-17\n\n## 核心架构\n\n```\n同一飞书机器人（一个前台号码）\n  ↓ 按群聊 ID 路由\n开发群 → main agent\n产品群 → product-claw\n测试群 → qa-claw\n调研群 → research-claw\n数据分析群 → analytics-claw\n运营群 → ops-claw\n```\n\n每个 agent 有独立 workspace，上下文件隔离，形成闭环飞轮：\n```\nresearch → product → dev → qa → analytics → ops → 下一轮\n```\n\n## 关键结论\n\n### 1. 不拆 workspace，多 agent 很容易只是幻觉\n- 不同角色的长期记忆不会混在一起\n- 本地 skill、模板、文档可以按角色分别放\n- 同一个飞书机器人进来的消息，最终会落进不同工作目录\n\n### 2. 角色文件必须落到角色边界上\n每个 agent 独立配置：\n- AGENTS.md、IDENTITY.md、SOUL.md、USER.md、TOOLS.md、MEMORY.md\n\n### 3. 产品 agent 特别值得挂方法库\n开发 agent 靠代码库天然有上下文，产品 agent 没有方法库的话很容易退化成\"会写点文档的通用聊天机器人\"。\n\n### 4. 路由方式选择\n- 按群聊 peer-id 路由是最自然的形态\n- 人在协作里本来就已按群在分场景\n\n### 5. 专人助手式的 agent，交互摩擦一定要足够低\n- 如果机器人是共享工具，那 @ 一下很合理\n- 如果机器人是专属群的长期助手，每次都 @ 一下就很蠢\n\n## OpenClaw 飞书插件 Bug（已发现）\n\n1. **机器人名字**不是在 OpenClaw 里改，而是在飞书开放平台的 Bot 能力页改\n   - appId/appSecret 解决\"这个机器人是谁\"\n   - Bot 显示名解决\"别人看到它叫什么\"\n\n2. **requireMention per-group 配置无效**\n   - 文档支持 `groups.<id>.requireMention`\n   - 配置 schema 也支持\n   - 但运行时代码只读了全局 `channels.feishu-china.requireMention`\n   - per-group 覆盖配置根本没被用上\n\n## 方案边界\n\n解决的是：\n- 角色分工\n- 上下文隔离\n- 单机器人多场景协作\n\n没有解决的是：\n- 容器级强安全隔离\n- 多套全局凭证隔离\n- 多飞书机器人并行的插件级支持\n\n本质：同一个 gateway 进程、同一个 OpenClaw 实例、同一套全局配置。\n是「角色隔离 + 上下文隔离」，不是「基础设施级彻底隔离」。\n\n## 实践要点\n\n1. 默认开发 agent 尽量保留 main（兼容性现实）\n2. 多 agent 的关键不是多写几个 id，而是拆 workspace\n3. 人格文件必须和 AGENTS.md、TOOLS.md、MEMORY.md 一起工作\n4. 产品 agent 特别值得挂方法库\n5. 同一个飞书机器人按群路由是最顺手的形态\n6. 如果配置明明对了但不工作，第一时间去看运行时日志，不要先怀疑自己\n\nFile v4.2.1:package.json\n\n{\n  \"name\": \"dream\",\n  \"version\": \"4.0.4\",\n  \"description\": \"Dream self-evolution skill\"\n}\n\nArchive v4.2.0: 20 files, 56896 bytes\n\nFiles: _meta.json (138b), analyze.py (781b), bundle-search.py (19253b), check_skill.py (2020b), debug_ep.py (295b), debug_parse.py (297b), find_closes.py (1482b), find_marker.py (322b), fix_bundle.py (4612b), fix_ep_dedup.py (284b), fix_insert.py (1490b), fix_israw.py (440b), graph-builder.py (33644b), package.json (91b), references/multi-agent-team-architecture.md (2843b), scripts/capability_analyzer.py (13665b), scripts/dream.py (54601b), scripts/longterm_rag.py (8084b), scripts/update-cron-date.py (6872b), SKILL.md (14444b)\n\nFile v4.2.0:SKILL.md\n\n---\nname: dream-selfimproving\ndescription: \"让AI拥有进化能力——每晚自动复盘当天对话，提取洞察，更新记忆，像梦境一样在夜里悄然进化。不用手动记录，AI自己记住重要的事，越用越聪明。\"\nmetadata:\n  openclaw:\n    requires:\n      bins:\n        - python\n      env:\n        SWARMRECALL_API_KEY:\n          description: \"可选。云端去重/矛盾检测密钥。不设置则仅本地运行。\"\n    notes: |\n      运行时通过 `openclaw env get` / `openclaw cron list` 动态获取，无需预先声明环境变量。\n\n      Cron编辑：update-cron-date.py 通过 'openclaw cron edit' 修改 dream cron 作业消息。\n      特权操作，需使用 --confirm 标志：python update-cron-date.py --confirm\n  meta:\n    name: \"dream-AI进化的梦之核\"\n    tagline: \"让AI每晚进化一次，越用越聪明\"\n    category: memory\n    tags: [AI, memory, distillation, RAG, self-improving, 夜间蒸馏, 知识图谱]\n---\n\n# Dream Self-improving — 夜间记忆蒸馏与自我进化\n\n> 🧠 **v4.x 已集成 Long-Term RAG** — MetaGPT风格短长记忆合并，条目老化后自动晋升到 RAG 层\n\n## 现状\n\n**Phase 3（✅ 已实现）：** OpenClaw Hook `hippocampus` 监听每条消息，实时写入 `memory/logs/`\n**Phase 3（✅ 已实现）：** `dream.py v4.x` 定时蒸馏 + M-FLOW Bundle Search检索\n**Phase 3（✅ 已实现）：** `dream.py v4.x` Long-Term RAG 长记忆层\n\n---\n\n## 核心升级：Long-Term RAG\n\n参考 MetaGPT 的 RoleZeroLongTermMemory 设计，新增短长记忆合并机制：\n\n```\nshort-term-recall.json  ←  活跃recall条目（上限200条）\nmemory/.rag/longterm.jsonl  ←  老旧条目RAG存储\n```\n\n**晋升条件：**\n- 条目 age > 30天（从最后召回时间算）\n- 且 recallCount < 3（未被频繁召回）\n\n**召回流程：**\n1. 蒸馏前，从当日高权重条目提取关键词\n2. 用关键词查询 RAG，召回相关旧记忆\n3. 旧记忆注入蒸馏上下文，让 AI 知道\"之前有过什么\"\n\n**效果：** 记忆越来越精准，不像以前每次都从零开始。\n\n---\n\n## 完整链路\n\n```\n用户对话\n   ↓\nOpenClaw Hook: message:preprocessed\n   ↓\n丘脑过滤（Thalamus）→ 杏仁核标记（Amygdala）→ 海马体存储（memory/logs/）\n   ↓\ncron 触发（早7点/晚10点）\ndream.py v4.x\n   ↓\n[4.5] RAG查询 — 从当日条目提取关键词 → 查询memory/.rag/longterm.jsonl → 注入蒸馏上下文\n   ↓\nBundle Search检索（替代简单grep）\n   ↓\n杏仁核标记融合 → Auditor审计 → 分析皮层模式识别 → 前额叶蒸馏规划\n   ↓\n[4.6] RAG晋升 — 30天+未召回条目 → 写入longterm.jsonl\n   ↓\n归档区 → 真相文件写回 → 梦境报告\n```\n\n---\n\n## M-FLOW 核心架构\n\n### 倒锥知识图谱（Inverted Cone）\n\n所有记忆组织为**四层有向图**，形成倒锥结构：\n\n```\n          锥尖（容易精确命中）\n             ↓\n    ┌─────────────────────────┐\n    │  L4 Entity             │  ← 用户/项目/系统等实体节点\n    │  L3 FacetPoint         │  ← 具体属性、特征、标签\n    │  L2 Facet               │  ← 一组相关特征\n    │  L1 Episode（锥底）     │  ← 最终返回的知识单元\n    └─────────────────────────┘\n          锥底（返回给用户）\n```\n\n**搜索逻辑（Bundle Search）：**\n1. **锥尖广撒网**：查询向量化后同时在4层搜索，每个集合返回最多100个候选\n2. **投影到图中**：命中点作为入口，提取周围子图（边+邻居+连接关系）\n3. **代价传播**：沿边从锥尖向锥底传播，Episode得分 = 所有路径中最小代价\n\n**三条核心设计原则：**\n\n| 原则 | 说明 | 对应效果 |\n|------|------|---------|\n| **边携带语义** | 每条边附带自然语言描述，参与检索 | 不是被动连接，是主动语义过滤器 |\n| **路径最小代价** | 一条强证据链就足以证明相关性 | 不被无关路径稀释分数 |\n| **惩罚直接命中Episode** | 直接匹配摘要反而加惩罚 | 偏好精准锚点路径，防止宽泛匹配 |\n\n---\n\n## 脑区协同架构\n\n**① 丘脑（Thalamus）— 注意力门控**\n> 过滤纯问候/简单确认，只记录有意义的事件\n> 标记类型：event / decision / correction / completed / insight / error\n\n**② 杏仁核（Amygdala）— 情绪标记**\n> correction/error/decision/completed/insight 携带 HIGH 权重，优先蒸馏\n\n**③ 海马体（Hippocampus）— M-FLOW图存储 + RAG**\n\nPhase 1：`memory/logs/` 追加日志（Episode层）\n\nPhase 2：构建M-FLOW图结构：\n\n```\nEpisode (L1)              ← daily log / topic file\n  ↓ semantic edge\nFacet (L2)                ← grouping: correction_group, project_xxx\n  ↓ semantic edge  \nFacetPoint (L3)           ← specific tag: error.timeout, user.pref\n  ↓ semantic edge\nEntity (L4)               ← user, project, tool, skill\n```\n\n**FacetPoint** = type + topic + keywords 的向量描述（向量化后参与Bundle Search）\n**语义边描述** = \"这个FacetPoint为什么属于这个Episode\" 的自然语言说明\n\n**④ 前额叶（Prefrontal Cortex）— Bundle Search + RAG召回 + 蒸馏规划**\n\nBundle Search检索替代简单grep：\n```\n查询 → 向量化 → 4层锥形搜索 → 代价传播 → 最小路径Episode\n```\n\nRAG召回（v4.x新增）：\n```\n当日关键词 → 查询longterm.jsonl → 召回相关旧记忆 → 注入蒸馏上下文\n```\n\n**⑤ 蓝斑核（Locus Coeruleus）— 警觉与新鲜度信号**\n> freshness分数——最近被提及的记忆权重更高\n\n---\n\n## Long-Term RAG Layer 详解\n\n### 存储结构\n\n```\nmemory/\n├── .dreams/\n│   └── short-term-recall.json   # 活跃recall条目（上限200条）\n└── .rag/\n    └── longterm.jsonl          # 老旧条目RAG存储（JSONL格式）\n```\n\n### 晋升机制\n\n```python\n# 晋升条件\nif age_days > 30 and recall_count < 3:\n    promote_to_longterm_rag(entry)\n```\n\n### 召回机制\n\n```python\n# 蒸馏前\nkeywords = [v['snippet'][:100] for v in tagged.values()][:20]\nquery = ' '.join(keywords[:5])\nrag_results = query_longterm_rag(query, k=5)\n\n# 召回结果注入蒸馏上下文\nlearnings['LEARNINGS.md'] += f\"\\n\\n## Long-Term Memory (RAG)\\n{rag_text}\"\n```\n\n### 手动命令\n\n```bash\n# 查看短/长记忆状态\npython skills/dream-selfimproving/scripts/longterm_rag.py --status\n\n# 手动晋升老条目\npython skills/dream-selfimproving/scripts/longterm_rag.py --promote\n\n# 搜索长记忆\npython skills/dream-selfimproving/scripts/longterm_rag.py --query \"关键词\"\n```\n\n---\n\n## Pattern Library\n\nPatterns are reusable response templates extracted from recurring learnings:\n\n```\nmemory/patterns/\n└── p-xxx.md           # Pattern files with trigger + response\n```\n\n**Pattern格式（含M-FLOW元数据）：**\n\n```yaml\n---\nname: pattern名称\ntrigger: 什么情况下触发\nresponse: 如何响应\nexamples: [案例1, 案例2]\ncreated: YYYY-MM-DD\nupdated: YYYY-MM-DD\n# M-FLOW 元数据\nentity: pattern          # L4 Entity\nfacets: [tag1, tag2]    # L3 FacetPoints\nepisode_id: p-xxx        # L1 Episode\n---\n```\n\n---\n\n## Memory Taxonomy & M-FLOW映射\n\n| Memory Type | L4 Entity | L3 FacetPoints | L1 Episode |\n|------------|-----------|-----------------|--------------|\n| **user** | user.luyi | role, pref, goal, communication_style | topics/user_*.md |\n| **feedback** | feedback | correction, error, insight, confirmation | topics/feedback_*.md |\n| **project** | project.{name} | decision, tool, deadline, context | topics/project_*.md |\n| **reference** | reference | credential, link, skill, system | topics/reference_*.md |\n| **longterm** | (RAG) | aged, promoted | .rag/longterm.jsonl |\n\n---\n\n## Directory Structure (v4.x)\n\n```\nmemory/\n├── graph/                         # M-FLOW 知识图谱\n│   ├── entities.json              # L4 Entity 节点列表\n│   ├── facetpoints.json           # L3 FacetPoint 节点列表\n│   ├── facets.json                # L2 Facet 节点列表\n│   ├── episodes.json              # L1 Episode 节点列表\n│   ├── edges.json                 # 语义边（含描述文本）\n│   └── index.json                 # 图索引 + 向量锚点\n├── logs/\n│   └── YYYY/MM/YYYY-MM-DD.md     # Daily append-only logs (Episode)\n├── topics/                        # Distilled topic memories\n│   ├── user_xxx.md\n│   ├── feedback_xxx.md\n│   ├── project_xxx.md\n│   └── reference_xxx.md\n├── patterns/                      # Pattern Library\n│   └── p-xxx.md\n├── episodes/                      # Project narratives\n├── .dreams/\n│   └── short-term-recall.json     # 活跃recall条目（上限200条）\n├── .rag/\n│   └── longterm.jsonl             # Long-Term RAG（v4.x新增）\n├── procedures.md                  # Workflow preferences\n├── archive.md                     # Compressed old entries\n├── dream-log.md                   # Dream cycle reports\n└── MEMORY.md                      # INDEX only\n\n.learnings/                        # self-improving-agent\n├── LEARNINGS.md\n├── ERRORS.md\n└── FEATURE_REQUESTS.md\n```\n\n---\n\n## Health Score (v4.x)\n\n| Metric | Weight | Formula |\n|--------|--------|---------|\n| Freshness | 0.20 | entries_referenced_last_30_days / total |\n| Coverage | 0.20 | categories_updated_last_14_days / 10 |\n| Coherence | 0.20 | entries_with_semantic_edges / total |\n| **Graph Connectivity** | 0.20 | connected_components_ratio |\n| Efficiency | 0.10 | max(0, 1 - line_count/500) |\n| Reachability | 0.10 | Bundle Search路径覆盖率 |\n\n---\n\n## Dream Distillation Steps (v4.x)\n\nWhen cron triggers:\n\n1. **Bundle Search预热**：用今日日志构建临时图结构，快速验证图连通性\n2. Read `memory/logs/{date}.md`\n3. Read `.learnings/LEARNINGS.md`, `.learnings/ERRORS.md`, `.learnings/FEATURE_REQUESTS.md`\n4. Read `MEMORY.md`, topic files, `graph/index.json`, `procedures.md` for context\n5. **Snapshot BEFORE**: count entries, decisions, lessons, procedures\n6. **[4.5] RAG召回**：从当日条目提取关键词 → 查询longterm.jsonl → 注入蒸馏上下文\n7. **图增强检索**：对每个learnings entry执行Bundle Search，找到相关Episode\n8. **Distillation Agent**: Run sub-agent on raw entries + learnings + RAG results → produce:\n   - 3-5 genuine insights (\"I learned that...\")\n   - 1-3 tomorrow action items\n   - 0-3 topic files to write to `memory/topics/`\n   - Health metric interpretation\n9. **[4.6] RAG晋升**：30天+未召回条目 → 写入longterm.jsonl\n10. **更新图结构**：\n    - 新Episode写入 `graph/episodes.json`\n    - 新FacetPoint写入 `graph/facetpoints.json`\n    - 新边写入 `graph/edges.json`（含语义描述）\n11. Write topic files (from Distillation Agent output)\n12. Update truth files (`user_state.md`, `pending.md`)\n13. Update `graph/index.json` entry metadata + 重新计算向量锚点\n14. Compute health metrics → update `graph/index.json` stats\n15. Archive eligible entries → append to `archive.md`\n16. Update `MEMORY.md` index (max 200 lines)\n17. **Snapshot AFTER**: calculate deltas\n18. Write dream report to `memory/dreams/{date}.md` and `dream-log.md`\n19. **[Optional SwarmRecall]**: 如果配置了API key，执行云端图同步\n\n---\n\n## Dream Report Format (v4.x)\n\n```markdown\n# 🌙 Dream Report — {date}\n\n## M-FLOW Graph Status\n- Entities: N | FacetPoints: N | Episodes: N | Edges: N\n- Graph Connectivity: {score}% | Avg Path Cost: {cost:.3f}\n\n## RAG Status\n- Short-term recall: N 条 | Long-term: M 条\n- Promoted this cycle: N 条\n\n## Health Insights\n- {insight based on graph connectivity / Bundle Search coverage}\n\n## Insights (\"I Learned\")\n- {genuine insight 1}\n- {genuine insight 2}\n\n## Tomorrow's Focus\n- {actionable item 1}\n- {actionable item 2}\n\n## Topic Files Written\n- {filename}: {title}\n\n## Graph Updates\n- New episodes: N\n- New semantic edges: N\n- Pruned nodes: N\n\n## Analysis\n- Recurring errors found: {list}\n- Root causes identified: {analysis}\n- Bundle Search paths evaluated: {count}\n\n## Patterns Updated\n- {pattern_name}: {change}\n```\n\n---\n\n## User Prompts\n\n- \"dream report\" / \"梦境报告\" → read and display latest dream report\n- \"dream\" / \"做梦\" → run distillation now\n- \"/dream status\" → show M-FLOW graph stats, health score, pattern count\n- \"/dream search {query}\" → run Bundle Search and show top results\n- \"/dream rag status\" → show RAG status (from longterm_rag.py)\n\n---\n\n## Scripts\n\n- `dream.py` — Phase 2 蒸馏脚本（v4.x，M-FLOW Bundle Search + RAG召回/晋升）\n- `update-cron-date.py` — 每日 cron 日期注入\n- `graph-builder.py` — 从日志构建M-FLOW图结构\n- `bundle-search.py` — Bundle Search检索实现\n- `longterm_rag.py` — Long-Term RAG 管理脚本（v4.x新增）\n\n---\n\n## Phase 1 启用（hippocampus hook）\n\n**Hook 目录：** `~/.openclaw/hooks/hippocampus/`\n**已配置：** `openclaw.json` 中 `hooks.internal.entries.hippocampus: enabled: true`\n\n**功能：** 监听 `message:preprocessed` 事件，自动记录对话到 `memory/logs/YYYY/MM/YYYY-MM-DD.md`\n\n**丘脑过滤规则：**\n- 纯问候 / 简单确认（<20字）不记录\n- 高权重标记：correction / error / decision / completed / insight\n\n重启 gateway 后生效：\n```bash\nschtasks /run /tn \"OpenClaw Gateway\"\n```\n\n---\n\n## M-FLOW vs 旧架构对比\n\n| 维度 | 旧架构（平坦检索） | M-FLOW（倒锥图路由） |\n|------|-------------------|----------------------|\n| **存储结构** | 平面文件列表 | 四层有向图 |\n| **检索方式** | grep / 向量相似度 | Bundle Search代价传播 |\n| **关系表示** | 简单link引用 | 带语义描述的边 |\n| **短长记忆** | 无分层 | 30天老化晋升RAG |\n\n---\n\n## 与MetaGPT对比\n\n| 维度 | MetaGPT RoleZeroLongTermMemory | Dream Long-Term RAG |\n|------|-------------------------------|---------------------|\n| **RAG引擎** | Chroma + LLMRanker | JSONL + 关键词匹配 |\n| **召回触发** | memory_k 溢出 或 用户需求 | 每次蒸馏前 |\n| **晋升条件** | count > memory_k | age > 30天 且 recallCount < 3 |\n| **向量化** | embedding 模型 | 词袋模型（简化版） |\n| **复杂度** | 依赖 Chroma/llama-index | 纯 Python，无外部依赖 |\n\nFile v4.2.0:_meta.json\n\n{\n  \"ownerId\": \"kn75g2sw7ssvtwkxyw4pce8t3d84mna2\",\n  \"slug\": \"dream-selfimproving\",\n  \"version\": \"4.2.0\",\n  \"publishedAt\": 1777385900799\n}\n\nFile v4.2.0:references/multi-agent-team-architecture.md\n\n# 多 Agent 团队架构参考\n\n> 来源：OpenClaw 搭建 6 人团队，它开始自己转起来了\n> 作者：yabin\n> 链接：https://mp.weixin.qq.com/s/D33ScqwgpjiwI4PDN3vUaA\n> 抓取时间：2026-04-17\n\n## 核心架构\n\n```\n同一飞书机器人（一个前台号码）\n  ↓ 按群聊 ID 路由\n开发群 → main agent\n产品群 → product-claw\n测试群 → qa-claw\n调研群 → research-claw\n数据分析群 → analytics-claw\n运营群 → ops-claw\n```\n\n每个 agent 有独立 workspace，上下文件隔离，形成闭环飞轮：\n```\nresearch → product → dev → qa → analytics → ops → 下一轮\n```\n\n## 关键结论\n\n### 1. 不拆 workspace，多 agent 很容易只是幻觉\n- 不同角色的长期记忆不会混在一起\n- 本地 skill、模板、文档可以按角色分别放\n- 同一个飞书机器人进来的消息，最终会落进不同工作目录\n\n### 2. 角色文件必须落到角色边界上\n每个 agent 独立配置：\n- AGENTS.md、IDENTITY.md、SOUL.md、USER.md、TOOLS.md、MEMORY.md\n\n### 3. 产品 agent 特别值得挂方法库\n开发 agent 靠代码库天然有上下文，产品 agent 没有方法库的话很容易退化成\"会写点文档的通用聊天机器人\"。\n\n### 4. 路由方式选择\n- 按群聊 peer-id 路由是最自然的形态\n- 人在协作里本来就已按群在分场景\n\n### 5. 专人助手式的 agent，交互摩擦一定要足够低\n- 如果机器人是共享工具，那 @ 一下很合理\n- 如果机器人是专属群的长期助手，每次都 @ 一下就很蠢\n\n## OpenClaw 飞书插件 Bug（已发现）\n\n1. **机器人名字**不是在 OpenClaw 里改，而是在飞书开放平台的 Bot 能力页改\n   - appId/appSecret 解决\"这个机器人是谁\"\n   - Bot 显示名解决\"别人看到它叫什么\"\n\n2. **requireMention per-group 配置无效**\n   - 文档支持 `groups.<id>.requireMention`\n   - 配置 schema 也支持\n   - 但运行时代码只读了全局 `channels.feishu-china.requireMention`\n   - per-group 覆盖配置根本没被用上\n\n## 方案边界\n\n解决的是：\n- 角色分工\n- 上下文隔离\n- 单机器人多场景协作\n\n没有解决的是：\n- 容器级强安全隔离\n- 多套全局凭证隔离\n- 多飞书机器人并行的插件级支持\n\n本质：同一个 gateway 进程、同一个 OpenClaw 实例、同一套全局配置。\n是「角色隔离 + 上下文隔离」，不是「基础设施级彻底隔离」。\n\n## 实践要点\n\n1. 默认开发 agent 尽量保留 main（兼容性现实）\n2. 多 agent 的关键不是多写几个 id，而是拆 workspace\n3. 人格文件必须和 AGENTS.md、TOOLS.md、MEMORY.md 一起工作\n4. 产品 agent 特别值得挂方法库\n5. 同一个飞书机器人按群路由是最顺手的形态\n6. 如果配置明明对了但不工作，第一时间去看运行时日志，不要先怀疑自己\n\nFile v4.2.0:package.json\n\n{\n  \"name\": \"dream\",\n  \"version\": \"4.0.4\",\n  \"description\": \"Dream self-evolution skill\"\n}\n\nArchive v4.1.6: 19 files, 52662 bytes\n\nFiles: _meta.json (138b), analyze.py (781b), bundle-search.py (19253b), check_skill.py (2020b), debug_ep.py (295b), debug_parse.py (297b), find_closes.py (1482b), find_marker.py (322b), fix_bundle.py (4612b), fix_ep_dedup.py (284b), fix_insert.py (1490b), fix_israw.py (440b), graph-builder.py (33644b), package.json (91b), references/multi-agent-team-architecture.md (2843b), scripts/dream.py (54598b), scripts/longterm_rag.py (8084b), scripts/update-cron-date.py (6872b), SKILL.md (14444b)\n\nFile v4.1.6:SKILL.md\n\n---\nname: dream-selfimproving\ndescription: \"让AI拥有进化能力——每晚自动复盘当天对话，提取洞察，更新记忆，像梦境一样在夜里悄然进化。不用手动记录，AI自己记住重要的事，越用越聪明。\"\nmetadata:\n  openclaw:\n    requires:\n      bins:\n        - python\n      env:\n        SWARMRECALL_API_KEY:\n          description: \"可选。云端去重/矛盾检测密钥。不设置则仅本地运行。\"\n    notes: |\n      运行时通过 `openclaw env get` / `openclaw cron list` 动态获取，无需预先声明环境变量。\n\n      Cron编辑：update-cron-date.py 通过 'openclaw cron edit' 修改 dream cron 作业消息。\n      特权操作，需使用 --confirm 标志：python update-cron-date.py --confirm\n  meta:\n    name: \"dream-AI进化的梦之核\"\n    tagline: \"让AI每晚进化一次，越用越聪明\"\n    category: memory\n    tags: [AI, memory, distillation, RAG, self-improving, 夜间蒸馏, 知识图谱]\n---\n\n# Dream Self-improving — 夜间记忆蒸馏与自我进化\n\n> 🧠 **v4.x 已集成 Long-Term RAG** — MetaGPT风格短长记忆合并，条目老化后自动晋升到 RAG 层\n\n## 现状\n\n**Phase 3（✅ 已实现）：** OpenClaw Hook `hippocampus` 监听每条消息，实时写入 `memory/logs/`\n**Phase 3（✅ 已实现）：** `dream.py v4.x` 定时蒸馏 + M-FLOW Bundle Search检索\n**Phase 3（✅ 已实现）：** `dream.py v4.x` Long-Term RAG 长记忆层\n\n---\n\n## 核心升级：Long-Term RAG\n\n参考 MetaGPT 的 RoleZeroLongTermMemory 设计，新增短长记忆合并机制：\n\n```\nshort-term-recall.json  ←  活跃recall条目（上限200条）\nmemory/.rag/longterm.jsonl  ←  老旧条目RAG存储\n```\n\n**晋升条件：**\n- 条目 age > 30天（从最后召回时间算）\n- 且 recallCount < 3（未被频繁召回）\n\n**召回流程：**\n1. 蒸馏前，从当日高权重条目提取关键词\n2. 用关键词查询 RAG，召回相关旧记忆\n3. 旧记忆注入蒸馏上下文，让 AI 知道\"之前有过什么\"\n\n**效果：** 记忆越来越精准，不像以前每次都从零开始。\n\n---\n\n## 完整链路\n\n```\n用户对话\n   ↓\nOpenClaw Hook: message:preprocessed\n   ↓\n丘脑过滤（Thalamus）→ 杏仁核标记（Amygdala）→ 海马体存储（memory/logs/）\n   ↓\ncron 触发（早7点/晚10点）\ndream.py v4.x\n   ↓\n[4.5] RAG查询 — 从当日条目提取关键词 → 查询memory/.rag/longterm.jsonl → 注入蒸馏上下文\n   ↓\nBundle Search检索（替代简单grep）\n   ↓\n杏仁核标记融合 → Auditor审计 → 分析皮层模式识别 → 前额叶蒸馏规划\n   ↓\n[4.6] RAG晋升 — 30天+未召回条目 → 写入longterm.jsonl\n   ↓\n归档区 → 真相文件写回 → 梦境报告\n```\n\n---\n\n## M-FLOW 核心架构\n\n### 倒锥知识图谱（Inverted Cone）\n\n所有记忆组织为**四层有向图**，形成倒锥结构：\n\n```\n          锥尖（容易精确命中）\n             ↓\n    ┌─────────────────────────┐\n    │  L4 Entity             │  ← 用户/项目/系统等实体节点\n    │  L3 FacetPoint         │  ← 具体属性、特征、标签\n    │  L2 Facet               │  ← 一组相关特征\n    │  L1 Episode（锥底）     │  ← 最终返回的知识单元\n    └─────────────────────────┘\n          锥底（返回给用户）\n```\n\n**搜索逻辑（Bundle Search）：**\n1. **锥尖广撒网**：查询向量化后同时在4层搜索，每个集合返回最多100个候选\n2. **投影到图中**：命中点作为入口，提取周围子图（边+邻居+连接关系）\n3. **代价传播**：沿边从锥尖向锥底传播，Episode得分 = 所有路径中最小代价\n\n**三条核心设计原则：**\n\n| 原则 | 说明 | 对应效果 |\n|------|------|---------|\n| **边携带语义** | 每条边附带自然语言描述，参与检索 | 不是被动连接，是主动语义过滤器 |\n| **路径最小代价** | 一条强证据链就足以证明相关性 | 不被无关路径稀释分数 |\n| **惩罚直接命中Episode** | 直接匹配摘要反而加惩罚 | 偏好精准锚点路径，防止宽泛匹配 |\n\n---\n\n## 脑区协同架构\n\n**① 丘脑（Thalamus）— 注意力门控**\n> 过滤纯问候/简单确认，只记录有意义的事件\n> 标记类型：event / decision / correction / completed / insight / error\n\n**② 杏仁核（Amygdala）— 情绪标记**\n> correction/error/decision/completed/insight 携带 HIGH 权重，优先蒸馏\n\n**③ 海马体（Hippocampus）— M-FLOW图存储 + RAG**\n\nPhase 1：`memory/logs/` 追加日志（Episode层）\n\nPhase 2：构建M-FLOW图结构：\n\n```\nEpisode (L1)              ← daily log / topic file\n  ↓ semantic edge\nFacet (L2)                ← grouping: correction_group, project_xxx\n  ↓ semantic edge  \nFacetPoint (L3)           ← specific tag: error.timeout, user.pref\n  ↓ semantic edge\nEntity (L4)               ← user, project, tool, skill\n```\n\n**FacetPoint** = type + topic + keywords 的向量描述（向量化后参与Bundle Search）\n**语义边描述** = \"这个FacetPoint为什么属于这个Episode\" 的自然语言说明\n\n**④ 前额叶（Prefrontal Cortex）— Bundle Search + RAG召回 + 蒸馏规划**\n\nBundle Search检索替代简单grep：\n```\n查询 → 向量化 → 4层锥形搜索 → 代价传播 → 最小路径Episode\n```\n\nRAG召回（v4.x新增）：\n```\n当日关键词 → 查询longterm.jsonl → 召回相关旧记忆 → 注入蒸馏上下文\n```\n\n**⑤ 蓝斑核（Locus Coeruleus）— 警觉与新鲜度信号**\n> freshness分数——最近被提及的记忆权重更高\n\n---\n\n## Long-Term RAG Layer 详解\n\n### 存储结构\n\n```\nmemory/\n├── .dreams/\n│   └── short-term-recall.json   # 活跃recall条目（上限200条）\n└── .rag/\n    └── longterm.jsonl          # 老旧条目RAG存储（JSONL格式）\n```\n\n### 晋升机制\n\n```python\n# 晋升条件\nif age_days > 30 and recall_count < 3:\n    promote_to_longterm_rag(entry)\n```\n\n### 召回机制\n\n```python\n# 蒸馏前\nkeywords = [v['snippet'][:100] for v in tagged.values()][:20]\nquery = ' '.join(keywords[:5])\nrag_results = query_longterm_rag(query, k=5)\n\n# 召回结果注入蒸馏上下文\nlearnings['LEARNINGS.md'] += f\"\\n\\n## Long-Term Memory (RAG)\\n{rag_text}\"\n```\n\n### 手动命令\n\n```bash\n# 查看短/长记忆状态\npython skills/dream-selfimproving/scripts/longterm_rag.py --status\n\n# 手动晋升老条目\npython skills/dream-selfimproving/scripts/longterm_rag.py --promote\n\n# 搜索长记忆\npython skills/dream-selfimproving/scripts/longterm_rag.py --query \"关键词\"\n```\n\n---\n\n## Pattern Library\n\nPatterns are reusable response templates extracted from recurring learnings:\n\n```\nmemory/patterns/\n└── p-xxx.md           # Pattern files with trigger + response\n```\n\n**Pattern格式（含M-FLOW元数据）：**\n\n```yaml\n---\nname: pattern名称\ntrigger: 什么情况下触发\nresponse: 如何响应\nexamples: [案例1, 案例2]\ncreated: YYYY-MM-DD\nupdated: YYYY-MM-DD\n# M-FLOW 元数据\nentity: pattern          # L4 Entity\nfacets: [tag1, tag2]    # L3 FacetPoints\nepisode_id: p-xxx        # L1 Episode\n---\n```\n\n---\n\n## Memory Taxonomy & M-FLOW映射\n\n| Memory Type | L4 Entity | L3 FacetPoints | L1 Episode |\n|------------|-----------|-----------------|--------------|\n| **user** | user.luyi | role, pref, goal, communication_style | topics/user_*.md |\n| **feedback** | feedback | correction, error, insight, confirmation | topics/feedback_*.md |\n| **project** | project.{name} | decision, tool, deadline, context | topics/project_*.md |\n| **reference** | reference | credential, link, skill, system | topics/reference_*.md |\n| **longterm** | (RAG) | aged, promoted | .rag/longterm.jsonl |\n\n---\n\n## Directory Structure (v4.x)\n\n```\nmemory/\n├── graph/                         # M-FLOW 知识图谱\n│   ├── entities.json              # L4 Entity 节点列表\n│   ├── facetpoints.json           # L3 FacetPoint 节点列表\n│   ├── facets.json                # L2 Facet 节点列表\n│   ├── episodes.json              # L1 Episode 节点列表\n│   ├── edges.json                 # 语义边（含描述文本）\n│   └── index.json                 # 图索引 + 向量锚点\n├── logs/\n│   └── YYYY/MM/YYYY-MM-DD.md     # Daily append-only logs (Episode)\n├── topics/                        # Distilled topic memories\n│   ├── user_xxx.md\n│   ├── feedback_xxx.md\n│   ├── project_xxx.md\n│   └── reference_xxx.md\n├── patterns/                      # Pattern Library\n│   └── p-xxx.md\n├── episodes/                      # Project narratives\n├── .dreams/\n│   └── short-term-recall.json     # 活跃recall条目（上限200条）\n├── .rag/\n│   └── longterm.jsonl             # Long-Term RAG（v4.x新增）\n├── procedures.md                  # Workflow preferences\n├── archive.md                     # Compressed old entries\n├── dream-log.md                   # Dream cycle reports\n└── MEMORY.md                      # INDEX only\n\n.learnings/                        # self-improving-agent\n├── LEARNINGS.md\n├── ERRORS.md\n└── FEATURE_REQUESTS.md\n```\n\n---\n\n## Health Score (v4.x)\n\n| Metric | Weight | Formula |\n|--------|--------|---------|\n| Freshness | 0.20 | entries_referenced_last_30_days / total |\n| Coverage | 0.20 | categories_updated_last_14_days / 10 |\n| Coherence | 0.20 | entries_with_semantic_edges / total |\n| **Graph Connectivity** | 0.20 | connected_components_ratio |\n| Efficiency | 0.10 | max(0, 1 - line_count/500) |\n| Reachability | 0.10 | Bundle Search路径覆盖率 |\n\n---\n\n## Dream Distillation Steps (v4.x)\n\nWhen cron triggers:\n\n1. **Bundle Search预热**：用今日日志构建临时图结构，快速验证图连通性\n2. Read `memory/logs/{date}.md`\n3. Read `.learnings/LEARNINGS.md`, `.learnings/ERRORS.md`, `.learnings/FEATURE_REQUESTS.md`\n4. Read `MEMORY.md`, topic files, `graph/index.json`, `procedures.md` for context\n5. **Snapshot BEFORE**: count entries, decisions, lessons, procedures\n6. **[4.5] RAG召回**：从当日条目提取关键词 → 查询longterm.jsonl → 注入蒸馏上下文\n7. **图增强检索**：对每个learnings entry执行Bundle Search，找到相关Episode\n8. **Distillation Agent**: Run sub-agent on raw entries + learnings + RAG results → produce:\n   - 3-5 genuine insights (\"I learned that...\")\n   - 1-3 tomorrow action items\n   - 0-3 topic files to write to `memory/topics/`\n   - Health metric interpretation\n9. **[4.6] RAG晋升**：30天+未召回条目 → 写入longterm.jsonl\n10. **更新图结构**：\n    - 新Episode写入 `graph/episodes.json`\n    - 新FacetPoint写入 `graph/facetpoints.json`\n    - 新边写入 `graph/edges.json`（含语义描述）\n11. Write topic files (from Distillation Agent output)\n12. Update truth files (`user_state.md`, `pending.md`)\n13. Update `graph/index.json` entry metadata + 重新计算向量锚点\n14. Compute health metrics → update `graph/index.json` stats\n15. Archive eligible entries → append to `archive.md`\n16. Update `MEMORY.md` index (max 200 lines)\n17. **Snapshot AFTER**: calculate deltas\n18. Write dream report to `memory/dreams/{date}.md` and `dream-log.md`\n19. **[Optional SwarmRecall]**: 如果配置了API key，执行云端图同步\n\n---\n\n## Dream Report Format (v4.x)\n\n```markdown\n# 🌙 Dream Report — {date}\n\n## M-FLOW Graph Status\n- Entities: N | FacetPoints: N | Episodes: N | Edges: N\n- Graph Connectivity: {score}% | Avg Path Cost: {cost:.3f}\n\n## RAG Status\n- Short-term recall: N 条 | Long-term: M 条\n- Promoted this cycle: N 条\n\n## Health Insights\n- {insight based on graph connectivity / Bundle Search coverage}\n\n## Insights (\"I Learned\")\n- {genuine insight 1}\n- {genuine insight 2}\n\n## Tomorrow's Focus\n- {actionable item 1}\n- {actionable item 2}\n\n## Topic Files Written\n- {filename}: {title}\n\n## Graph Updates\n- New episodes: N\n- New semantic edges: N\n- Pruned nodes: N\n\n## Analysis\n- Recurring errors found: {list}\n- Root causes identified: {analysis}\n- Bundle Search paths evaluated: {count}\n\n## Patterns Updated\n- {pattern_name}: {change}\n```\n\n---\n\n## User Prompts\n\n- \"dream report\" / \"梦境报告\" → read and display latest dream report\n- \"dream\" / \"做梦\" → run distillation now\n- \"/dream status\" → show M-FLOW graph stats, health score, pattern count\n- \"/dream search {query}\" → run Bundle Search and show top results\n- \"/dream rag status\" → show RAG status (from longterm_rag.py)\n\n---\n\n## Scripts\n\n- `dream.py` — Phase 2 蒸馏脚本（v4.x，M-FLOW Bundle Search + RAG召回/晋升）\n- `update-cron-date.py` — 每日 cron 日期注入\n- `graph-builder.py` — 从日志构建M-FLOW图结构\n- `bundle-search.py` — Bundle Search检索实现\n- `longterm_rag.py` — Long-Term RAG 管理脚本（v4.x新增）\n\n---\n\n## Phase 1 启用（hippocampus hook）\n\n**Hook 目录：** `~/.openclaw/hooks/hippocampus/`\n**已配置：** `openclaw.json` 中 `hooks.internal.entries.hippocampus: enabled: true`\n\n**功能：** 监听 `message:preprocessed` 事件，自动记录对话到 `memory/logs/YYYY/MM/YYYY-MM-DD.md`\n\n**丘脑过滤规则：**\n- 纯问候 / 简单确认（<20字）不记录\n- 高权重标记：correction / error / decision / completed / insight\n\n重启 gateway 后生效：\n```bash\nschtasks /run /tn \"OpenClaw Gateway\"\n```\n\n---\n\n## M-FLOW vs 旧架构对比\n\n| 维度 | 旧架构（平坦检索） | M-FLOW（倒锥图路由） |\n|------|-------------------|----------------------|\n| **存储结构** | 平面文件列表 | 四层有向图 |\n| **检索方式** | grep / 向量相似度 | Bundle Search代价传播 |\n| **关系表示** | 简单link引用 | 带语义描述的边 |\n| **短长记忆** | 无分层 | 30天老化晋升RAG |\n\n---\n\n## 与MetaGPT对比\n\n| 维度 | MetaGPT RoleZeroLongTermMemory | Dream Long-Term RAG |\n|------|-------------------------------|---------------------|\n| **RAG引擎** | Chroma + LLMRanker | JSONL + 关键词匹配 |\n| **召回触发** | memory_k 溢出 或 用户需求 | 每次蒸馏前 |\n| **晋升条件** | count > memory_k | age > 30天 且 recallCount < 3 |\n| **向量化** | embedding 模型 | 词袋模型（简化版） |\n| **复杂度** | 依赖 Chroma/llama-index | 纯 Python，无外部依赖 |\n\nFile v4.1.6:_meta.json\n\n{\n  \"ownerId\": \"kn75g2sw7ssvtwkxyw4pce8t3d84mna2\",\n  \"slug\": \"dream-selfimproving\",\n  \"version\": \"4.1.6\",\n  \"publishedAt\": 1776956664302\n}\n\nFile v4.1.6:references/multi-agent-team-architecture.md\n\n# 多 Agent 团队架构参考\n\n> 来源：OpenClaw 搭建 6 人团队，它开始自己转起来了\n> 作者：yabin\n> 链接：https://mp.weixin.qq.com/s/D33ScqwgpjiwI4PDN3vUaA\n> 抓取时间：2026-04-17\n\n## 核心架构\n\n```\n同一飞书机器人（一个前台号码）\n  ↓ 按群聊 ID 路由\n开发群 → main agent\n产品群 → product-claw\n测试群 → qa-claw\n调研群 → research-claw\n数据分析群 → analytics-claw\n运营群 → ops-claw\n```\n\n每个 agent 有独立 workspace，上下文件隔离，形成闭环飞轮：\n```\nresearch → product → dev → qa → analytics → ops → 下一轮\n```\n\n## 关键结论\n\n### 1. 不拆 workspace，多 agent 很容易只是幻觉\n- 不同角色的长期记忆不会混在一起\n- 本地 skill、模板、文档可以按角色分别放\n- 同一个飞书机器人进来的消息，最终会落进不同工作目录\n\n### 2. 角色文件必须落到角色边界上\n每个 agent 独立配置：\n- AGENTS.md、IDENTITY.md、SOUL.md、USER.md、TOOLS.md、MEMORY.md\n\n### 3. 产品 agent 特别值得挂方法库\n开发 agent 靠代码库天然有上下文，产品 agent 没有方法库的话很容易退化成\"会写点文档的通用聊天机器人\"。\n\n### 4. 路由方式选择\n- 按群聊 peer-id 路由是最自然的形态\n- 人在协作里本来就已按群在分场景\n\n### 5. 专人助手式的 agent，交互摩擦一定要足够低\n- 如果机器人是共享工具，那 @ 一下很合理\n- 如果机器人是专属群的长期助手，每次都 @ 一下就很蠢\n\n## OpenClaw 飞书插件 Bug（已发现）\n\n1. **机器人名字**不是在 OpenClaw 里改，而是在飞书开放平台的 Bot 能力页改\n   - appId/appSecret 解决\"这个机器人是谁\"\n   - Bot 显示名解决\"别人看到它叫什么\"\n\n2. **requireMention per-group 配置无效**\n   - 文档支持 `groups.<id>.requireMention`\n   - 配置 schema 也支持\n   - 但运行时代码只读了全局 `channels.feishu-china.requireMention`\n   - per-group 覆盖配置根本没被用上\n\n## 方案边界\n\n解决的是：\n- 角色分工\n- 上下文隔离\n- 单机器人多场景协作\n\n没有解决的是：\n- 容器级强安全隔离\n- 多套全局凭证隔离\n- 多飞书机器人并行的插件级支持\n\n本质：同一个 gateway 进程、同一个 OpenClaw 实例、同一套全局配置。\n是「角色隔离 + 上下文隔离」，不是「基础设施级彻底隔离」。\n\n## 实践要点\n\n1. 默认开发 agent 尽量保留 main（兼容性现实）\n2. 多 agent 的关键不是多写几个 id，而是拆 workspace\n3. 人格文件必须和 AGENTS.md、TOOLS.md、MEMORY.md 一起工作\n4. 产品 agent 特别值得挂方法库\n5. 同一个飞书机器人按群路由是最顺手的形态\n6. 如果配置明明对了但不工作，第一时间去看运行时日志，不要先怀疑自己\n\nFile v4.1.6:package.json\n\n{\n  \"name\": \"dream\",\n  \"version\": \"4.0.4\",\n  \"description\": \"Dream self-evolution skill\"\n}\n\nArchive v4.1.5: 19 files, 52611 bytes\n\nFiles: _meta.json (138b), analyze.py (781b), bundle-search.py (19253b), check_skill.py (2020b), debug_ep.py (295b), debug_parse.py (297b), find_closes.py (1482b), find_marker.py (322b), fix_bundle.py (4612b), fix_ep_dedup.py (284b), fix_insert.py (1490b), fix_israw.py (440b), graph-builder.py (33644b), package.json (91b), references/multi-agent-team-architecture.md (2843b), scripts/dream.py (54598b), scripts/longterm_rag.py (8084b), scripts/update-cron-date.py (6872b), SKILL.md (14325b)\n\nFile v4.1.5:SKILL.md\n\n---\nname: dream-selfimproving\ndescription: \"让AI拥有\"进化\"能力——每晚自动复盘当天对话，提取洞察，更新记忆，长久保持聪明。不用手动记录，AI自己记住重要的事。\"\nmetadata:\n  openclaw:\n    requires:\n      bins:\n        - python\n    notes: |\n      运行时通过 `openclaw env get` / `openclaw cron list` 动态获取，无需预先声明环境变量。\n\n      Cron编辑：update-cron-date.py 通过 'openclaw cron edit' 修改 dream cron 作业消息。\n      特权操作，需使用 --confirm 标志：python update-cron-date.py --confirm\n\n      SwarmRecall（可选）：SWARMRECALL_API_KEY 启用云端去重/矛盾检测。\n  meta:\n    name: \"AI记忆进化助手\"\n    tagline: \"让AI每晚进化一次，越用越聪明\"\n    category: memory\n    tags: [AI, memory, distillation, RAG, self-improving]\n---\n\n# Dream Self-improving — 夜间记忆蒸馏与自我进化\n\n> 🧠 **v4.x 已集成 Long-Term RAG** — MetaGPT风格短长记忆合并，条目老化后自动晋升到 RAG 层\n\n## 现状\n\n**Phase 3（✅ 已实现）：** OpenClaw Hook `hippocampus` 监听每条消息，实时写入 `memory/logs/`\n**Phase 3（✅ 已实现）：** `dream.py v4.x` 定时蒸馏 + M-FLOW Bundle Search检索\n**Phase 3（✅ 已实现）：** `dream.py v4.x` Long-Term RAG 长记忆层\n\n---\n\n## 核心升级：Long-Term RAG\n\n参考 MetaGPT 的 RoleZeroLongTermMemory 设计，新增短长记忆合并机制：\n\n```\nshort-term-recall.json  ←  活跃recall条目（上限200条）\nmemory/.rag/longterm.jsonl  ←  老旧条目RAG存储\n```\n\n**晋升条件：**\n- 条目 age > 30天（从最后召回时间算）\n- 且 recallCount < 3（未被频繁召回）\n\n**召回流程：**\n1. 蒸馏前，从当日高权重条目提取关键词\n2. 用关键词查询 RAG，召回相关旧记忆\n3. 旧记忆注入蒸馏上下文，让 AI 知道\"之前有过什么\"\n\n**效果：** 记忆越来越精准，不像以前每次都从零开始。\n\n---\n\n## 完整链路\n\n```\n用户对话\n   ↓\nOpenClaw Hook: message:preprocessed\n   ↓\n丘脑过滤（Thalamus）→ 杏仁核标记（Amygdala）→ 海马体存储（memory/logs/）\n   ↓\ncron 触发（早7点/晚10点）\ndream.py v4.x\n   ↓\n[4.5] RAG查询 — 从当日条目提取关键词 → 查询memory/.rag/longterm.jsonl → 注入蒸馏上下文\n   ↓\nBundle Search检索（替代简单grep）\n   ↓\n杏仁核标记融合 → Auditor审计 → 分析皮层模式识别 → 前额叶蒸馏规划\n   ↓\n[4.6] RAG晋升 — 30天+未召回条目 → 写入longterm.jsonl\n   ↓\n归档区 → 真相文件写回 → 梦境报告\n```\n\n---\n\n## M-FLOW 核心架构\n\n### 倒锥知识图谱（Inverted Cone）\n\n所有记忆组织为**四层有向图**，形成倒锥结构：\n\n```\n          锥尖（容易精确命中）\n             ↓\n    ┌─────────────────────────┐\n    │  L4 Entity             │  ← 用户/项目/系统等实体节点\n    │  L3 FacetPoint         │  ← 具体属性、特征、标签\n    │  L2 Facet               │  ← 一组相关特征\n    │  L1 Episode（锥底）     │  ← 最终返回的知识单元\n    └─────────────────────────┘\n          锥底（返回给用户）\n```\n\n**搜索逻辑（Bundle Search）：**\n1. **锥尖广撒网**：查询向量化后同时在4层搜索，每个集合返回最多100个候选\n2. **投影到图中**：命中点作为入口，提取周围子图（边+邻居+连接关系）\n3. **代价传播**：沿边从锥尖向锥底传播，Episode得分 = 所有路径中最小代价\n\n**三条核心设计原则：**\n\n| 原则 | 说明 | 对应效果 |\n|------|------|---------|\n| **边携带语义** | 每条边附带自然语言描述，参与检索 | 不是被动连接，是主动语义过滤器 |\n| **路径最小代价** | 一条强证据链就足以证明相关性 | 不被无关路径稀释分数 |\n| **惩罚直接命中Episode** | 直接匹配摘要反而加惩罚 | 偏好精准锚点路径，防止宽泛匹配 |\n\n---\n\n## 脑区协同架构\n\n**① 丘脑（Thalamus）— 注意力门控**\n> 过滤纯问候/简单确认，只记录有意义的事件\n> 标记类型：event / decision / correction / completed / insight / error\n\n**② 杏仁核（Amygdala）— 情绪标记**\n> correction/error/decision/completed/insight 携带 HIGH 权重，优先蒸馏\n\n**③ 海马体（Hippocampus）— M-FLOW图存储 + RAG**\n\nPhase 1：`memory/logs/` 追加日志（Episode层）\n\nPhase 2：构建M-FLOW图结构：\n\n```\nEpisode (L1)              ← daily log / topic file\n  ↓ semantic edge\nFacet (L2)                ← grouping: correction_group, project_xxx\n  ↓ semantic edge  \nFacetPoint (L3)           ← specific tag: error.timeout, user.pref\n  ↓ semantic edge\nEntity (L4)               ← user, project, tool, skill\n```\n\n**FacetPoint** = type + topic + keywords 的向量描述（向量化后参与Bundle Search）\n**语义边描述** = \"这个FacetPoint为什么属于这个Episode\" 的自然语言说明\n\n**④ 前额叶（Prefrontal Cortex）— Bundle Search + RAG召回 + 蒸馏规划**\n\nBundle Search检索替代简单grep：\n```\n查询 → 向量化 → 4层锥形搜索 → 代价传播 → 最小路径Episode\n```\n\nRAG召回（v4.x新增）：\n```\n当日关键词 → 查询longterm.jsonl → 召回相关旧记忆 → 注入蒸馏上下文\n```\n\n**⑤ 蓝斑核（Locus Coeruleus）— 警觉与新鲜度信号**\n> freshness分数——最近被提及的记忆权重更高\n\n---\n\n## Long-Term RAG Layer 详解\n\n### 存储结构\n\n```\nmemory/\n├── .dreams/\n│   └── short-term-recall.json   # 活跃recall条目（上限200条）\n└── .rag/\n    └── longterm.jsonl          # 老旧条目RAG存储（JSONL格式）\n```\n\n### 晋升机制\n\n```python\n# 晋升条件\nif age_days > 30 and recall_count < 3:\n    promote_to_longterm_rag(entry)\n```\n\n### 召回机制\n\n```python\n# 蒸馏前\nkeywords = [v['snippet'][:100] for v in tagged.values()][:20]\nquery = ' '.join(keywords[:5])\nrag_results = query_longterm_rag(query, k=5)\n\n# 召回结果注入蒸馏上下文\nlearnings['LEARNINGS.md'] += f\"\\n\\n## Long-Term Memory (RAG)\\n{rag_text}\"\n```\n\n### 手动命令\n\n```bash\n# 查看短/长记忆状态\npython skills/dream-selfimproving/scripts/longterm_rag.py --status\n\n# 手动晋升老条目\npython skills/dream-selfimproving/scripts/longterm_rag.py --promote\n\n# 搜索长记忆\npython skills/dream-selfimproving/scripts/longterm_rag.py --query \"关键词\"\n```\n\n---\n\n## Pattern Library\n\nPatterns are reusable response templates extracted from recurring learnings:\n\n```\nmemory/patterns/\n└── p-xxx.md           # Pattern files with trigger + response\n```\n\n**Pattern格式（含M-FLOW元数据）：**\n\n```yaml\n---\nname: pattern名称\ntrigger: 什么情况下触发\nresponse: 如何响应\nexamples: [案例1, 案例2]\ncreated: YYYY-MM-DD\nupdated: YYYY-MM-DD\n# M-FLOW 元数据\nentity: pattern          # L4 Entity\nfacets: [tag1, tag2]    # L3 FacetPoints\nepisode_id: p-xxx        # L1 Episode\n---\n```\n\n---\n\n## Memory Taxonomy & M-FLOW映射\n\n| Memory Type | L4 Entity | L3 FacetPoints | L1 Episode |\n|------------|-----------|-----------------|--------------|\n| **user** | user.luyi | role, pref, goal, communication_style | topics/user_*.md |\n| **feedback** | feedback | correction, error, insight, confirmation | topics/feedback_*.md |\n| **project** | project.{name} | decision, tool, deadline, context | topics/project_*.md |\n| **reference** | reference | credential, link, skill, system | topics/reference_*.md |\n| **longterm** | (RAG) | aged, promoted | .rag/longterm.jsonl |\n\n---\n\n## Directory Structure (v4.x)\n\n```\nmemory/\n├── graph/                         # M-FLOW 知识图谱\n│   ├── entities.json              # L4 Entity 节点列表\n│   ├── facetpoints.json           # L3 FacetPoint 节点列表\n│   ├── facets.json                # L2 Facet 节点列表\n│   ├── episodes.json              # L1 Episode 节点列表\n│   ├── edges.json                 # 语义边（含描述文本）\n│   └── index.json                 # 图索引 + 向量锚点\n├── logs/\n│   └── YYYY/MM/YYYY-MM-DD.md     # Daily append-only logs (Episode)\n├── topics/                        # Distilled topic memories\n│   ├── user_xxx.md\n│   ├── feedback_xxx.md\n│   ├── project_xxx.md\n│   └── reference_xxx.md\n├── patterns/                      # Pattern Library\n│   └── p-xxx.md\n├── episodes/                      # Project narratives\n├── .dreams/\n│   └── short-term-recall.json     # 活跃recall条目（上限200条）\n├── .rag/\n│   └── longterm.jsonl             # Long-Term RAG（v4.x新增）\n├── procedures.md                  # Workflow preferences\n├── archive.md                     # Compressed old entries\n├── dream-log.md                   # Dream cycle reports\n└── MEMORY.md                      # INDEX only\n\n.learnings/                        # self-improving-agent\n├── LEARNINGS.md\n├── ERRORS.md\n└── FEATURE_REQUESTS.md\n```\n\n---\n\n## Health Score (v4.x)\n\n| Metric | Weight | Formula |\n|--------|--------|---------|\n| Freshness | 0.20 | entries_referenced_last_30_days / total |\n| Coverage | 0.20 | categories_updated_last_14_days / 10 |\n| Coherence | 0.20 | entries_with_semantic_edges / total |\n| **Graph Connectivity** | 0.20 | connected_components_ratio |\n| Efficiency | 0.10 | max(0, 1 - line_count/500) |\n| Reachability | 0.10 | Bundle Search路径覆盖率 |\n\n---\n\n## Dream Distillation Steps (v4.x)\n\nWhen cron triggers:\n\n1. **Bundle Search预热**：用今日日志构建临时图结构，快速验证图连通性\n2. Read `memory/logs/{date}.md`\n3. Read `.learnings/LEARNINGS.md`, `.learnings/ERRORS.md`, `.learnings/FEATURE_REQUESTS.md`\n4. Read `MEMORY.md`, topic files, `graph/index.json`, `procedures.md` for context\n5. **Snapshot BEFORE**: count entries, decisions, lessons, procedures\n6. **[4.5] RAG召回**：从当日条目提取关键词 → 查询longterm.jsonl → 注入蒸馏上下文\n7. **图增强检索**：对每个learnings entry执行Bundle Search，找到相关Episode\n8. **Distillation Agent**: Run sub-agent on raw entries + learnings + RAG results → produce:\n   - 3-5 genuine insights (\"I learned that...\")\n   - 1-3 tomorrow action items\n   - 0-3 topic files to write to `memory/topics/`\n   - Health metric interpretation\n9. **[4.6] RAG晋升**：30天+未召回条目 → 写入longterm.jsonl\n10. **更新图结构**：\n    - 新Episode写入 `graph/episodes.json`\n    - 新FacetPoint写入 `graph/facetpoints.json`\n    - 新边写入 `graph/edges.json`（含语义描述）\n11. Write topic files (from Distillation Agent output)\n12. Update truth files (`user_state.md`, `pending.md`)\n13. Update `graph/index.json` entry metadata + 重新计算向量锚点\n14. Compute health metrics → update `graph/index.json` stats\n15. Archive eligible entries → append to `archive.md`\n16. Update `MEMORY.md` index (max 200 lines)\n17. **Snapshot AFTER**: calculate deltas\n18. Write dream report to `memory/dreams/{date}.md` and `dream-log.md`\n19. **[Optional SwarmRecall]**: 如果配置了API key，执行云端图同步\n\n---\n\n## Dream Report Format (v4.x)\n\n```markdown\n# 🌙 Dream Report — {date}\n\n## M-FLOW Graph Status\n- Entities: N | FacetPoints: N | Episodes: N | Edges: N\n- Graph Connectivity: {score}% | Avg Path Cost: {cost:.3f}\n\n## RAG Status\n- Short-term recall: N 条 | Long-term: M 条\n- Promoted this cycle: N 条\n\n## Health Insights\n- {insight based on graph connectivity / Bundle Search coverage}\n\n## Insights (\"I Learned\")\n- {genuine insight 1}\n- {genuine insight 2}\n\n## Tomorrow's Focus\n- {actionable item 1}\n- {actionable item 2}\n\n## Topic Files Written\n- {filename}: {title}\n\n## Graph Updates\n- New episodes: N\n- New semantic edges: N\n- Pruned nodes: N\n\n## Analysis\n- Recurring errors found: {list}\n- Root causes identified: {analysis}\n- Bundle Search paths evaluated: {count}\n\n## Patterns Updated\n- {pattern_name}: {change}\n```\n\n---\n\n## User Prompts\n\n- \"dream report\" / \"梦境报告\" → read and display latest dream report\n- \"dream\" / \"做梦\" → run distillation now\n- \"/dream status\" → show M-FLOW graph stats, health score, pattern count\n- \"/dream search {query}\" → run Bundle Search and show top results\n- \"/dream rag status\" → show RAG status (from longterm_rag.py)\n\n---\n\n## Scripts\n\n- `dream.py` — Phase 2 蒸馏脚本（v4.x，M-FLOW Bundle Search + RAG召回/晋升）\n- `update-cron-date.py` — 每日 cron 日期注入\n- `graph-builder.py` — 从日志构建M-FLOW图结构\n- `bundle-search.py` — Bundle Search检索实现\n- `longterm_rag.py` — Long-Term RAG 管理脚本（v4.x新增）\n\n---\n\n## Phase 1 启用（hippocampus hook）\n\n**Hook 目录：** `~/.openclaw/hooks/hippocampus/`\n**已配置：** `openclaw.json` 中 `hooks.internal.entries.hippocampus: enabled: true`\n\n**功能：** 监听 `message:preprocessed` 事件，自动记录对话到 `memory/logs/YYYY/MM/YYYY-MM-DD.md`\n\n**丘脑过滤规则：**\n- 纯问候 / 简单确认（<20字）不记录\n- 高权重标记：correction / error / decision / completed / insight\n\n重启 gateway 后生效：\n```bash\nschtasks /run /tn \"OpenClaw Gateway\"\n```\n\n---\n\n## M-FLOW vs 旧架构对比\n\n| 维度 | 旧架构（平坦检索） | M-FLOW（倒锥图路由） |\n|------|-------------------|----------------------|\n| **存储结构** | 平面文件列表 | 四层有向图 |\n| **检索方式** | grep / 向量相似度 | Bundle Search代价传播 |\n| **关系表示** | 简单link引用 | 带语义描述的边 |\n| **短长记忆** | 无分层 | 30天老化晋升RAG |\n\n---\n\n## 与MetaGPT对比\n\n| 维度 | MetaGPT RoleZeroLongTermMemory | Dream Long-Term RAG |\n|------|-------------------------------|---------------------|\n| **RAG引擎** | Chroma + LLMRanker | JSONL + 关键词匹配 |\n| **召回触发** | memory_k 溢出 或 用户需求 | 每次蒸馏前 |\n| **晋升条件** | count > memory_k | age > 30天 且 recallCount < 3 |\n| **向量化** | embedding 模型 | 词袋模型（简化版） |\n| **复杂度** | 依赖 Chroma/llama-index | 纯 Python，无外部依赖 |\n\nFile v4.1.5:_meta.json\n\n{\n  \"ownerId\": \"kn75g2sw7ssvtwkxyw4pce8t3d84mna2\",\n  \"slug\": \"dream-selfimproving\",\n  \"version\": \"4.1.5\",\n  \"publishedAt\": 1776956404469\n}\n\nFile v4.1.5:references/multi-agent-team-architecture.md\n\n# 多 Agent 团队架构参考\n\n> 来源：OpenClaw 搭建 6 人团队，它开始自己转起来了\n> 作者：yabin\n> 链接：https://mp.weixin.qq.com/s/D33ScqwgpjiwI4PDN3vUaA\n> 抓取时间：2026-04-17\n\n## 核心架构\n\n```\n同一飞书机器人（一个前台号码）\n  ↓ 按群聊 ID 路由\n开发群 → main agent\n产品群 → product-claw\n测试群 → qa-claw\n调研群 → research-claw\n数据分析群 → analytics-claw\n运营群 → ops-claw\n```\n\n每个 agent 有独立 workspace，上下文件隔离，形成闭环飞轮：\n```\nresearch → product → dev → qa → analytics → ops → 下一轮\n```\n\n## 关键结论\n\n### 1. 不拆 workspace，多 agent 很容易只是幻觉\n- 不同角色的长期记忆不会混在一起\n- 本地 skill、模板、文档可以按角色分别放\n- 同一个飞书机器人进来的消息，最终会落进不同工作目录\n\n### 2. 角色文件必须落到角色边界上\n每个 agent 独立配置：\n- AGENTS.md、IDENTITY.md、SOUL.md、USER.md、TOOLS.md、MEMORY.md\n\n### 3. 产品 agent 特别值得挂方法库\n开发 agent 靠代码库天然有上下文，产品 agent 没有方法库的话很容易退化成\"会写点文档的通用聊天机器人\"。\n\n### 4. 路由方式选择\n- 按群聊 peer-id 路由是最自然的形态\n- 人在协作里本来就已按群在分场景\n\n### 5. 专人助手式的 agent，交互摩擦一定要足够低\n- 如果机器人是共享工具，那 @ 一下很合理\n- 如果机器人是专属群的长期助手，每次都 @ 一下就很蠢\n\n## OpenClaw 飞书插件 Bug（已发现）\n\n1. **机器人名字**不是在 OpenClaw 里改，而是在飞书开放平台的 Bot 能力页改\n   - appId/appSecret 解决\"这个机器人是谁\"\n   - Bot 显示名解决\"别人看到它叫什么\"\n\n2. **requireMention per-group 配置无效**\n   - 文档支持 `groups.<id>.requireMention`\n   - 配置 schema 也支持\n   - 但运行时代码只读了全局 `channels.feishu-china.requireMention`\n   - per-group 覆盖配置根本没被用上\n\n## 方案边界\n\n解决的是：\n- 角色分工\n- 上下文隔离\n- 单机器人多场景协作\n\n没有解决的是：\n- 容器级强安全隔离\n- 多套全局凭证隔离\n- 多飞书机器人并行的插件级支持\n\n本质：同一个 gateway 进程、同一个 OpenClaw 实例、同一套全局配置。\n是「角色隔离 + 上下文隔离」，不是「基础设施级彻底隔离」。\n\n## 实践要点\n\n1. 默认开发 agent 尽量保留 main（兼容性现实）\n2. 多 agent 的关键不是多写几个 id，而是拆 workspace\n3. 人格文件必须和 AGENTS.md、TOOLS.md、MEMORY.md 一起工作\n4. 产品 agent 特别值得挂方法库\n5. 同一个飞书机器人按群路由是最顺手的形态\n6. 如果配置明明对了但不工作，第一时间去看运行时日志，不要先怀疑自己\n\nFile v4.1.5:package.json\n\n{\n  \"name\": \"dream\",\n  \"version\": \"4.0.4\",\n  \"description\": \"Dream self-evolution skill\"\n}\n\nArchive v4.1.4: 19 files, 52610 bytes\n\nFiles: _meta.json (138b), analyze.py (781b), bundle-search.py (19253b), check_skill.py (2020b), debug_ep.py (295b), debug_parse.py (297b), find_closes.py (1482b), find_marker.py (322b), fix_bundle.py (4612b), fix_ep_dedup.py (284b), fix_insert.py (1490b), fix_israw.py (440b), graph-builder.py (33644b), package.json (91b), references/multi-agent-team-architecture.md (2843b), scripts/dream.py (54598b), scripts/longterm_rag.py (8084b), scripts/update-cron-date.py (6872b), SKILL.md (14325b)\n\nFile v4.1.4:SKILL.md\n\n---\nname: dream-selfimproving\ndescription: \"让AI拥有\"进化\"能力——每晚自动复盘当天对话，提取洞察，更新记忆，长久保持聪明。不用手动记录，AI自己记住重要的事。\"\nmetadata:\n  openclaw:\n    requires:\n      bins:\n        - python\n    notes: |\n      运行时通过 `openclaw env get` / `openclaw cron list` 动态获取，无需预先声明环境变量。\n\n      Cron编辑：update-cron-date.py 通过 'openclaw cron edit' 修改 dream cron 作业消息。\n      特权操作，需使用 --confirm 标志：python update-cron-date.py --confirm\n\n      SwarmRecall（可选）：SWARMRECALL_API_KEY 启用云端去重/矛盾检测。\n  meta:\n    name: \"AI记忆进化助手\"\n    tagline: \"让AI每晚进化一次，越用越聪明\"\n    category: memory\n    tags: [AI, memory, distillation, RAG, self-improving]\n---\n\n# Dream Self-improving — 夜间记忆蒸馏与自我进化\n\n> 🧠 **v4.x 已集成 Long-Term RAG** — MetaGPT风格短长记忆合并，条目老化后自动晋升到 RAG 层\n\n## 现状\n\n**Phase 3（✅ 已实现）：** OpenClaw Hook `hippocampus` 监听每条消息，实时写入 `memory/logs/`\n**Phase 3（✅ 已实现）：** `dream.py v4.x` 定时蒸馏 + M-FLOW Bundle Search检索\n**Phase 3（✅ 已实现）：** `dream.py v4.x` Long-Term RAG 长记忆层\n\n---\n\n## 核心升级：Long-Term RAG\n\n参考 MetaGPT 的 RoleZeroLongTermMemory 设计，新增短长记忆合并机制：\n\n```\nshort-term-recall.json  ←  活跃recall条目（上限200条）\nmemory/.rag/longterm.jsonl  ←  老旧条目RAG存储\n```\n\n**晋升条件：**\n- 条目 age > 30天（从最后召回时间算）\n- 且 recallCount < 3（未被频繁召回）\n\n**召回流程：**\n1. 蒸馏前，从当日高权重条目提取关键词\n2. 用关键词查询 RAG，召回相关旧记忆\n3. 旧记忆注入蒸馏上下文，让 AI 知道\"之前有过什么\"\n\n**效果：** 记忆越来越精准，不像以前每次都从零开始。\n\n---\n\n## 完整链路\n\n```\n用户对话\n   ↓\nOpenClaw Hook: message:preprocessed\n   ↓\n丘脑过滤（Thalamus）→ 杏仁核标记（Amygdala）→ 海马体存储（memory/logs/）\n   ↓\ncron 触发（早7点/晚10点）\ndream.py v4.x\n   ↓\n[4.5] RAG查询 — 从当日条目提取关键词 → 查询memory/.rag/longterm.jsonl → 注入蒸馏上下文\n   ↓\nBundle Search检索（替代简单grep）\n   ↓\n杏仁核标记融合 → Auditor审计 → 分析皮层模式识别 → 前额叶蒸馏规划\n   ↓\n[4.6] RAG晋升 — 30天+未召回条目 → 写入longterm.jsonl\n   ↓\n归档区 → 真相文件写回 → 梦境报告\n```\n\n---\n\n## M-FLOW 核心架构\n\n### 倒锥知识图谱（Inverted Cone）\n\n所有记忆组织为**四层有向图**，形成倒锥结构：\n\n```\n          锥尖（容易精确命中）\n             ↓\n    ┌─────────────────────────┐\n    │  L4 Entity             │  ← 用户/项目/系统等实体节点\n    │  L3 FacetPoint         │  ← 具体属性、特征、标签\n    │  L2 Facet               │  ← 一组相关特征\n    │  L1 Episode（锥底）     │  ← 最终返回的知识单元\n    └─────────────────────────┘\n          锥底（返回给用户）\n```\n\n**搜索逻辑（Bundle Search）：**\n1. **锥尖广撒网**：查询向量化后同时在4层搜索，每个集合返回最多100个候选\n2. **投影到图中**：命中点作为入口，提取周围子图（边+邻居+连接关系）\n3. **代价传播**：沿边从锥尖向锥底传播，Episode得分 = 所有路径中最小代价\n\n**三条核心设计原则：**\n\n| 原则 | 说明 | 对应效果 |\n|------|------|---------|\n| **边携带语义** | 每条边附带自然语言描述，参与检索 | 不是被动连接，是主动语义过滤器 |\n| **路径最小代价** | 一条强证据链就足以证明相关性 | 不被无关路径稀释分数 |\n| **惩罚直接命中Episode** | 直接匹配摘要反而加惩罚 | 偏好精准锚点路径，防止宽泛匹配 |\n\n---\n\n## 脑区协同架构\n\n**① 丘脑（Thalamus）— 注意力门控**\n> 过滤纯问候/简单确认，只记录有意义的事件\n> 标记类型：event / decision / correction / completed / insight / error\n\n**② 杏仁核（Amygdala）— 情绪标记**\n> correction/error/decision/completed/insight 携带 HIGH 权重，优先蒸馏\n\n**③ 海马体（Hippocampus）— M-FLOW图存储 + RAG**\n\nPhase 1：`memory/logs/` 追加日志（Episode层）\n\nPhase 2：构建M-FLOW图结构：\n\n```\nEpisode (L1)              ← daily log / topic file\n  ↓ semantic edge\nFacet (L2)                ← grouping: correction_group, project_xxx\n  ↓ semantic edge  \nFacetPoint (L3)           ← specific tag: error.timeout, user.pref\n  ↓ semantic edge\nEntity (L4)               ← user, project, tool, skill\n```\n\n**FacetPoint** = type + topic + keywords 的向量描述（向量化后参与Bundle Search）\n**语义边描述** = \"这个FacetPoint为什么属于这个Episode\" 的自然语言说明\n\n**④ 前额叶（Prefrontal Cortex）— Bundle Search + RAG召回 + 蒸馏规划**\n\nBundle Search检索替代简单grep：\n```\n查询 → 向量化 → 4层锥形搜索 → 代价传播 → 最小路径Episode\n```\n\nRAG召回（v4.x新增）：\n```\n当日关键词 → 查询longterm.jsonl → 召回相关旧记忆 → 注入蒸馏上下文\n```\n\n**⑤ 蓝斑核（Locus Coeruleus）— 警觉与新鲜度信号**\n> freshness分数——最近被提及的记忆权重更高\n\n---\n\n## Long-Term RAG Layer 详解\n\n### 存储结构\n\n```\nmemory/\n├── .dreams/\n│   └── short-term-recall.json   # 活跃recall条目（上限200条）\n└── .rag/\n    └── longterm.jsonl          # 老旧条目RAG存储（JSONL格式）\n```\n\n### 晋升机制\n\n```python\n# 晋升条件\nif age_days > 30 and recall_count < 3:\n    promote_to_longterm_rag(entry)\n```\n\n### 召回机制\n\n```python\n# 蒸馏前\nkeywords = [v['snippet'][:100] for v in tagged.values()][:20]\nquery = ' '.join(keywords[:5])\nrag_results = query_longterm_rag(query, k=5)\n\n# 召回结果注入蒸馏上下文\nlearnings['LEARNINGS.md'] += f\"\\n\\n## Long-Term Memory (RAG)\\n{rag_text}\"\n```\n\n### 手动命令\n\n```bash\n# 查看短/长记忆状态\npython skills/dream-selfimproving/scripts/longterm_rag.py --status\n\n# 手动晋升老条目\npython skills/dream-selfimproving/scripts/longterm_rag.py --promote\n\n# 搜索长记忆\npython skills/dream-selfimproving/scripts/longterm_rag.py --query \"关键词\"\n```\n\n---\n\n## Pattern Library\n\nPatterns are reusable response templates extracted from recurring learnings:\n\n```\nmemory/patterns/\n└── p-xxx.md           # Pattern files with trigger + response\n```\n\n**Pattern格式（含M-FLOW元数据）：**\n\n```yaml\n---\nname: pattern名称\ntrigger: 什么情况下触发\nresponse: 如何响应\nexamples: [案例1, 案例2]\ncreated: YYYY-MM-DD\nupdated: YYYY-MM-DD\n# M-FLOW 元数据\nentity: pattern          # L4 Entity\nfacets: [tag1, tag2]    # L3 FacetPoints\nepisode_id: p-xxx        # L1 Episode\n---\n```\n\n---\n\n## Memory Taxonomy & M-FLOW映射\n\n| Memory Type | L4 Entity | L3 FacetPoints | L1 Episode |\n|------------|-----------|-----------------|--------------|\n| **user** | user.luyi | role, pref, goal, communication_style | topics/user_*.md |\n| **feedback** | feedback | correction, error, insight, confirmation | topics/feedback_*.md |\n| **project** | project.{name} | decision, tool, deadline, context | topics/project_*.md |\n| **reference** | reference | credential, link, skill, system | topics/reference_*.md |\n| **longterm** | (RAG) | aged, promoted | .rag/longterm.jsonl |\n\n---\n\n## Directory Structure (v4.x)\n\n```\nmemory/\n├── graph/                         # M-FLOW 知识图谱\n│   ├── entities.json              # L4 Entity 节点列表\n│   ├── facetpoints.json           # L3 FacetPoint 节点列表\n│   ├── facets.json                # L2 Facet 节点列表\n│   ├── episodes.json              # L1 Episode 节点列表\n│   ├── edges.json                 # 语义边（含描述文本）\n│   └── index.json                 # 图索引 + 向量锚点\n├── logs/\n│   └── YYYY/MM/YYYY-MM-DD.md     # Daily append-only logs (Episode)\n├── topics/                        # Distilled topic memories\n│   ├── user_xxx.md\n│   ├── feedback_xxx.md\n│   ├── project_xxx.md\n│   └── reference_xxx.md\n├── patterns/                      # Pattern Library\n│   └── p-xxx.md\n├── episodes/                      # Project narratives\n├── .dreams/\n│   └── short-term-recall.json     # 活跃recall条目（上限200条）\n├── .rag/\n│   └── longterm.jsonl             # Long-Term RAG（v4.x新增）\n├── procedures.md                  # Workflow preferences\n├── archive.md                     # Compressed old entries\n├── dream-log.md                   # Dream cycle reports\n└── MEMORY.md                      # INDEX only\n\n.learnings/                        # self-improving-agent\n├── LEARNINGS.md\n├── ERRORS.md\n└── FEATURE_REQUESTS.md\n```\n\n---\n\n## Health Score (v4.x)\n\n| Metric | Weight | Formula |\n|--------|--------|---------|\n| Freshness | 0.20 | entries_referenced_last_30_days / total |\n| Coverage | 0.20 | categories_updated_last_14_days / 10 |\n| Coherence | 0.20 | entries_with_semantic_edges / total |\n| **Graph Connectivity** | 0.20 | connected_components_ratio |\n| Efficiency | 0.10 | max(0, 1 - line_count/500) |\n| Reachability | 0.10 | Bundle Search路径覆盖率 |\n\n---\n\n## Dream Distillation Steps (v4.x)\n\nWhen cron triggers:\n\n1. **Bundle Search预热**：用今日日志构建临时图结构，快速验证图连通性\n2. Read `memory/logs/{date}.md`\n3. Read `.learnings/LEARNINGS.md`, `.learnings/ERRORS.md`, `.learnings/FEATURE_REQUESTS.md`\n4. Read `MEMORY.md`, topic files, `graph/index.json`, `procedures.md` for context\n5. **Snapshot BEFORE**: count entries, decisions, lessons, procedures\n6. **[4.5] RAG召回**：从当日条目提取关键词 → 查询longterm.jsonl → 注入蒸馏上下文\n7. **图增强检索**：对每个learnings entry执行Bundle Search，找到相关Episode\n8. **Distillation Agent**: Run sub-agent on raw entries + learnings + RAG results → produce:\n   - 3-5 genuine insights (\"I learned that...\")\n   - 1-3 tomorrow action items\n   - 0-3 topic files to write to `memory/topics/`\n   - Health metric interpretation\n9. **[4.6] RAG晋升**：30天+未召回条目 → 写入longterm.jsonl\n10. **更新图结构**：\n    - 新Episode写入 `graph/episodes.json`\n    - 新FacetPoint写入 `graph/facetpoints.json`\n    - 新边写入 `graph/edges.json`（含语义描述）\n11. Write topic files (from Distillation Agent output)\n12. Update truth files (`user_state.md`, `pending.md`)\n13. Update `graph/index.json` entry metadata + 重新计算向量锚点\n14. Compute health metrics → update `graph/index.json` stats\n15. Archive eligible entries → append to `archive.md`\n16. Update `MEMORY.md` index (max 200 lines)\n17. **Snapshot AFTER**: calculate deltas\n18. Write dream report to `memory/dreams/{date}.md` and `dream-log.md`\n19. **[Optional SwarmRecall]**: 如果配置了API key，执行云端图同步\n\n---\n\n## Dream Report Format (v4.x)\n\n```markdown\n# 🌙 Dream Report — {date}\n\n## M-FLOW Graph Status\n- Entities: N | FacetPoints: N | Episodes: N | Edges: N\n- Graph Connectivity: {score}% | Avg Path Cost: {cost:.3f}\n\n## RAG Status\n- Short-term recall: N 条 | Long-term: M 条\n- Promoted this cycle: N 条\n\n## Health Insights\n- {insight based on graph connectivity / Bundle Search coverage}\n\n## Insights (\"I Learned\")\n- {genuine insight 1}\n- {genuine insight 2}\n\n## Tomorrow's Focus\n- {actionable item 1}\n- {actionable item 2}\n\n## Topic Files Written\n- {filename}: {title}\n\n## Graph Updates\n- New episodes: N\n- New semantic edges: N\n- Pruned nodes: N\n\n## Analysis\n- Recurring errors found: {list}\n- Root causes identified: {analysis}\n- Bundle Search paths evaluated: {count}\n\n## Patterns Updated\n- {pattern_name}: {change}\n```\n\n---\n\n## User Prompts\n\n- \"dream report\" / \"梦境报告\" → read and display latest dream report\n- \"dream\" / \"做梦\" → run distillation now\n- \"/dream status\" → show M-FLOW graph stats, health score, pattern count\n- \"/dream search {query}\" → run Bundle Search and show top results\n- \"/dream rag status\" → show RAG status (from longterm_rag.py)\n\n---\n\n## Scripts\n\n- `dream.py` — Phase 2 蒸馏脚本（v4.x，M-FLOW Bundle Search + RAG召回/晋升）\n- `update-cron-date.py` — 每日 cron 日期注入\n- `graph-builder.py` — 从日志构建M-FLOW图结构\n- `bundle-search.py` — Bundle Search检索实现\n- `longterm_rag.py` — Long-Term RAG 管理脚本（v4.x新增）\n\n---\n\n## Phase 1 启用（hippocampus hook）\n\n**Hook 目录：** `~/.openclaw/hooks/hippocampus/`\n**已配置：** `openclaw.json` 中 `hooks.internal.entries.hippocampus: enabled: true`\n\n**功能：** 监听 `message:preprocessed` 事件，自动记录对话到 `memory/logs/YYYY/MM/YYYY-MM-DD.md`\n\n**丘脑过滤规则：**\n- 纯问候 / 简单确认（<20字）不记录\n- 高权重标记：correction / error / decision / completed / insight\n\n重启 gateway 后生效：\n```bash\nschtasks /run /tn \"OpenClaw Gateway\"\n```\n\n---\n\n## M-FLOW vs 旧架构对比\n\n| 维度 | 旧架构（平坦检索） | M-FLOW（倒锥图路由） |\n|------|-------------------|----------------------|\n| **存储结构** | 平面文件列表 | 四层有向图 |\n| **检索方式** | grep / 向量相似度 | Bundle Search代价传播 |\n| **关系表示** | 简单link引用 | 带语义描述的边 |\n| **短长记忆** | 无分层 | 30天老化晋升RAG |\n\n---\n\n## 与MetaGPT对比\n\n| 维度 | MetaGPT RoleZeroLongTermMemory | Dream Long-Term RAG |\n|------|-------------------------------|---------------------|\n| **RAG引擎** | Chroma + LLMRanker | JSONL + 关键词匹配 |\n| **召回触发** | memory_k 溢出 或 用户需求 | 每次蒸馏前 |\n| **晋升条件** | count > memory_k | age > 30天 且 recallCount < 3 |\n| **向量化** | embedding 模型 | 词袋模型（简化版） |\n| **复杂度** | 依赖 Chroma/llama-index | 纯 Python，无外部依赖 |\n\nFile v4.1.4:_meta.json\n\n{\n  \"ownerId\": \"kn75g2sw7ssvtwkxyw4pce8t3d84mna2\",\n  \"slug\": \"dream-selfimproving\",\n  \"version\": \"4.1.4\",\n  \"publishedAt\": 1776955808756\n}\n\nFile v4.1.4:references/multi-agent-team-architecture.md\n\n# 多 Agent 团队架构参考\n\n> 来源：OpenClaw 搭建 6 人团队，它开始自己转起来了\n> 作者：yabin\n> 链接：https://mp.weixin.qq.com/s/D33ScqwgpjiwI4PDN3vUaA\n> 抓取时间：2026-04-17\n\n## 核心架构\n\n```\n同一飞书机器人（一个前台号码）\n  ↓ 按群聊 ID 路由\n开发群 → main agent\n产品群 → product-claw\n测试群 → qa-claw\n调研群 → research-claw\n数据分析群 → analytics-claw\n运营群 → ops-claw\n```\n\n每个 agent 有独立 workspace，上下文件隔离，形成闭环飞轮：\n```\nresearch → product → dev → qa → analytics → ops → 下一轮\n```\n\n## 关键结论\n\n### 1. 不拆 workspace，多 agent 很容易只是幻觉\n- 不同角色的长期记忆不会混在一起\n- 本地 skill、模板、文档可以按角色分别放\n- 同一个飞书机器人进来的消息，最终会落进不同工作目录\n\n### 2. 角色文件必须落到角色边界上\n每个 agent 独立配置：\n- AGENTS.md、IDENTITY.md、SOUL.md、USER.md、TOOLS.md、MEMORY.md\n\n### 3. 产品 agent 特别值得挂方法库\n开发 agent 靠代码库天然有上下文，产品 agent 没有方法库的话很容易退化成\"会写点文档的通用聊天机器人\"。\n\n### 4. 路由方式选择\n- 按群聊 peer-id 路由是最自然的形态\n- 人在协作里本来就已按群在分场景\n\n### 5. 专人助手式的 agent，交互摩擦一定要足够低\n- 如果机器人是共享工具，那 @ 一下很合理\n- 如果机器人是专属群的长期助手，每次都 @ 一下就很蠢\n\n## OpenClaw 飞书插件 Bug（已发现）\n\n1. **机器人名字**不是在 OpenClaw 里改，而是在飞书开放平台的 Bot 能力页改\n   - appId/appSecret 解决\"这个机器人是谁\"\n   - Bot 显示名解决\"别人看到它叫什么\"\n\n2. **requireMention per-group 配置无效**\n   - 文档支持 `groups.<id>.requireMention`\n   - 配置 schema 也支持\n   - 但运行时代码只读了全局 `channels.feishu-china.requireMention`\n   - per-group 覆盖配置根本没被用上\n\n## 方案边界\n\n解决的是：\n- 角色分工\n- 上下文隔离\n- 单机器人多场景协作\n\n没有解决的是：\n- 容器级强安全隔离\n- 多套全局凭证隔离\n- 多飞书机器人并行的插件级支持\n\n本质：同一个 gateway 进程、同一个 OpenClaw 实例、同一套全局配置。\n是「角色隔离 + 上下文隔离」，不是「基础设施级彻底隔离」。\n\n## 实践要点\n\n1. 默认开发 agent 尽量保留 main（兼容性现实）\n2. 多 agent 的关键不是多写几个 id，而是拆 workspace\n3. 人格文件必须和 AGENTS.md、TOOLS.md、MEMORY.md 一起工作\n4. 产品 agent 特别值得挂方法库\n5. 同一个飞书机器人按群路由是最顺手的形态\n6. 如果配置明明对了但不工作，第一时间去看运行时日志，不要先怀疑自己\n\nFile v4.1.4:package.json\n\n{\n  \"name\": \"dream\",\n  \"version\": \"4.0.4\",\n  \"description\": \"Dream self-evolution skill\"\n}\n\nArchive v4.1.3: 19 files, 52609 bytes\n\nFiles: _meta.json (138b), analyze.py (781b), bundle-search.py (19253b), check_skill.py (2020b), debug_ep.py (295b), debug_parse.py (297b), find_closes.py (1482b), find_marker.py (322b), fix_bundle.py (4612b), fix_ep_dedup.py (284b), fix_insert.py (1490b), fix_israw.py (440b), graph-builder.py (33644b), package.json (91b), references/multi-agent-team-architecture.md (2843b), scripts/dream.py (54598b), scripts/longterm_rag.py (8084b), scripts/update-cron-date.py (6872b), SKILL.md (14325b)\n\nFile v4.1.3:SKILL.md\n\n---\nname: dream-selfimproving\ndescription: \"让AI拥有\"进化\"能力——每晚自动复盘当天对话，提取洞察，更新记忆，长久保持聪明。不用手动记录，AI自己记住重要的事。\"\nmetadata:\n  openclaw:\n    requires:\n      bins:\n        - python\n    notes: |\n      运行时通过 `openclaw env get` / `openclaw cron list` 动态获取，无需预先声明环境变量。\n\n      Cron编辑：update-cron-date.py 通过 'openclaw cron edit' 修改 dream cron 作业消息。\n      特权操作，需使用 --confirm 标志：python update-cron-date.py --confirm\n\n      SwarmRecall（可选）：SWARMRECALL_API_KEY 启用云端去重/矛盾检测。\n  meta:\n    name: \"AI记忆进化助手\"\n    tagline: \"让AI每晚进化一次，越用越聪明\"\n    category: memory\n    tags: [AI, memory, distillation, RAG, self-improving]\n---\n\n# Dream Self-improving — 夜间记忆蒸馏与自我进化\n\n> 🧠 **v4.x 已集成 Long-Term RAG** — MetaGPT风格短长记忆合并，条目老化后自动晋升到 RAG 层\n\n## 现状\n\n**Phase 3（✅ 已实现）：** OpenClaw Hook `hippocampus` 监听每条消息，实时写入 `memory/logs/`\n**Phase 3（✅ 已实现）：** `dream.py v4.x` 定时蒸馏 + M-FLOW Bundle Search检索\n**Phase 3（✅ 已实现）：** `dream.py v4.x` Long-Term RAG 长记忆层\n\n---\n\n## 核心升级：Long-Term RAG\n\n参考 MetaGPT 的 RoleZeroLongTermMemory 设计，新增短长记忆合并机制：\n\n```\nshort-term-recall.json  ←  活跃recall条目（上限200条）\nmemory/.rag/longterm.jsonl  ←  老旧条目RAG存储\n```\n\n**晋升条件：**\n- 条目 age > 30天（从最后召回时间算）\n- 且 recallCount < 3（未被频繁召回）\n\n**召回流程：**\n1. 蒸馏前，从当日高权重条目提取关键词\n2. 用关键词查询 RAG，召回相关旧记忆\n3. 旧记忆注入蒸馏上下文，让 AI 知道\"之前有过什么\"\n\n**效果：** 记忆越来越精准，不像以前每次都从零开始。\n\n---\n\n## 完整链路\n\n```\n用户对话\n   ↓\nOpenClaw Hook: message:preprocessed\n   ↓\n丘脑过滤（Thalamus）→ 杏仁核标记（Amygdala）→ 海马体存储（memory/logs/）\n   ↓\ncron 触发（早7点/晚10点）\ndream.py v4.x\n   ↓\n[4.5] RAG查询 — 从当日条目提取关键词 → 查询memory/.rag/longterm.jsonl → 注入蒸馏上下文\n   ↓\nBundle Search检索（替代简单grep）\n   ↓\n杏仁核标记融合 → Auditor审计 → 分析皮层模式识别 → 前额叶蒸馏规划\n   ↓\n[4.6] RAG晋升 — 30天+未召回条目 → 写入longterm.jsonl\n   ↓\n归档区 → 真相文件写回 → 梦境报告\n```\n\n---\n\n## M-FLOW 核心架构\n\n### 倒锥知识图谱（Inverted Cone）\n\n所有记忆组织为**四层有向图**，形成倒锥结构：\n\n```\n          锥尖（容易精确命中）\n             ↓\n    ┌─────────────────────────┐\n    │  L4 Entity             │  ← 用户/项目/系统等实体节点\n    │  L3 FacetPoint         │  ← 具体属性、特征、标签\n    │  L2 Facet               │  ← 一组相关特征\n    │  L1 Episode（锥底）     │  ← 最终返回的知识单元\n    └─────────────────────────┘\n          锥底（返回给用户）\n```\n\n**搜索逻辑（Bundle Search）：**\n1. **锥尖广撒网**：查询向量化后同时在4层搜索，每个集合返回最多100个候选\n2. **投影到图中**：命中点作为入口，提取周围子图（边+邻居+连接关系）\n3. **代价传播**：沿边从锥尖向锥底传播，Episode得分 = 所有路径中最小代价\n\n**三条核心设计原则：**\n\n| 原则 | 说明 | 对应效果 |\n|------|------|---------|\n| **边携带语义** | 每条边附带自然语言描述，参与检索 | 不是被动连接，是主动语义过滤器 |\n| **路径最小代价** | 一条强证据链就足以证明相关性 | 不被无关路径稀释分数 |\n| **惩罚直接命中Episode** | 直接匹配摘要反而加惩罚 | 偏好精准锚点路径，防止宽泛匹配 |\n\n---\n\n## 脑区协同架构\n\n**① 丘脑（Thalamus）— 注意力门控**\n> 过滤纯问候/简单确认，只记录有意义的事件\n> 标记类型：event / decision / correction / completed / insight / error\n\n**② 杏仁核（Amygdala）— 情绪标记**\n> correction/error/decision/completed/insight 携带 HIGH 权重，优先蒸馏\n\n**③ 海马体（Hippocampus）— M-FLOW图存储 + RAG**\n\nPhase 1：`memory/logs/` 追加日志（Episode层）\n\nPhase 2：构建M-FLOW图结构：\n\n```\nEpisode (L1)              ← daily log / topic file\n  ↓ semantic edge\nFacet (L2)                ← grouping: correction_group, project_xxx\n  ↓ semantic edge  \nFacetPoint (L3)           ← specific tag: error.timeout, user.pref\n  ↓ semantic edge\nEntity (L4)               ← user, project, tool, skill\n```\n\n**FacetPoint** = type + topic + keywords 的向量描述（向量化后参与Bundle Search）\n**语义边描述** = \"这个FacetPoint为什么属于这个Episode\" 的自然语言说明\n\n**④ 前额叶（Prefrontal Cortex）— Bundle Search + RAG召回 + 蒸馏规划**\n\nBundle Search检索替代简单grep：\n```\n查询 → 向量化 → 4层锥形搜索 → 代价传播 → 最小路径Episode\n```\n\nRAG召回（v4.x新增）：\n```\n当日关键词 → 查询longterm.jsonl → 召回相关旧记忆 → 注入蒸馏上下文\n```\n\n**⑤ 蓝斑核（Locus Coeruleus）— 警觉与新鲜度信号**\n> freshness分数——最近被提及的记忆权重更高\n\n---\n\n## Long-Term RAG Layer 详解\n\n### 存储结构\n\n```\nmemory/\n├── .dreams/\n│   └── short-term-recall.json   # 活跃recall条目（上限200条）\n└── .rag/\n    └── longterm.jsonl          # 老旧条目RAG存储（JSONL格式）\n```\n\n### 晋升机制\n\n```python\n# 晋升条件\nif age_days > 30 and recall_count < 3:\n    promote_to_longterm_rag(entry)\n```\n\n### 召回机制\n\n```python\n# 蒸馏前\nkeywords = [v['snippet'][:100] for v in tagged.values()][:20]\nquery = ' '.join(keywords[:5])\nrag_results = query_longterm_rag(query, k=5)\n\n# 召回结果注入蒸馏上下文\nlearnings['LEARNINGS.md'] += f\"\\n\\n## Long-Term Memory (RAG)\\n{rag_text}\"\n```\n\n### 手动命令\n\n```bash\n# 查看短/长记忆状态\npython skills/dream-selfimproving/scripts/longterm_rag.py --status\n\n# 手动晋升老条目\npython skills/dream-selfimproving/scripts/longterm_rag.py --promote\n\n# 搜索长记忆\npython skills/dream-selfimproving/scripts/longterm_rag.py --query \"关键词\"\n```\n\n---\n\n## Pattern Library\n\nPatterns are reusable response templates extracted from recurring learnings:\n\n```\nmemory/patterns/\n└── p-xxx.md           # Pattern files with trigger + response\n```\n\n**Pattern格式（含M-FLOW元数据）：**\n\n```yaml\n---\nname: pattern名称\ntrigger: 什么情况下触发\nresponse: 如何响应\nexamples: [案例1, 案例2]\ncreated: YYYY-MM-DD\nupdated: YYYY-MM-DD\n# M-FLOW 元数据\nentity: pattern          # L4 Entity\nfacets: [tag1, tag2]    # L3 FacetPoints\nepisode_id: p-xxx        # L1 Episode\n---\n```\n\n---\n\n## Memory Taxonomy & M-FLOW映射\n\n| Memory Type | L4 Entity | L3 FacetPoints | L1 Episode |\n|------------|-----------|-----------------|--------------|\n| **user** | user.luyi | role, pref, goal, communication_style | topics/user_*.md |\n| **feedback** | feedback | correction, error, insight, confirmation | topics/feedback_*.md |\n| **project** | project.{name} | decision, tool, deadline, context | topics/project_*.md |\n| **reference** | reference | credential, link, skill, system | topics/reference_*.md |\n| **longterm** | (RAG) | aged, promoted | .rag/longterm.jsonl |\n\n---\n\n## Directory Structure (v4.x)\n\n```\nmemo...","readmeExcerpt":"Skill: Dream Selfimproving Owner: luis1213899 Summary: 让AI拥有进化能力——每晚自动复盘当天对话，提取洞察，更新记忆，像梦境一样在夜里悄然进化。不用手动记录，AI自己记住重要的事，越用越聪明。 Tags: ai:2.5.0, amygdala:2.9.0, automation:2.8.0, brain-regions:2.9.0, consolidated:2.5.0, distillation:2.9.0, dream:2.9.0, eo-ability-dream:2.2.0, health-score:2.5.0, hippocampus:2.9.0, kairos:2.9.0, latest:5.1.0, locus-coeruleus:2.9.0, memory:2.9.0, memory-management:2.8.0, multi-agent:2.8.0,","codeSnippets":[],"executableExamples":[{"language":"text","snippet":"extensions/\n├── __init__.py\n├── skill_evolution/     # 用进废退核心\n│   ├── scorer.py        # 技能评分器\n│   ├── decay.py         # 衰减引擎\n│   └── registry.py      # 技能注册表\n├── work_review/         # 工作复盘\n│   ├── analyzer.py      # 工作分析器\n│   └── planner.py       # 明日计划生成器\n├── skill_explorer/      # 技能探索\n│   ├── gap_detector.py  # 缺口检测器\n│   └── learner.py       # 技能学习器\n├── skill_developer/     # 技能开发\n│   ├── templates.py     # 技能模板库\n│   ├── generator.py     # 技能生成器\n│   └── quality.py       # 质量评估器\n└── reporter/            # 汇报生成\n    ├── daily_report.py  # 每日汇报生成器\n    └── skill_report.py  # 技能专项报告"},{"language":"text","snippet":"short-term-recall.json  ←  活跃recall条目（上限200条）\nmemory/.rag/longterm.jsonl  ←  老旧条目RAG存储"},{"language":"text","snippet":"用户对话\n   ↓\nOpenClaw Hook: message:preprocessed\n   ↓\n丘脑过滤（Thalamus）→ 杏仁核标记（Amygdala）→ 海马体存储（memory/logs/）\n   ↓\ncron 触发（早7点/晚10点）\ndream.py v4.x\n   ↓\n[4.5] RAG查询 — 从当日条目提取关键词 → 查询memory/.rag/longterm.jsonl → 注入蒸馏上下文\n   ↓\nBundle Search检索（替代简单grep）\n   ↓\n杏仁核标记融合 → Auditor审计 → 分析皮层模式识别 → 前额叶蒸馏规划\n   ↓\n[4.6] RAG晋升 — 30天+未召回条目 → 写入longterm.jsonl\n   ↓\n归档区 → 真相文件写回 → 梦境报告"},{"language":"text","snippet":"锥尖（容易精确命中）\n             ↓\n    ┌─────────────────────────┐\n    │  L4 Entity             │  ← 用户/项目/系统等实体节点\n    │  L3 FacetPoint         │  ← 具体属性、特征、标签\n    │  L2 Facet               │  ← 一组相关特征\n    │  L1 Episode（锥底）     │  ← 最终返回的知识单元\n    └─────────────────────────┘\n          锥底（返回给用户）"},{"language":"text","snippet":"Episode (L1)              ← daily log / topic file\n  ↓ semantic edge\nFacet (L2)                ← grouping: correction_group, project_xxx\n  ↓ semantic edge  \nFacetPoint (L3)           ← specific tag: error.timeout, user.pref\n  ↓ semantic edge\nEntity (L4)               ← user, project, tool, skill"},{"language":"text","snippet":"查询 → 向量化 → 4层锥形搜索 → 代价传播 → 最小路径Episode"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: dream-selfimproving\ndescription: \"让AI拥有进化能力——每晚自动复盘当天对话，提取洞察，更新记忆，并自动学习新技能、淘汰低频技能。越用越聪明，真正实现\"用进废退\"的自主进化。\"\nmetadata:\n  openclaw:\n    requires:\n      bins:\n        - python\n      env:\n        SWARMRECALL_API_KEY:\n          description: \"可选。云端去重/矛盾检测密钥。不设置则仅本地运行。\"\n          required: false\n    notes: |\n      运行时通过 `openclaw env get` / `openclaw cron list` 动态获取，无需预先声明环境变量。\n\n      Cron编辑：update-cron-date.py 通过 'openclaw cron edit' 修改 dream cron 作业消息。\n      ⚠️ 特权操作，需使用 --confirm 标志：python update-cron-date.py --confirm\n      详情见下方 ## 安全说明 章节。\n  meta:\n    name: \"dream-AI进化的梦之核\"\n    tagline: \"让AI每晚进化一次，越用越聪明，用进废退自主进化\"\n    category: memory\n    tags: [AI, memory, distillation, RAG, self-improving, 夜间蒸馏, 知识图谱, 用进废退, 技能进化, 全自动技能开发]\n---\n\n# Dream Self-improving — 夜间记忆蒸馏与自我进化\n\n> 🧠 **v5.1 技能进化插件** — AI自主学习、用进废退、全自动技能开发 + 完整每日汇报\n\n## 现状\n\n**Phase 3（✅ 已实现）：** OpenClaw Hook `hippocampus` 监听每条消息，实时写入 `memory/logs/`\n**Phase 3（✅ 已实现）：** `dream.py v4.x` 定时蒸馏 + M-FLOW Bundle Search检索\n**Phase 3（✅ 已实现）：** `dream.py v4.x` Long-Term RAG 长记忆层\n\n**Phase 4（✅ 已实现）：** `dream.py v5.0` 技能用进废退 + 全自动技能开发 + 完整每日汇报\n\n---\n\n## v5.1 技能进化插件（v2.0 大幅增强）\n\n### GapDetector v2.0 — 新增 SKILL.md 草稿自动生成\n\n`extensions/skill_explorer/gap_detector.py` v2.0 整合 skill-evolver 核心逻辑：\n\n| 新增方法 | 功能 |\n|---------|------|\n| `get_active_capabilities()` | 从 `~/.skill_scoreboard/scores.json` 推断用户能力需求 |\n| `scan_shared_skills()` | 扫描 `~/SharedSkills/` 所有技能清单 |\n| `detect_gaps_from_scores()` | 基于评分数据检测能力缺口（比原有任务分析更精准） |\n| `generate_skill_draft()` | 为缺口生成**完整 SKILL.md 草稿**（含触发词、使用场景、步骤、工具） |\n| `detect_and_generate()` | 一次性执行缺口检测 + 草稿生成 + 过时技能扫描 |\n\n**SKILL.md 草稿模板库**（已实现）：\n\n| 能力 | 生成的技能名 | 触发词示例 |\n|------|------------|-----------|\n| 搜索/研究 | `deep-researcher` | 帮我调研、搜索论文 |\n| 图片生成 | `image-generator` | AI画图、生成插画 |\n| 网页抓取 | `web-scraper` | 爬取数据、提取网页内容 |\n| Shell命令 | `shell-automation` | 写脚本、批处理 |\n| Git操作 | `git-assistant` | commit、PR、解决冲突 |\n| 飞书集成 | `feishu-integration` | 飞书文档、飞书消息 |\n| 视频生成 | `video-generator` | 生成视频、AI视频 |\n| 文档总结 | `doc-summarizer` | 总结文档、长文章摘要 |\n| 数据分析 | `data-analyst` | 分析数据、生成图表 |\n| PPT制作 | `ppt-generator` | 制作PPT、演示文稿 |\n| 翻译 | `translator` | 中英互译、润色英文 |\n| 通用 | `{能力英文名}` | 能力名本身 |\n\n**E6/E8 流程更新（dream.py v5.1）**：\n1. `GapDetector.detect_and_generate()` → 同时获取缺口列表 + SKILL.md 草稿\n2. 对每个高优先级缺口 → `generate_skill_draft()` 生成完整草稿\n3. 草稿直接写入 `~/SharedSkills/{skill_name}/SKILL.md`\n4. 同时创建占位脚本 `scripts/main.py`\n5. 草稿内容同步保存到每日汇报的 `skill_development.drafts` 字段\n\n**与 skill-evolver 共用数据源**：`~/.skill_scoreboard/scores.json`\n\n---\n\n## v5.0 技能进化插件（原有架构）\n\n### 五大扩展模块\n\n| 模块 | 功能 | 关键类 |\n|------|------|--------|\n| **skill_evolution** | 技能评分（调用×质量×衰减）+ 用进废退引擎 + 技能注册表 | `SkillScorer`, `DecayEngine`, `SkillRegistry` |\n| **work_review** | 工作复盘分析 + 明日计划生成 | `WorkAnalyzer`, `TomorrowPlanner` |\n| **skill_explorer** | 技能缺口检测 + 自主学习 | `GapDetector`, `SkillLearner` |\n| **skill_developer** | 全自动技能生成（AI生成+质量评估+注册） | `SkillGenerator`, `SkillQualityAssessor` |\n| **reporter** | 每日完整汇报（六大模块） | `DailyReporter`, `SkillReportGenerator` |\n\n###"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn75g2sw7ssvtwkxyw4pce8t3d84mna2\",\n  \"slug\": \"dream-selfimproving\",\n  \"version\": \"5.1.0\",\n  \"publishedAt\": 1777815008603\n}"},{"path":"references/diagnostic-checklist.md","content":"# Dream Self-Improving — Diagnostic Checklist\n\n## 快速健康检查\n\n```bash\n# 1. Cron 任务状态（OpenClaw 侧）\ncat ~/.openclaw/cron/jobs.json | python3 -c \"\nimport json, sys\njobs = json.load(sys.stdin)['jobs']\nfor j in jobs:\n    if '梦境' in j.get('name', ''):\n        s = j.get('state', {})\n        print(f\\\"{j['name']}: last={s.get('lastRunStatus')}, consecutive={s.get('consecutiveErrors')}\\\")\n\"\n\n# 2. 本月日志目录是否存在\nls -la ~/.openclaw/workspace/memory/logs/2026/\n\n# 3. Hippocampus hook 是否在监听\nls -la ~/.openclaw/hooks/hippocampus/hook.py\n\n# 4. 最近的梦境报告\nls -lt ~/.openclaw/workspace/memory/dreams/ | head -5\n\n# 5. M-FLOW 图状态\ncat ~/.openclaw/workspace/memory/graph/index.json 2>/dev/null | python3 -m json.tool | head -20\n\n# 6. RAG 状态\npython3 ~/SharedSkills/dream-selfimproving/scripts/longterm_rag.py --status\n```\n\n## 常见失败模式\n\n| 症状 | 原因 | 修复 |\n|------|------|------|\n| 梦境报告条目全是0 | 本月日志目录不存在 | `mkdir -p ~/.openclaw/workspace/memory/logs/2026/05` |\n| Cron 显示 interrupted | Gateway 重启中断了运行中任务 | 下次自动重试，无需手动修复 |\n| consecutiveErrors > 0 | 任务超时或被中断 | 检查 `~/.openclaw/cron/runs/` 日志 |\n| 蓝斑核健康 0/100 | 没有新日志/recall store 为空 | 正常现象，新的一天开始时会恢复 |\n\n## Cron Jobs（当前配置）\n\n| ID | 名称 | 时间 | 上次状态 |\n|----|------|------|---------|\n| eeb00ae0 | 梦境技能-早间蒸馏 | 07:00 | error (gateway 重启) |\n| fc30089a | 梦境技能-晚间蒸馏 | 22:00 | ok |\n| b00b50fc | 每日技能积分榜快照 | 23:00 | ok |"},{"path":"references/hermes-openclaw-memory-sync.md","content":"# OpenClaw ↔ Hermes 记忆同步\n\n## 背景\n\nHermes 和 OpenClaw 各有独立的记忆系统：\n- **Hermes**: `~/.hermes/memories/MEMORY.md` + `USER.md`\n- **OpenClaw**: `~/.openclaw/memory/main.sqlite` (chunks 表，向量+RAG)\n\n两者内容有重叠但不完全相同，存在信息不对称。\n\n## 同步脚本\n\n位置：`~/.hermes/scripts/sync_openclaw_memory.py`\n\n功能：从 OpenClaw sqlite 提取 Hermes 没有的记忆，写入 Hermes 记忆文件。\n\n```bash\n# 预览同步内容（不写入）\npython3 ~/.hermes/scripts/sync_openclaw_memory.py --dry-run\n\n# 执行同步\npython3 ~/.hermes/scripts/sync_openclaw_memory.py\n```\n\n### 同步逻辑\n\n1. 读取 `~/.openclaw/memory/main.sqlite` 的 `chunks` 表（source='memory'）\n2. 按 path 去重，取最新版本\n3. 对每个文件类型（MEMORY.md、truth 文件等）提取内容\n4. 检查 Hermes 记忆是否已包含该内容\n5. 补充缺失章节到 `~/.hermes/memories/MEMORY.md` 和 `USER.md`\n\n### 已同步内容（2026-04-29）\n\n| 信息类型 | 来源 | 目标 |\n|---------|------|------|\n| 陛下开发的技能列表 | OpenClaw MEMORY.md | Hermes USER.md |\n| OpenClaw-Admin 地址/账号 | OpenClaw MEMORY.md | Hermes USER.md |\n| 技能积分榜系统配置 | OpenClaw MEMORY.md | Hermes USER.md |\n| Cron 任务配置 | OpenClaw MEMORY.md | Hermes MEMORY.md |\n\n## 局限性\n\n1. **单向同步**：目前只从 OpenClaw → Hermes，没有反向同步\n2. **手动触发**：需要手动运行脚本，未加入自动 cron\n3. **仅同步 memory chunks**：不包括 OpenClaw 各 agent 的独立 sqlite（xiao.sqlite、main.sqlite 等）\n\n## 改进方向\n\n1. **定时自动同步**：加入每日 cron（建议在晚间蒸馏前执行）\n2. **反向同步**：将 Hermes MEMORY.md 的重要更新写回 OpenClaw\n3. **多 agent sqlite 整合**：读取 xiao.sqlite、content-reviewer.sqlite 等获取更多 agent 视角的记忆\n4. **差异告警**：如果两边对同一事实的记录矛盾，告警通知"},{"path":"references/multi-agent-team-architecture.md","content":"# 多 Agent 团队架构参考\n\n> 来源：OpenClaw 搭建 6 人团队，它开始自己转起来了\n> 作者：yabin\n> 链接：https://mp.weixin.qq.com/s/D33ScqwgpjiwI4PDN3vUaA\n> 抓取时间：2026-04-17\n\n## 核心架构\n\n```\n同一飞书机器人（一个前台号码）\n  ↓ 按群聊 ID 路由\n开发群 → main agent\n产品群 → product-claw\n测试群 → qa-claw\n调研群 → research-claw\n数据分析群 → analytics-claw\n运营群 → ops-claw\n```\n\n每个 agent 有独立 workspace，上下文件隔离，形成闭环飞轮：\n```\nresearch → product → dev → qa → analytics → ops → 下一轮\n```\n\n## 关键结论\n\n### 1. 不拆 workspace，多 agent 很容易只是幻觉\n- 不同角色的长期记忆不会混在一起\n- 本地 skill、模板、文档可以按角色分别放\n- 同一个飞书机器人进来的消息，最终会落进不同工作目录\n\n### 2. 角色文件必须落到角色边界上\n每个 agent 独立配置：\n- AGENTS.md、IDENTITY.md、SOUL.md、USER.md、TOOLS.md、MEMORY.md\n\n### 3. 产品 agent 特别值得挂方法库\n开发 agent 靠代码库天然有上下文，产品 agent 没有方法库的话很容易退化成\"会写点文档的通用聊天机器人\"。\n\n### 4. 路由方式选择\n- 按群聊 peer-id 路由是最自然的形态\n- 人在协作里本来就已按群在分场景\n\n### 5. 专人助手式的 agent，交互摩擦一定要足够低\n- 如果机器人是共享工具，那 @ 一下很合理\n- 如果机器人是专属群的长期助手，每次都 @ 一下就很蠢\n\n## OpenClaw 飞书插件 Bug（已发现）\n\n1. **机器人名字**不是在 OpenClaw 里改，而是在飞书开放平台的 Bot 能力页改\n   - appId/appSecret 解决\"这个机器人是谁\"\n   - Bot 显示名解决\"别人看到它叫什么\"\n\n2. **requireMention per-group 配置无效**\n   - 文档支持 `groups.<id>.requireMention`\n   - 配置 schema 也支持\n   - 但运行时代码只读了全局 `channels.feishu-china.requireMention`\n   - per-group 覆盖配置根本没被用上\n\n## 方案边界\n\n解决的是：\n- 角色分工\n- 上下文隔离\n- 单机器人多场景协作\n\n没有解决的是：\n- 容器级强安全隔离\n- 多套全局凭证隔离\n- 多飞书机器人并行的插件级支持\n\n本质：同一个 gateway 进程、同一个 OpenClaw 实例、同一套全局配置。\n是「角色隔离 + 上下文隔离」，不是「基础设施级彻底隔离」。\n\n## 实践要点\n\n1. 默认开发 agent 尽量保留 main（兼容性现实）\n2. 多 agent 的关键不是多写几个 id，而是拆 workspace\n3. 人格文件必须和 AGENTS.md、TOOLS.md、MEMORY.md 一起工作\n4. 产品 agent 特别值得挂方法库\n5. 同一个飞书机器人按群路由是最顺手的形态\n6. 如果配置明明对了但不工作，第一时间去看运行时日志，不要先怀疑自己"}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":"让AI拥有进化能力——每晚自动复盘当天对话，提取洞察，更新记忆，像梦境一样在夜里悄然进化。不用手动记录，AI自己记住重要的事，越用越聪明。 Skill: Dream Selfimproving Owner: luis1213899 Summary: 让AI拥有进化能力——每晚自动复盘当天对话，提取洞察，更新记忆，像梦境一样在夜里悄然进化。不用手动记录，AI自己记住重要的事，越用越聪明。 Tags: ai:2.5.0, amygdala:2.9.0, automation:2.8.0, brain-regions:2.9.0, consolidated:2.5.0, distillation:2.9.0, dream:2.9.0, eo-ability-dream:2.2.0, health-score:2.5.0, hippocampus:2.9.0, kairos:2.9.0, latest:5.1.0, locus-coeruleus:2.9.0, memory:2.9.0, memory-management:2.8.0, multi-agent:2.8.0,","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":866,"uniquenessScore":53,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-10T16:58:15.524Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-10T16:58:15.524Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-10T21:47:41.866Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}