bobo-ai-cli 3.0.4 → 3.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -21
- package/README.md +259 -259
- package/bundled-skills/CORE_SKILLS.txt +18 -18
- package/bundled-skills/backend-expert/SKILL.md +97 -97
- package/bundled-skills/code-review/SKILL.md +280 -280
- package/bundled-skills/code-review-expert/SKILL.md +85 -85
- package/bundled-skills/context-budget-analyzer/SKILL.md +76 -76
- package/bundled-skills/context-compressor/SKILL.md +75 -75
- package/bundled-skills/context-optimization-suite/SKILL.md +162 -162
- package/bundled-skills/frontend-expert/SKILL.md +93 -93
- package/bundled-skills/github/SKILL.md +12 -12
- package/bundled-skills/high-agency/SKILL.md +473 -473
- package/bundled-skills/high-agency/references/builder-patterns.md +126 -126
- package/bundled-skills/high-agency/references/recovery-playbook.md +298 -298
- package/bundled-skills/memory-manager/SKILL.md +214 -214
- package/bundled-skills/memory-manager/references/advanced-config.md +65 -65
- package/bundled-skills/orchestrator/SKILL.md +681 -681
- package/bundled-skills/planning-with-files/SKILL.md +193 -193
- package/bundled-skills/skill-creator/SKILL.md +220 -220
- package/bundled-skills/testing-expert/SKILL.md +99 -99
- package/bundled-skills/verify/SKILL.md +15 -15
- package/dist/agent.d.ts +5 -0
- package/dist/agent.js +11 -1
- package/dist/agent.js.map +1 -1
- package/dist/agents/catalog.d.ts +47 -0
- package/dist/agents/catalog.js +63 -5
- package/dist/agents/catalog.js.map +1 -1
- package/dist/agents/router.d.ts +12 -1
- package/dist/agents/router.js +43 -3
- package/dist/agents/router.js.map +1 -1
- package/dist/agents/spawn.js +36 -18
- package/dist/agents/spawn.js.map +1 -1
- package/dist/autonomous.js +5 -5
- package/dist/cli.js +23 -21
- package/dist/cli.js.map +1 -1
- package/dist/compactor.js +39 -39
- package/dist/dream.js +29 -29
- package/dist/image-input.d.ts +44 -0
- package/dist/image-input.js +161 -0
- package/dist/image-input.js.map +1 -0
- package/dist/memory.js +13 -13
- package/dist/project.js +15 -15
- package/dist/repl.js +88 -0
- package/dist/repl.js.map +1 -1
- package/dist/skills.js +54 -54
- package/dist/sub-agents.js +65 -65
- package/dist/tools/browser.js +21 -21
- package/dist/tools/claude-code.js +10 -10
- package/dist/web.js +7 -7
- package/dist/wiki-commands.d.ts +2 -0
- package/dist/wiki-commands.js +249 -0
- package/dist/wiki-commands.js.map +1 -0
- package/dist/wiki.d.ts +90 -0
- package/dist/wiki.js +614 -0
- package/dist/wiki.js.map +1 -0
- package/knowledge/advanced-patterns.md +70 -70
- package/knowledge/agent-directives.md +74 -74
- package/knowledge/api-integration-patterns.md +102 -0
- package/knowledge/code-review-protocol.md +69 -0
- package/knowledge/dream.md +36 -36
- package/knowledge/engineering.md +52 -46
- package/knowledge/error-catalog.md +38 -33
- package/knowledge/event-driven-architecture.md +43 -0
- package/knowledge/external-alignment.md +47 -0
- package/knowledge/high-agency.md +73 -0
- package/knowledge/image-generation.md +48 -0
- package/knowledge/index.json +194 -169
- package/knowledge/llm-wiki-pattern.md +71 -0
- package/knowledge/long-task-management.md +79 -0
- package/knowledge/memory/cache-optimization-and-skill-integration.md +102 -102
- package/knowledge/memory/engineering-patterns.md +134 -134
- package/knowledge/memory/feedback_root_structure.md +15 -15
- package/knowledge/memory/project-contexts.md +69 -69
- package/knowledge/memory/tools-and-services.md +85 -85
- package/knowledge/memory-management.md +72 -0
- package/knowledge/rules/advisor-strategy.md +204 -0
- package/knowledge/rules/agents.md +62 -62
- package/knowledge/rules/blocking-rules.md +323 -323
- package/knowledge/rules/cache-management.md +379 -379
- package/knowledge/rules/capability-evolution.md +132 -132
- package/knowledge/rules/coding.md +126 -126
- package/knowledge/rules/engineering-workflows.md +225 -225
- package/knowledge/rules/evomap-content-guidelines.md +354 -354
- package/knowledge/rules/evomap-guide.md +224 -224
- package/knowledge/rules/external-alignment.md +22 -0
- package/knowledge/rules/git.md +31 -31
- package/knowledge/rules/hooks.md +106 -106
- package/knowledge/rules/performance.md +101 -101
- package/knowledge/rules/remotion-auto-production.md +1120 -1120
- package/knowledge/rules/security.md +46 -46
- package/knowledge/rules/testing.md +32 -32
- package/knowledge/rules/work-mode.md +208 -208
- package/knowledge/rules.md +62 -62
- package/knowledge/self-evolution.md +78 -0
- package/knowledge/self-rationalization-guard.md +52 -0
- package/knowledge/skills/Skill_Seekers.md +1722 -1722
- package/knowledge/skills/ab-test-setup.md +557 -557
- package/knowledge/skills/agent-sdk-dev.md +238 -238
- package/knowledge/skills/agent-tools.md +136 -136
- package/knowledge/skills/analytics-tracking.md +597 -597
- package/knowledge/skills/artifacts-builder.md +89 -89
- package/knowledge/skills/asana.md +12 -12
- package/knowledge/skills/backend-expert.md +97 -97
- package/knowledge/skills/brand-voice.md +481 -481
- package/knowledge/skills/browser-use.md +419 -419
- package/knowledge/skills/cache-optimization-skill.md +179 -179
- package/knowledge/skills/canvas-design.md +147 -147
- package/knowledge/skills/citation-validator.md +203 -203
- package/knowledge/skills/clangd-lsp.md +52 -52
- package/knowledge/skills/code-review-expert.md +85 -85
- package/knowledge/skills/code-review.md +280 -280
- package/knowledge/skills/code-simplifier.md +12 -12
- package/knowledge/skills/commit-commands.md +258 -258
- package/knowledge/skills/competitor-alternatives.md +795 -795
- package/knowledge/skills/content-atomizer.md +910 -910
- package/knowledge/skills/content-research-writer.md +605 -605
- package/knowledge/skills/context-optimization-suite.md +162 -162
- package/knowledge/skills/context7.md +12 -12
- package/knowledge/skills/copy-editing.md +494 -494
- package/knowledge/skills/copywriting.md +510 -510
- package/knowledge/skills/csharp-lsp.md +40 -40
- package/knowledge/skills/decision-making-framework.md +154 -154
- package/knowledge/skills/developer-growth-analysis.md +335 -335
- package/knowledge/skills/direct-response-copy.md +2336 -2336
- package/knowledge/skills/docker-expert.md +229 -229
- package/knowledge/skills/document-skills.md +12 -12
- package/knowledge/skills/documentation-expert.md +126 -126
- package/knowledge/skills/email-sequence.md +1061 -1061
- package/knowledge/skills/email-sequences.md +910 -910
- package/knowledge/skills/example-plugin.md +72 -72
- package/knowledge/skills/explanatory-output-style.md +82 -82
- package/knowledge/skills/feature-dev.md +458 -458
- package/knowledge/skills/file-organizer.md +466 -466
- package/knowledge/skills/firebase.disabled.md +12 -12
- package/knowledge/skills/form-cro.md +488 -488
- package/knowledge/skills/free-tool-strategy.md +636 -636
- package/knowledge/skills/frontend-design-offical.md +55 -55
- package/knowledge/skills/frontend-design.md +41 -41
- package/knowledge/skills/frontend-expert.md +93 -93
- package/knowledge/skills/github.md +12 -12
- package/knowledge/skills/gitlab.md +12 -12
- package/knowledge/skills/gopls-lsp.md +32 -32
- package/knowledge/skills/got-controller.md +218 -218
- package/knowledge/skills/greptile.md +72 -72
- package/knowledge/skills/hookify.md +376 -376
- package/knowledge/skills/image-editor.md +189 -189
- package/knowledge/skills/image-enhancer.md +109 -109
- package/knowledge/skills/jdtls-lsp.md +49 -49
- package/knowledge/skills/json-canvas.md +654 -654
- package/knowledge/skills/keyword-research.md +559 -559
- package/knowledge/skills/kotlin-lsp.md +28 -28
- package/knowledge/skills/laravel-boost.md +12 -12
- package/knowledge/skills/launch-strategy.md +394 -394
- package/knowledge/skills/lead-magnet.md +393 -393
- package/knowledge/skills/learning-output-style.md +106 -106
- package/knowledge/skills/linear.md +12 -12
- package/knowledge/skills/lua-lsp.md +47 -47
- package/knowledge/skills/marketing-ideas.md +720 -720
- package/knowledge/skills/marketing-psychology.md +534 -534
- package/knowledge/skills/mcp-builder.md +369 -369
- package/knowledge/skills/meeting-insights-analyzer.md +347 -347
- package/knowledge/skills/memory-evolution-system.md +172 -172
- package/knowledge/skills/multi-lens-thinking.md +407 -407
- package/knowledge/skills/nano-banana-pro.md +116 -116
- package/knowledge/skills/newsletter.md +736 -736
- package/knowledge/skills/notebooklm.md +296 -296
- package/knowledge/skills/obsidian-bases.md +634 -634
- package/knowledge/skills/obsidian-markdown.md +651 -651
- package/knowledge/skills/onboarding-cro.md +494 -494
- package/knowledge/skills/orchestrator.md +681 -681
- package/knowledge/skills/page-cro.md +379 -379
- package/knowledge/skills/paid-ads.md +624 -624
- package/knowledge/skills/paywall-upgrade-cro.md +651 -651
- package/knowledge/skills/php-lsp.md +36 -36
- package/knowledge/skills/planning-with-files.md +193 -193
- package/knowledge/skills/playwright.md +12 -12
- package/knowledge/skills/plugin-dev.md +434 -434
- package/knowledge/skills/popup-cro.md +520 -520
- package/knowledge/skills/positioning-angles.md +330 -330
- package/knowledge/skills/pr-review-toolkit.md +359 -359
- package/knowledge/skills/pricing-strategy.md +777 -777
- package/knowledge/skills/programmatic-seo.md +714 -714
- package/knowledge/skills/pyright-lsp.md +43 -43
- package/knowledge/skills/quality-assurance-framework.md +168 -168
- package/knowledge/skills/question-refiner.md +160 -160
- package/knowledge/skills/ralph-loop.md +205 -205
- package/knowledge/skills/refactoring-expert.md +103 -103
- package/knowledge/skills/referral-program.md +668 -668
- package/knowledge/skills/research-executor.md +164 -164
- package/knowledge/skills/review-with-security.md +12 -12
- package/knowledge/skills/rust-analyzer-lsp.md +50 -50
- package/knowledge/skills/schema-markup.md +647 -647
- package/knowledge/skills/security-audit-expert.md +124 -124
- package/knowledge/skills/security-expert.md +140 -140
- package/knowledge/skills/security-guidance.md +12 -12
- package/knowledge/skills/seedance-prompt.md +139 -139
- package/knowledge/skills/self-evolution.md +1160 -1160
- package/knowledge/skills/seo-audit.md +432 -432
- package/knowledge/skills/seo-content.md +787 -787
- package/knowledge/skills/serena.md +12 -12
- package/knowledge/skills/signup-flow-cro.md +409 -409
- package/knowledge/skills/skill-creator.md +220 -220
- package/knowledge/skills/skill-manager.md +226 -226
- package/knowledge/skills/skill-share.md +98 -98
- package/knowledge/skills/slack.md +12 -12
- package/knowledge/skills/social-content.md +878 -878
- package/knowledge/skills/spec-flow-skill.md +124 -124
- package/knowledge/skills/stripe.md +12 -12
- package/knowledge/skills/supabase.md +12 -12
- package/knowledge/skills/swift-lsp.md +40 -40
- package/knowledge/skills/synthesizer.md +236 -236
- package/knowledge/skills/template-skill.md +16 -16
- package/knowledge/skills/testing-expert.md +99 -99
- package/knowledge/skills/theme-factory.md +72 -72
- package/knowledge/skills/tiktok-research.md +208 -208
- package/knowledge/skills/typescript-lsp.md +36 -36
- package/knowledge/skills/ui-ux-pro-max.md +247 -247
- package/knowledge/skills/verify.md +15 -15
- package/knowledge/skills/visual-prompt-engineer.md +102 -102
- package/knowledge/skills/webapp-testing.md +111 -111
- package/knowledge/skills/wide-research.md +191 -191
- package/knowledge/system.md +93 -93
- package/knowledge/task-router.md +46 -37
- package/knowledge/verification.md +38 -38
- package/knowledge/worker-prompt-craft.md +66 -0
- package/knowledge/workflows/3d-viz.md +47 -47
- package/knowledge/workflows/data-pipeline.md +47 -47
- package/knowledge/workflows/db-migration.md +51 -51
- package/knowledge/workflows/feature-dev.md +41 -41
- package/knowledge/workflows/tdd-flow.md +52 -52
- package/knowledge/workflows/ui-verify.md +51 -51
- package/package.json +74 -74
- package/dist/claude-bridge.d.ts +0 -18
- package/dist/claude-bridge.js +0 -91
- package/dist/claude-bridge.js.map +0 -1
- package/dist/tools/claude-bridge-tool.d.ts +0 -4
- package/dist/tools/claude-bridge-tool.js +0 -44
- package/dist/tools/claude-bridge-tool.js.map +0 -1
|
@@ -1,214 +1,214 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: memory-manager
|
|
3
|
-
description: "结构化长期记忆管理系统。自动捕获、分类、瘦身和检索 Agent 长期记忆。触发条件:(1) 每次 session 启动时自动加载记忆 (2) 用户说'记住'时写入 (3) 被纠正时自动记录 (4) 复杂任务完成时自动归档 (5) 用户表达偏好时自动写入 (6) MEMORY.md 超限时自动瘦身 (7) 需要回忆历史时自动检索。覆盖:记忆写入、检索、瘦身、归档、纠正追踪、隐私隔离。适用于所有 OpenClaw Agent。"
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Memory Manager — 结构化长期记忆管理
|
|
7
|
-
|
|
8
|
-
让 Agent 拥有可靠的长期记忆:自动捕获、分层存储、定期瘦身、精准检索。
|
|
9
|
-
|
|
10
|
-
## 核心架构
|
|
11
|
-
|
|
12
|
-
```
|
|
13
|
-
MEMORY.md (≤5KB) ← 核心记忆,每次 session 自动加载
|
|
14
|
-
├── 🔒 用户偏好(永久) ← 不删
|
|
15
|
-
├── 💼 角色定位(永久) ← 不删
|
|
16
|
-
├── 📝 业务经验(≤15条) ← 长期保留,满时合并
|
|
17
|
-
├── 📋 活跃任务(完成删) ← 临时
|
|
18
|
-
├── 🔄 纠正记录(≤10条) ← 晋升后删
|
|
19
|
-
└── 💬 对话摘要(7天精简) ← 临时
|
|
20
|
-
|
|
21
|
-
memory/
|
|
22
|
-
├── YYYY-MM-DD.md ← 每日日志(自动生成)
|
|
23
|
-
└── archive/ ← 归档(瘦身时迁入)
|
|
24
|
-
|
|
25
|
-
.learnings/
|
|
26
|
-
└── corrections.md ← 纠正详细记录(晋升源)
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
## 1. 记忆写入规则
|
|
30
|
-
|
|
31
|
-
### 自动写入(不需要用户说"记住")
|
|
32
|
-
|
|
33
|
-
| 触发条件 | 写入位置 | 示例 |
|
|
34
|
-
|---------|---------|------|
|
|
35
|
-
| 用户纠正了你 | 业务经验 + .learnings/ | "不对,应该用 CTE" |
|
|
36
|
-
| ≥3轮才搞清一个概念 | 业务经验 | 反复讨论后终于理解的概念 |
|
|
37
|
-
| 用户做了决策/选方案 | 对话摘要 | "决定用方案 B" |
|
|
38
|
-
| 完成复杂任务(≥5步) | 对话摘要 | 怎么做的、关键步骤 |
|
|
39
|
-
| 发现数据口径/技巧 | 业务经验 | "这个表的 from 字段要反引号" |
|
|
40
|
-
| 用户表达偏好 | 用户偏好 | "我喜欢简洁的报告" |
|
|
41
|
-
| 任务被搁置/等待 | 活跃任务 | "等 API key" |
|
|
42
|
-
|
|
43
|
-
### 绝对不记的内容(NOT-to-save 列表)
|
|
44
|
-
|
|
45
|
-
以下内容**即使用户说"记住"也不存入 MEMORY.md**:
|
|
46
|
-
|
|
47
|
-
- ❌ 代码模式/架构/文件结构 — `grep`/`find` 可查
|
|
48
|
-
- ❌ Git 历史/谁改了什么 — `git log`/`git blame` 权威
|
|
49
|
-
- ❌ 调试方案/修复步骤 — fix 在代码里
|
|
50
|
-
- ❌ AGENTS.md / SOUL.md 已有内容 — 不重复
|
|
51
|
-
- ❌ 临时任务状态/当前对话细节 — 完成后无价值
|
|
52
|
-
- ❌ 活动日志/PR列表汇总 — 记意外发现,不记列表
|
|
53
|
-
|
|
54
|
-
### 后台自动提取(每轮结束时)
|
|
55
|
-
|
|
56
|
-
1. 检查本轮是否已写记忆 → 是则跳过(防重复)
|
|
57
|
-
2. 否则回顾本轮,**两步并行**:
|
|
58
|
-
- Step 1: 并行读取所有可能更新的记忆文件
|
|
59
|
-
- Step 2: 并行写入所有变更
|
|
60
|
-
3. 只允许:读取任何文件 + 记忆目录写入。❌ 不碰项目代码
|
|
61
|
-
|
|
62
|
-
### 记忆漂移防护
|
|
63
|
-
|
|
64
|
-
基于记忆行动前,验证记忆准确性:
|
|
65
|
-
|
|
66
|
-
| 记忆内容 | 验证方式 |
|
|
67
|
-
|---|---|
|
|
68
|
-
| 文件路径 | 检查文件是否存在 |
|
|
69
|
-
| 函数/API 名 | grep 确认仍存在 |
|
|
70
|
-
| 配置值 | 读取当前值 |
|
|
71
|
-
| 记忆 vs 当前状态矛盾 | **信当前状态** |
|
|
72
|
-
|
|
73
|
-
### 手动写入
|
|
74
|
-
|
|
75
|
-
用户说"记住 XXX"时,按决策树分类:
|
|
76
|
-
1. "我喜欢/我的习惯" → `MEMORY.md` 用户偏好
|
|
77
|
-
2. "大家都应该知道" → 共享知识(如有)
|
|
78
|
-
3. 拿不准 → 先写个人记忆,问用户是否共享
|
|
79
|
-
|
|
80
|
-
### 打标签(提高检索命中率)
|
|
81
|
-
|
|
82
|
-
```markdown
|
|
83
|
-
[用户: bobo] [话题: SEO] 决定采用方案 B
|
|
84
|
-
[话题: 数据库] from 字段需要反引号
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
## 2. 纠正检测与记录
|
|
88
|
-
|
|
89
|
-
### 检测信号(不限于此)
|
|
90
|
-
|
|
91
|
-
- 直接否定:"不对"、"错了"
|
|
92
|
-
- 给出不同答案:你说 A,对方说"是 B"
|
|
93
|
-
- 温和引导:"其实..."、"应该是..."
|
|
94
|
-
- 示范正确做法(不说你错,直接展示)
|
|
95
|
-
- 质疑:"你确定?"
|
|
96
|
-
- 放弃让你做:"算了我来" ← 强烈失败信号
|
|
97
|
-
|
|
98
|
-
### 纠正后流程(同一 turn 内完成)
|
|
99
|
-
|
|
100
|
-
1. **承认** — 简洁承认,不找借口
|
|
101
|
-
2. **理解** — 确保理解正确做法
|
|
102
|
-
3. **记录** — 同时写两处:
|
|
103
|
-
|
|
104
|
-
`.learnings/corrections.md`(详细版):
|
|
105
|
-
```markdown
|
|
106
|
-
## YYYY-MM-DD HH:MM — 简短标题
|
|
107
|
-
- **纠正**: 正确的做法
|
|
108
|
-
- **我的错误**: 我之前做了什么
|
|
109
|
-
- **根因**: 为什么犯错
|
|
110
|
-
- **教训**: 下次怎么做(一句话)
|
|
111
|
-
- **状态**: ⏳待验证
|
|
112
|
-
```
|
|
113
|
-
|
|
114
|
-
`MEMORY.md` 纠正记录区(摘要版,≤10条):
|
|
115
|
-
```markdown
|
|
116
|
-
### [YYYY-MM-DD] 简短标题
|
|
117
|
-
- 我原来以为: xxx
|
|
118
|
-
- 正确理解: xxx
|
|
119
|
-
- **Why:** 为什么这样才对(根因)
|
|
120
|
-
- **How to apply:** 在什么场景下应用
|
|
121
|
-
```
|
|
122
|
-
|
|
123
|
-
### 晋升规则
|
|
124
|
-
|
|
125
|
-
- 两条相似纠正 → 晋升到 AGENTS.md(永久规则)
|
|
126
|
-
- 对他人也有价值 → 写入共享知识
|
|
127
|
-
|
|
128
|
-
## 3. 记忆检索
|
|
129
|
-
|
|
130
|
-
### 新 Session 启动时(自动执行)
|
|
131
|
-
|
|
132
|
-
1. 读取 `MEMORY.md`
|
|
133
|
-
2. 至少 2 次 `memory_search`:
|
|
134
|
-
- 搜索用户相关记忆
|
|
135
|
-
- 搜索当前话题关键词
|
|
136
|
-
3. 搜不到 → 诚实说"没找到相关记忆",不编造
|
|
137
|
-
|
|
138
|
-
### 对话中按需检索
|
|
139
|
-
|
|
140
|
-
回答关于历史工作、决策、日期、偏好的问题前,先 `memory_search` 再回答。
|
|
141
|
-
|
|
142
|
-
## 4. 自动瘦身
|
|
143
|
-
|
|
144
|
-
### 触发条件
|
|
145
|
-
|
|
146
|
-
- `MEMORY.md` > 5KB
|
|
147
|
-
- Heartbeat 检查时发现超限
|
|
148
|
-
|
|
149
|
-
### 瘦身规则
|
|
150
|
-
|
|
151
|
-
| 区域 | 策略 |
|
|
152
|
-
|------|------|
|
|
153
|
-
| 🔒 用户偏好 | 永不删 |
|
|
154
|
-
| 💼 角色定位 | 永不删 |
|
|
155
|
-
| 📝 业务经验 | >15条时合并相似项 |
|
|
156
|
-
| 📋 活跃任务 | 已完成 → 立即删 |
|
|
157
|
-
| 🔄 纠正记录 | 已晋升 → 删除 |
|
|
158
|
-
| 💬 对话摘要 | >7天 → 精简合并或归档 |
|
|
159
|
-
|
|
160
|
-
### 归档流程
|
|
161
|
-
|
|
162
|
-
被删除的内容移入 `memory/archive/` 对应文件,不是真正丢失。
|
|
163
|
-
|
|
164
|
-
## 5. 每日日志
|
|
165
|
-
|
|
166
|
-
### 自动生成
|
|
167
|
-
|
|
168
|
-
路径: `memory/YYYY-MM-DD.md`
|
|
169
|
-
|
|
170
|
-
### 写入时机
|
|
171
|
-
|
|
172
|
-
- Compaction flush 前
|
|
173
|
-
- 每天最后一次对话结束时
|
|
174
|
-
- 重要事件发生时
|
|
175
|
-
|
|
176
|
-
### 内容
|
|
177
|
-
|
|
178
|
-
记录当天关键事件、决策、任务进展。已有内容只追加不覆盖。
|
|
179
|
-
|
|
180
|
-
## 6. 隐私隔离
|
|
181
|
-
|
|
182
|
-
### 群聊 vs 私聊
|
|
183
|
-
|
|
184
|
-
- 群聊汇总 *不包含* 私聊内容
|
|
185
|
-
- 私聊记忆 *不在* 群聊中引用
|
|
186
|
-
- 报告/总结只基于当前会话空间的内容
|
|
187
|
-
- 唯一例外:用户在群聊中明确要求分享
|
|
188
|
-
|
|
189
|
-
## 初始化模板
|
|
190
|
-
|
|
191
|
-
新 Agent 首次使用时,创建以下结构:
|
|
192
|
-
|
|
193
|
-
```bash
|
|
194
|
-
# 创建 MEMORY.md
|
|
195
|
-
cat > MEMORY.md << 'EOF'
|
|
196
|
-
# MEMORY.md - Long-Term Memory
|
|
197
|
-
|
|
198
|
-
## 🔒 用户偏好(永久保留)
|
|
199
|
-
|
|
200
|
-
## 💼 角色定位(永久保留)
|
|
201
|
-
|
|
202
|
-
## 📝 业务经验(长期保留)
|
|
203
|
-
|
|
204
|
-
## 📋 活跃任务(完成后删)
|
|
205
|
-
|
|
206
|
-
## 🔄 纠正记录(≤10条)
|
|
207
|
-
|
|
208
|
-
## 💬 对话摘要(7天后精简)
|
|
209
|
-
EOF
|
|
210
|
-
|
|
211
|
-
# 创建目录
|
|
212
|
-
mkdir -p memory/archive .learnings
|
|
213
|
-
touch .learnings/corrections.md
|
|
214
|
-
```
|
|
1
|
+
---
|
|
2
|
+
name: memory-manager
|
|
3
|
+
description: "结构化长期记忆管理系统。自动捕获、分类、瘦身和检索 Agent 长期记忆。触发条件:(1) 每次 session 启动时自动加载记忆 (2) 用户说'记住'时写入 (3) 被纠正时自动记录 (4) 复杂任务完成时自动归档 (5) 用户表达偏好时自动写入 (6) MEMORY.md 超限时自动瘦身 (7) 需要回忆历史时自动检索。覆盖:记忆写入、检索、瘦身、归档、纠正追踪、隐私隔离。适用于所有 OpenClaw Agent。"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Memory Manager — 结构化长期记忆管理
|
|
7
|
+
|
|
8
|
+
让 Agent 拥有可靠的长期记忆:自动捕获、分层存储、定期瘦身、精准检索。
|
|
9
|
+
|
|
10
|
+
## 核心架构
|
|
11
|
+
|
|
12
|
+
```
|
|
13
|
+
MEMORY.md (≤5KB) ← 核心记忆,每次 session 自动加载
|
|
14
|
+
├── 🔒 用户偏好(永久) ← 不删
|
|
15
|
+
├── 💼 角色定位(永久) ← 不删
|
|
16
|
+
├── 📝 业务经验(≤15条) ← 长期保留,满时合并
|
|
17
|
+
├── 📋 活跃任务(完成删) ← 临时
|
|
18
|
+
├── 🔄 纠正记录(≤10条) ← 晋升后删
|
|
19
|
+
└── 💬 对话摘要(7天精简) ← 临时
|
|
20
|
+
|
|
21
|
+
memory/
|
|
22
|
+
├── YYYY-MM-DD.md ← 每日日志(自动生成)
|
|
23
|
+
└── archive/ ← 归档(瘦身时迁入)
|
|
24
|
+
|
|
25
|
+
.learnings/
|
|
26
|
+
└── corrections.md ← 纠正详细记录(晋升源)
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## 1. 记忆写入规则
|
|
30
|
+
|
|
31
|
+
### 自动写入(不需要用户说"记住")
|
|
32
|
+
|
|
33
|
+
| 触发条件 | 写入位置 | 示例 |
|
|
34
|
+
|---------|---------|------|
|
|
35
|
+
| 用户纠正了你 | 业务经验 + .learnings/ | "不对,应该用 CTE" |
|
|
36
|
+
| ≥3轮才搞清一个概念 | 业务经验 | 反复讨论后终于理解的概念 |
|
|
37
|
+
| 用户做了决策/选方案 | 对话摘要 | "决定用方案 B" |
|
|
38
|
+
| 完成复杂任务(≥5步) | 对话摘要 | 怎么做的、关键步骤 |
|
|
39
|
+
| 发现数据口径/技巧 | 业务经验 | "这个表的 from 字段要反引号" |
|
|
40
|
+
| 用户表达偏好 | 用户偏好 | "我喜欢简洁的报告" |
|
|
41
|
+
| 任务被搁置/等待 | 活跃任务 | "等 API key" |
|
|
42
|
+
|
|
43
|
+
### 绝对不记的内容(NOT-to-save 列表)
|
|
44
|
+
|
|
45
|
+
以下内容**即使用户说"记住"也不存入 MEMORY.md**:
|
|
46
|
+
|
|
47
|
+
- ❌ 代码模式/架构/文件结构 — `grep`/`find` 可查
|
|
48
|
+
- ❌ Git 历史/谁改了什么 — `git log`/`git blame` 权威
|
|
49
|
+
- ❌ 调试方案/修复步骤 — fix 在代码里
|
|
50
|
+
- ❌ AGENTS.md / SOUL.md 已有内容 — 不重复
|
|
51
|
+
- ❌ 临时任务状态/当前对话细节 — 完成后无价值
|
|
52
|
+
- ❌ 活动日志/PR列表汇总 — 记意外发现,不记列表
|
|
53
|
+
|
|
54
|
+
### 后台自动提取(每轮结束时)
|
|
55
|
+
|
|
56
|
+
1. 检查本轮是否已写记忆 → 是则跳过(防重复)
|
|
57
|
+
2. 否则回顾本轮,**两步并行**:
|
|
58
|
+
- Step 1: 并行读取所有可能更新的记忆文件
|
|
59
|
+
- Step 2: 并行写入所有变更
|
|
60
|
+
3. 只允许:读取任何文件 + 记忆目录写入。❌ 不碰项目代码
|
|
61
|
+
|
|
62
|
+
### 记忆漂移防护
|
|
63
|
+
|
|
64
|
+
基于记忆行动前,验证记忆准确性:
|
|
65
|
+
|
|
66
|
+
| 记忆内容 | 验证方式 |
|
|
67
|
+
|---|---|
|
|
68
|
+
| 文件路径 | 检查文件是否存在 |
|
|
69
|
+
| 函数/API 名 | grep 确认仍存在 |
|
|
70
|
+
| 配置值 | 读取当前值 |
|
|
71
|
+
| 记忆 vs 当前状态矛盾 | **信当前状态** |
|
|
72
|
+
|
|
73
|
+
### 手动写入
|
|
74
|
+
|
|
75
|
+
用户说"记住 XXX"时,按决策树分类:
|
|
76
|
+
1. "我喜欢/我的习惯" → `MEMORY.md` 用户偏好
|
|
77
|
+
2. "大家都应该知道" → 共享知识(如有)
|
|
78
|
+
3. 拿不准 → 先写个人记忆,问用户是否共享
|
|
79
|
+
|
|
80
|
+
### 打标签(提高检索命中率)
|
|
81
|
+
|
|
82
|
+
```markdown
|
|
83
|
+
[用户: bobo] [话题: SEO] 决定采用方案 B
|
|
84
|
+
[话题: 数据库] from 字段需要反引号
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
## 2. 纠正检测与记录
|
|
88
|
+
|
|
89
|
+
### 检测信号(不限于此)
|
|
90
|
+
|
|
91
|
+
- 直接否定:"不对"、"错了"
|
|
92
|
+
- 给出不同答案:你说 A,对方说"是 B"
|
|
93
|
+
- 温和引导:"其实..."、"应该是..."
|
|
94
|
+
- 示范正确做法(不说你错,直接展示)
|
|
95
|
+
- 质疑:"你确定?"
|
|
96
|
+
- 放弃让你做:"算了我来" ← 强烈失败信号
|
|
97
|
+
|
|
98
|
+
### 纠正后流程(同一 turn 内完成)
|
|
99
|
+
|
|
100
|
+
1. **承认** — 简洁承认,不找借口
|
|
101
|
+
2. **理解** — 确保理解正确做法
|
|
102
|
+
3. **记录** — 同时写两处:
|
|
103
|
+
|
|
104
|
+
`.learnings/corrections.md`(详细版):
|
|
105
|
+
```markdown
|
|
106
|
+
## YYYY-MM-DD HH:MM — 简短标题
|
|
107
|
+
- **纠正**: 正确的做法
|
|
108
|
+
- **我的错误**: 我之前做了什么
|
|
109
|
+
- **根因**: 为什么犯错
|
|
110
|
+
- **教训**: 下次怎么做(一句话)
|
|
111
|
+
- **状态**: ⏳待验证
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
`MEMORY.md` 纠正记录区(摘要版,≤10条):
|
|
115
|
+
```markdown
|
|
116
|
+
### [YYYY-MM-DD] 简短标题
|
|
117
|
+
- 我原来以为: xxx
|
|
118
|
+
- 正确理解: xxx
|
|
119
|
+
- **Why:** 为什么这样才对(根因)
|
|
120
|
+
- **How to apply:** 在什么场景下应用
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
### 晋升规则
|
|
124
|
+
|
|
125
|
+
- 两条相似纠正 → 晋升到 AGENTS.md(永久规则)
|
|
126
|
+
- 对他人也有价值 → 写入共享知识
|
|
127
|
+
|
|
128
|
+
## 3. 记忆检索
|
|
129
|
+
|
|
130
|
+
### 新 Session 启动时(自动执行)
|
|
131
|
+
|
|
132
|
+
1. 读取 `MEMORY.md`
|
|
133
|
+
2. 至少 2 次 `memory_search`:
|
|
134
|
+
- 搜索用户相关记忆
|
|
135
|
+
- 搜索当前话题关键词
|
|
136
|
+
3. 搜不到 → 诚实说"没找到相关记忆",不编造
|
|
137
|
+
|
|
138
|
+
### 对话中按需检索
|
|
139
|
+
|
|
140
|
+
回答关于历史工作、决策、日期、偏好的问题前,先 `memory_search` 再回答。
|
|
141
|
+
|
|
142
|
+
## 4. 自动瘦身
|
|
143
|
+
|
|
144
|
+
### 触发条件
|
|
145
|
+
|
|
146
|
+
- `MEMORY.md` > 5KB
|
|
147
|
+
- Heartbeat 检查时发现超限
|
|
148
|
+
|
|
149
|
+
### 瘦身规则
|
|
150
|
+
|
|
151
|
+
| 区域 | 策略 |
|
|
152
|
+
|------|------|
|
|
153
|
+
| 🔒 用户偏好 | 永不删 |
|
|
154
|
+
| 💼 角色定位 | 永不删 |
|
|
155
|
+
| 📝 业务经验 | >15条时合并相似项 |
|
|
156
|
+
| 📋 活跃任务 | 已完成 → 立即删 |
|
|
157
|
+
| 🔄 纠正记录 | 已晋升 → 删除 |
|
|
158
|
+
| 💬 对话摘要 | >7天 → 精简合并或归档 |
|
|
159
|
+
|
|
160
|
+
### 归档流程
|
|
161
|
+
|
|
162
|
+
被删除的内容移入 `memory/archive/` 对应文件,不是真正丢失。
|
|
163
|
+
|
|
164
|
+
## 5. 每日日志
|
|
165
|
+
|
|
166
|
+
### 自动生成
|
|
167
|
+
|
|
168
|
+
路径: `memory/YYYY-MM-DD.md`
|
|
169
|
+
|
|
170
|
+
### 写入时机
|
|
171
|
+
|
|
172
|
+
- Compaction flush 前
|
|
173
|
+
- 每天最后一次对话结束时
|
|
174
|
+
- 重要事件发生时
|
|
175
|
+
|
|
176
|
+
### 内容
|
|
177
|
+
|
|
178
|
+
记录当天关键事件、决策、任务进展。已有内容只追加不覆盖。
|
|
179
|
+
|
|
180
|
+
## 6. 隐私隔离
|
|
181
|
+
|
|
182
|
+
### 群聊 vs 私聊
|
|
183
|
+
|
|
184
|
+
- 群聊汇总 *不包含* 私聊内容
|
|
185
|
+
- 私聊记忆 *不在* 群聊中引用
|
|
186
|
+
- 报告/总结只基于当前会话空间的内容
|
|
187
|
+
- 唯一例外:用户在群聊中明确要求分享
|
|
188
|
+
|
|
189
|
+
## 初始化模板
|
|
190
|
+
|
|
191
|
+
新 Agent 首次使用时,创建以下结构:
|
|
192
|
+
|
|
193
|
+
```bash
|
|
194
|
+
# 创建 MEMORY.md
|
|
195
|
+
cat > MEMORY.md << 'EOF'
|
|
196
|
+
# MEMORY.md - Long-Term Memory
|
|
197
|
+
|
|
198
|
+
## 🔒 用户偏好(永久保留)
|
|
199
|
+
|
|
200
|
+
## 💼 角色定位(永久保留)
|
|
201
|
+
|
|
202
|
+
## 📝 业务经验(长期保留)
|
|
203
|
+
|
|
204
|
+
## 📋 活跃任务(完成后删)
|
|
205
|
+
|
|
206
|
+
## 🔄 纠正记录(≤10条)
|
|
207
|
+
|
|
208
|
+
## 💬 对话摘要(7天后精简)
|
|
209
|
+
EOF
|
|
210
|
+
|
|
211
|
+
# 创建目录
|
|
212
|
+
mkdir -p memory/archive .learnings
|
|
213
|
+
touch .learnings/corrections.md
|
|
214
|
+
```
|
|
@@ -1,65 +1,65 @@
|
|
|
1
|
-
# Memory Manager — 进阶配置
|
|
2
|
-
|
|
3
|
-
## 自定义阈值
|
|
4
|
-
|
|
5
|
-
| 参数 | 默认值 | 说明 |
|
|
6
|
-
|------|--------|------|
|
|
7
|
-
| MEMORY_MAX_SIZE | 5KB | MEMORY.md 上限 |
|
|
8
|
-
| MAX_EXPERIENCES | 15 | 业务经验最大条数 |
|
|
9
|
-
| MAX_CORRECTIONS | 10 | 纠正记录最大条数 |
|
|
10
|
-
| SUMMARY_TTL_DAYS | 7 | 对话摘要保留天数 |
|
|
11
|
-
| CORRECTION_PROMOTE_COUNT | 2 | 相似纠正几次后晋升 |
|
|
12
|
-
|
|
13
|
-
## 与其他 Skill 的协作
|
|
14
|
-
|
|
15
|
-
### + Self-Improving / Proactive Self-Improving
|
|
16
|
-
Memory Manager 负责记忆存储结构,Self-Improving 负责错误/学习捕获。两者互补:
|
|
17
|
-
- Self-Improving 捕获 → Memory Manager 存储和瘦身
|
|
18
|
-
- 纠正记录共享 `.learnings/corrections.md`
|
|
19
|
-
|
|
20
|
-
### + Lossless-Claw (LCM)
|
|
21
|
-
LCM 处理对话级持久化(SQLite + DAG 摘要),Memory Manager 处理知识级持久化(MEMORY.md + daily logs)。
|
|
22
|
-
- LCM = 对话不丢失
|
|
23
|
-
- Memory Manager = 知识不丢失
|
|
24
|
-
|
|
25
|
-
### + High Agency / PUA
|
|
26
|
-
当 Agent 被纠正时,Memory Manager 确保教训被记录,High Agency 确保态度正确。
|
|
27
|
-
|
|
28
|
-
## 记忆写入决策流程图
|
|
29
|
-
|
|
30
|
-
```
|
|
31
|
-
用户发了一条消息
|
|
32
|
-
│
|
|
33
|
-
├── 包含"记住" → 分类写入 MEMORY.md
|
|
34
|
-
├── 纠正了你 → corrections.md + MEMORY.md 纠正区
|
|
35
|
-
├── 表达偏好 → MEMORY.md 用户偏好区
|
|
36
|
-
├── 做了决策 → MEMORY.md 对话摘要区
|
|
37
|
-
├── 新概念(≥3轮) → MEMORY.md 业务经验区
|
|
38
|
-
├── 任务搁置 → MEMORY.md 活跃任务区
|
|
39
|
-
└── 普通对话 → 不写入
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
## 瘦身决策流程图
|
|
43
|
-
|
|
44
|
-
```
|
|
45
|
-
检查 MEMORY.md 大小
|
|
46
|
-
│
|
|
47
|
-
├── ≤ 5KB → 不操作
|
|
48
|
-
└── > 5KB
|
|
49
|
-
├── 1. 删已完成活跃任务
|
|
50
|
-
├── 2. 精简 >7天对话摘要
|
|
51
|
-
├── 3. 删已晋升纠正记录
|
|
52
|
-
├── 4. 合并相似业务经验
|
|
53
|
-
└── 5. 仍超限 → 归档最老的业务经验到 memory/archive/
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
## 常见问题
|
|
57
|
-
|
|
58
|
-
**Q: 用户没说"记住",我该不该写入?**
|
|
59
|
-
A: 看触发条件表。被纠正、表达偏好、做决策 → 自动写入。
|
|
60
|
-
|
|
61
|
-
**Q: MEMORY.md 和 daily log 有什么区别?**
|
|
62
|
-
A: MEMORY.md = 精炼的长期知识(每次加载)。Daily log = 原始事件流(按需查询)。
|
|
63
|
-
|
|
64
|
-
**Q: 两个 Agent 的 MEMORY.md 会冲突吗?**
|
|
65
|
-
A: 每个 Agent 有独立的 workspace,不会冲突。共享知识走 `/shared/` 目录。
|
|
1
|
+
# Memory Manager — 进阶配置
|
|
2
|
+
|
|
3
|
+
## 自定义阈值
|
|
4
|
+
|
|
5
|
+
| 参数 | 默认值 | 说明 |
|
|
6
|
+
|------|--------|------|
|
|
7
|
+
| MEMORY_MAX_SIZE | 5KB | MEMORY.md 上限 |
|
|
8
|
+
| MAX_EXPERIENCES | 15 | 业务经验最大条数 |
|
|
9
|
+
| MAX_CORRECTIONS | 10 | 纠正记录最大条数 |
|
|
10
|
+
| SUMMARY_TTL_DAYS | 7 | 对话摘要保留天数 |
|
|
11
|
+
| CORRECTION_PROMOTE_COUNT | 2 | 相似纠正几次后晋升 |
|
|
12
|
+
|
|
13
|
+
## 与其他 Skill 的协作
|
|
14
|
+
|
|
15
|
+
### + Self-Improving / Proactive Self-Improving
|
|
16
|
+
Memory Manager 负责记忆存储结构,Self-Improving 负责错误/学习捕获。两者互补:
|
|
17
|
+
- Self-Improving 捕获 → Memory Manager 存储和瘦身
|
|
18
|
+
- 纠正记录共享 `.learnings/corrections.md`
|
|
19
|
+
|
|
20
|
+
### + Lossless-Claw (LCM)
|
|
21
|
+
LCM 处理对话级持久化(SQLite + DAG 摘要),Memory Manager 处理知识级持久化(MEMORY.md + daily logs)。
|
|
22
|
+
- LCM = 对话不丢失
|
|
23
|
+
- Memory Manager = 知识不丢失
|
|
24
|
+
|
|
25
|
+
### + High Agency / PUA
|
|
26
|
+
当 Agent 被纠正时,Memory Manager 确保教训被记录,High Agency 确保态度正确。
|
|
27
|
+
|
|
28
|
+
## 记忆写入决策流程图
|
|
29
|
+
|
|
30
|
+
```
|
|
31
|
+
用户发了一条消息
|
|
32
|
+
│
|
|
33
|
+
├── 包含"记住" → 分类写入 MEMORY.md
|
|
34
|
+
├── 纠正了你 → corrections.md + MEMORY.md 纠正区
|
|
35
|
+
├── 表达偏好 → MEMORY.md 用户偏好区
|
|
36
|
+
├── 做了决策 → MEMORY.md 对话摘要区
|
|
37
|
+
├── 新概念(≥3轮) → MEMORY.md 业务经验区
|
|
38
|
+
├── 任务搁置 → MEMORY.md 活跃任务区
|
|
39
|
+
└── 普通对话 → 不写入
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## 瘦身决策流程图
|
|
43
|
+
|
|
44
|
+
```
|
|
45
|
+
检查 MEMORY.md 大小
|
|
46
|
+
│
|
|
47
|
+
├── ≤ 5KB → 不操作
|
|
48
|
+
└── > 5KB
|
|
49
|
+
├── 1. 删已完成活跃任务
|
|
50
|
+
├── 2. 精简 >7天对话摘要
|
|
51
|
+
├── 3. 删已晋升纠正记录
|
|
52
|
+
├── 4. 合并相似业务经验
|
|
53
|
+
└── 5. 仍超限 → 归档最老的业务经验到 memory/archive/
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
## 常见问题
|
|
57
|
+
|
|
58
|
+
**Q: 用户没说"记住",我该不该写入?**
|
|
59
|
+
A: 看触发条件表。被纠正、表达偏好、做决策 → 自动写入。
|
|
60
|
+
|
|
61
|
+
**Q: MEMORY.md 和 daily log 有什么区别?**
|
|
62
|
+
A: MEMORY.md = 精炼的长期知识(每次加载)。Daily log = 原始事件流(按需查询)。
|
|
63
|
+
|
|
64
|
+
**Q: 两个 Agent 的 MEMORY.md 会冲突吗?**
|
|
65
|
+
A: 每个 Agent 有独立的 workspace,不会冲突。共享知识走 `/shared/` 目录。
|