openmemory-plus 1.1.0 → 1.2.0
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/dist/index.js +26 -5
- package/package.json +1 -1
- package/templates/augment/AGENTS.md +20 -7
- package/templates/claude/CLAUDE.md +16 -8
- package/templates/common/AGENTS.md +16 -8
- package/templates/gemini/gemini.md +20 -8
- package/templates/shared/commands/memory.md +61 -64
- package/templates/shared/memory/activeContext.md +34 -0
- package/templates/shared/memory/productContext.md +30 -0
- package/templates/shared/memory/progress.md +41 -0
- package/templates/shared/memory/projectbrief.md +36 -0
- package/templates/shared/memory/systemPatterns.md +39 -0
- package/templates/shared/memory/techContext.md +51 -0
- package/templates/shared/memory-actions/clean.md +54 -0
- package/templates/shared/memory-actions/decay.md +64 -0
- package/templates/shared/memory-actions/graph.md +75 -0
- package/templates/shared/memory-actions/search.md +38 -0
- package/templates/shared/memory-actions/status.md +35 -0
- package/templates/shared/memory-actions/store.md +45 -0
- package/templates/shared/memory-actions/sync.md +50 -0
- package/templates/shared/commands/mem-clean.md +0 -117
- package/templates/shared/commands/mem-decay.md +0 -81
- package/templates/shared/commands/mem-extract.md +0 -84
- package/templates/shared/commands/mem-graph.md +0 -112
- package/templates/shared/commands/mem-search.md +0 -104
- package/templates/shared/commands/mem-status.md +0 -76
- package/templates/shared/commands/mem-sync.md +0 -106
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
# 衰减分析
|
|
2
|
+
|
|
3
|
+
分析记忆的时间衰减状态。
|
|
4
|
+
|
|
5
|
+
## 执行步骤
|
|
6
|
+
|
|
7
|
+
1. 调用 `list_memories_openmemory` 获取所有记忆
|
|
8
|
+
2. 计算每条记忆的衰减分数
|
|
9
|
+
3. 按状态分组展示
|
|
10
|
+
4. 提供清理建议
|
|
11
|
+
|
|
12
|
+
## 衰减算法
|
|
13
|
+
|
|
14
|
+
基于时间的衰减公式:
|
|
15
|
+
|
|
16
|
+
```
|
|
17
|
+
score = baseScore * (1 - decayRate * daysSinceCreation)
|
|
18
|
+
+ accessBonus * recentAccessCount
|
|
19
|
+
+ importanceWeight
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## 衰减状态
|
|
23
|
+
|
|
24
|
+
| 状态 | 分数范围 | 含义 | 建议操作 |
|
|
25
|
+
|------|----------|------|----------|
|
|
26
|
+
| 🟢 Active | 0.7 - 1.0 | 活跃,经常使用 | 保留 |
|
|
27
|
+
| 🟡 Aging | 0.3 - 0.7 | 老化,需要关注 | 考虑更新 |
|
|
28
|
+
| 🔴 Stale | 0.1 - 0.3 | 陈旧,考虑清理 | 建议清理 |
|
|
29
|
+
| ⚫ Cleanup | 0 - 0.1 | 待清理 | 强烈建议删除 |
|
|
30
|
+
|
|
31
|
+
## 输出格式
|
|
32
|
+
|
|
33
|
+
```
|
|
34
|
+
⏰ 记忆衰减分析
|
|
35
|
+
|
|
36
|
+
📊 总览: 15 条记忆
|
|
37
|
+
|
|
38
|
+
🟢 Active (12条) ████████████░░░ 80%
|
|
39
|
+
├── 用户偏好中文对话 [1.00]
|
|
40
|
+
├── 熟悉 TypeScript [0.95]
|
|
41
|
+
├── 项目使用 Vitest 测试 [0.88]
|
|
42
|
+
└── ... 更多 (输入 "展开 active" 查看全部)
|
|
43
|
+
|
|
44
|
+
🟡 Aging (2条) ██░░░░░░░░░░░░░ 13%
|
|
45
|
+
├── 旧项目使用 Webpack [0.45]
|
|
46
|
+
└── 偏好 Vim 编辑器 [0.38]
|
|
47
|
+
|
|
48
|
+
🔴 Stale (1条) █░░░░░░░░░░░░░░ 7%
|
|
49
|
+
└── 使用 jQuery [0.12]
|
|
50
|
+
|
|
51
|
+
💡 建议:
|
|
52
|
+
- 清理 1 条 Stale 记忆
|
|
53
|
+
- 关注 2 条 Aging 记忆,考虑是否仍然相关
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
## 后续操作
|
|
57
|
+
|
|
58
|
+
- "清理 stale" → 删除所有 Stale 状态记忆
|
|
59
|
+
- "刷新第 N 条" → 更新访问时间,重置衰减
|
|
60
|
+
- "展开 active" → 显示所有 Active 记忆详情
|
|
61
|
+
|
|
62
|
+
## 返回菜单
|
|
63
|
+
|
|
64
|
+
完成后提示: "还需要其他操作吗?输入 `/memory` 返回菜单"
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
# 知识图谱
|
|
2
|
+
|
|
3
|
+
查看记忆中的实体关系图谱。
|
|
4
|
+
|
|
5
|
+
## 执行步骤
|
|
6
|
+
|
|
7
|
+
1. 读取 `.memory/graph.yaml` (如果存在)
|
|
8
|
+
2. 从项目信息和记忆中提取实体
|
|
9
|
+
3. 分析实体之间的关系
|
|
10
|
+
4. 可视化展示
|
|
11
|
+
|
|
12
|
+
## 实体类型
|
|
13
|
+
|
|
14
|
+
| 类型 | 示例 |
|
|
15
|
+
|------|------|
|
|
16
|
+
| project | openmemory-plus |
|
|
17
|
+
| service | API, CLI, Web |
|
|
18
|
+
| database | Qdrant, PostgreSQL |
|
|
19
|
+
| api | REST API, GraphQL |
|
|
20
|
+
| config | tsconfig.json, package.json |
|
|
21
|
+
| person | 用户名, 团队成员 |
|
|
22
|
+
| technology | TypeScript, React |
|
|
23
|
+
| decision | 技术选型, 架构决策 |
|
|
24
|
+
| preference | 用户偏好 |
|
|
25
|
+
|
|
26
|
+
## 关系类型
|
|
27
|
+
|
|
28
|
+
| 关系 | 含义 |
|
|
29
|
+
|------|------|
|
|
30
|
+
| uses | A 使用 B |
|
|
31
|
+
| depends_on | A 依赖 B |
|
|
32
|
+
| configured_by | A 由 B 配置 |
|
|
33
|
+
| created_by | A 由 B 创建 |
|
|
34
|
+
| related_to | A 与 B 相关 |
|
|
35
|
+
| stores_in | A 存储在 B |
|
|
36
|
+
| prefers | 用户偏好 A |
|
|
37
|
+
|
|
38
|
+
## 输出格式
|
|
39
|
+
|
|
40
|
+
```
|
|
41
|
+
🔗 知识图谱
|
|
42
|
+
|
|
43
|
+
项目: openmemory-plus
|
|
44
|
+
|
|
45
|
+
实体关系:
|
|
46
|
+
┌─────────────────────────────────────────┐
|
|
47
|
+
│ │
|
|
48
|
+
│ [CLI] ──uses──> [TypeScript] │
|
|
49
|
+
│ │ │
|
|
50
|
+
│ ├──depends_on──> [Commander.js] │
|
|
51
|
+
│ │ │
|
|
52
|
+
│ └──configured_by──> [tsconfig.json] │
|
|
53
|
+
│ │
|
|
54
|
+
│ [openmemory] ──uses──> [Qdrant] │
|
|
55
|
+
│ │ │
|
|
56
|
+
│ └──uses──> [BGE-M3] │
|
|
57
|
+
│ │
|
|
58
|
+
│ [User] ──prefers──> [中文] │
|
|
59
|
+
│ │ │
|
|
60
|
+
│ └──prefers──> [TypeScript] │
|
|
61
|
+
│ │
|
|
62
|
+
└─────────────────────────────────────────┘
|
|
63
|
+
|
|
64
|
+
统计: 8 个实体, 7 个关系
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
## 后续操作
|
|
68
|
+
|
|
69
|
+
- "添加关系" → 手动添加实体关系
|
|
70
|
+
- "查看 [实体名]" → 展示该实体的所有关系
|
|
71
|
+
- "导出" → 导出为 Mermaid/DOT 格式
|
|
72
|
+
|
|
73
|
+
## 返回菜单
|
|
74
|
+
|
|
75
|
+
完成后提示: "还需要其他操作吗?输入 `/memory` 返回菜单"
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# 搜索记忆
|
|
2
|
+
|
|
3
|
+
在项目级和用户级记忆中进行语义搜索。
|
|
4
|
+
|
|
5
|
+
## 执行步骤
|
|
6
|
+
|
|
7
|
+
1. 询问搜索关键词(如果用户未提供)
|
|
8
|
+
2. 调用 `search_memory_openmemory` 搜索用户记忆
|
|
9
|
+
3. 同时搜索 `.memory/` 目录下的 YAML 文件
|
|
10
|
+
4. 按相关度排序,合并展示结果
|
|
11
|
+
|
|
12
|
+
## 输出格式
|
|
13
|
+
|
|
14
|
+
```
|
|
15
|
+
🔍 搜索结果: "{query}"
|
|
16
|
+
|
|
17
|
+
📁 项目级结果:
|
|
18
|
+
1. [decisions.yaml] 技术决策: 使用 TypeScript
|
|
19
|
+
匹配度: 0.85
|
|
20
|
+
|
|
21
|
+
👤 用户级结果:
|
|
22
|
+
1. 用户偏好使用 pnpm 包管理器
|
|
23
|
+
创建时间: 30天前 | 衰减状态: Active
|
|
24
|
+
|
|
25
|
+
共找到 2 条相关记忆
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## 后续操作
|
|
29
|
+
|
|
30
|
+
用户可以继续操作:
|
|
31
|
+
|
|
32
|
+
- "删除第 N 条" → 执行删除
|
|
33
|
+
- "查看详情" → 展示完整内容
|
|
34
|
+
- "更新第 N 条" → 修改记忆内容
|
|
35
|
+
|
|
36
|
+
## 返回菜单
|
|
37
|
+
|
|
38
|
+
完成后提示: "还需要其他操作吗?输入 `/memory` 返回菜单"
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# 记忆状态
|
|
2
|
+
|
|
3
|
+
查看项目级和用户级记忆的详细状态。
|
|
4
|
+
|
|
5
|
+
## 执行步骤
|
|
6
|
+
|
|
7
|
+
1. 读取 `.memory/` 目录,列出文件和最后修改时间
|
|
8
|
+
2. 调用 `list_memories_openmemory` 获取用户记忆
|
|
9
|
+
3. 分析衰减状态分布
|
|
10
|
+
4. 统计并展示
|
|
11
|
+
|
|
12
|
+
## 输出格式
|
|
13
|
+
|
|
14
|
+
```
|
|
15
|
+
📊 记忆系统详细状态
|
|
16
|
+
|
|
17
|
+
📁 项目级 (.memory/)
|
|
18
|
+
├── project.yaml (2024-01-15 更新)
|
|
19
|
+
├── decisions.yaml (2024-01-10 更新)
|
|
20
|
+
└── changelog.yaml (2024-01-14 更新)
|
|
21
|
+
|
|
22
|
+
👤 用户级 (openmemory)
|
|
23
|
+
├── 总记忆数: 15 条
|
|
24
|
+
├── 最近添加: "用户偏好中文对话" (1天前)
|
|
25
|
+
└── 衰减状态:
|
|
26
|
+
├── 🟢 Active: 12 条
|
|
27
|
+
├── 🟡 Aging: 2 条
|
|
28
|
+
└── 🔴 Stale: 1 条
|
|
29
|
+
|
|
30
|
+
✅ 系统状态正常
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## 返回菜单
|
|
34
|
+
|
|
35
|
+
完成后提示: "还需要其他操作吗?输入 `/memory` 返回菜单"
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# 存储记忆
|
|
2
|
+
|
|
3
|
+
手动添加新的记忆到系统中。
|
|
4
|
+
|
|
5
|
+
## 执行步骤
|
|
6
|
+
|
|
7
|
+
1. 询问要存储的内容(如果用户未提供)
|
|
8
|
+
2. 分析信息类型,确定存储位置
|
|
9
|
+
3. 确认存储位置
|
|
10
|
+
4. 执行存储
|
|
11
|
+
|
|
12
|
+
## 分类逻辑
|
|
13
|
+
|
|
14
|
+
根据信息特征自动路由到合适的存储位置:
|
|
15
|
+
|
|
16
|
+
| 信息特征 | 存储位置 | 操作 |
|
|
17
|
+
|----------|----------|------|
|
|
18
|
+
| 包含项目路径/URL/配置 | `.memory/project.yaml` | 写入 YAML |
|
|
19
|
+
| 包含技术决策 ("选择"、"决定"、"使用") | `.memory/decisions.yaml` | 写入 YAML |
|
|
20
|
+
| 用户偏好 ("喜欢"、"偏好"、"习惯") | openmemory | `add_memories_openmemory` |
|
|
21
|
+
| 用户技能 ("熟悉"、"擅长"、"会用") | openmemory | `add_memories_openmemory` |
|
|
22
|
+
| 其他 | 询问用户选择 | - |
|
|
23
|
+
|
|
24
|
+
## 输出格式
|
|
25
|
+
|
|
26
|
+
```
|
|
27
|
+
💾 记忆已存储
|
|
28
|
+
|
|
29
|
+
类型: 用户偏好
|
|
30
|
+
内容: "偏好使用 TypeScript 而非 JavaScript"
|
|
31
|
+
位置: openmemory
|
|
32
|
+
时间: 2024-01-15 10:30
|
|
33
|
+
|
|
34
|
+
还需要存储其他信息吗?
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## 批量存储
|
|
38
|
+
|
|
39
|
+
支持一次存储多条信息:
|
|
40
|
+
- "这个项目用 React,部署在 Vercel,域名是 xxx.com"
|
|
41
|
+
- 自动拆分并分类存储
|
|
42
|
+
|
|
43
|
+
## 返回菜单
|
|
44
|
+
|
|
45
|
+
完成后提示: "还需要其他操作吗?输入 `/memory` 返回菜单"
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# 同步检查
|
|
2
|
+
|
|
3
|
+
检测项目级和用户级记忆之间的冲突。
|
|
4
|
+
|
|
5
|
+
## 执行步骤
|
|
6
|
+
|
|
7
|
+
1. 读取 `.memory/` 中的所有信息
|
|
8
|
+
2. 搜索 openmemory 中的相关记忆
|
|
9
|
+
3. 检测冲突(同一主题不同值)
|
|
10
|
+
4. 展示冲突列表
|
|
11
|
+
5. 提示用户选择解决方式
|
|
12
|
+
|
|
13
|
+
## 冲突类型
|
|
14
|
+
|
|
15
|
+
| 冲突类型 | 示例 | 解决方式 |
|
|
16
|
+
|----------|------|----------|
|
|
17
|
+
| 值不一致 | 项目级: "用 npm" vs 用户级: "偏好 pnpm" | 用户选择保留哪个 |
|
|
18
|
+
| 重复记录 | 两处都记录了部署 URL | 合并或删除重复 |
|
|
19
|
+
| 过期信息 | 项目级配置已更新,用户级未同步 | 更新用户级 |
|
|
20
|
+
|
|
21
|
+
## 输出格式
|
|
22
|
+
|
|
23
|
+
```
|
|
24
|
+
🔄 同步检查结果
|
|
25
|
+
|
|
26
|
+
发现 2 个冲突:
|
|
27
|
+
|
|
28
|
+
⚠️ 冲突 1: 包管理器偏好不一致
|
|
29
|
+
├── 📁 项目级: 使用 npm (package-lock.json 存在)
|
|
30
|
+
└── 👤 用户级: "偏好使用 pnpm"
|
|
31
|
+
|
|
32
|
+
建议: 更新用户记忆以匹配项目配置
|
|
33
|
+
操作: [A] 保留项目级 [B] 保留用户级 [S] 跳过
|
|
34
|
+
|
|
35
|
+
⚠️ 冲突 2: 部署 URL 重复
|
|
36
|
+
├── 📁 项目级: deploy_url: "https://xxx.vercel.app"
|
|
37
|
+
└── 👤 用户级: "项目部署在 https://xxx.vercel.app"
|
|
38
|
+
|
|
39
|
+
建议: 删除用户级重复记录
|
|
40
|
+
操作: [A] 删除用户级 [B] 保留两者 [S] 跳过
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
## 自动同步选项
|
|
44
|
+
|
|
45
|
+
- "全部自动" - 按建议自动处理所有冲突
|
|
46
|
+
- "逐个处理" - 一个一个确认
|
|
47
|
+
|
|
48
|
+
## 返回菜单
|
|
49
|
+
|
|
50
|
+
完成后提示: "还需要其他操作吗?输入 `/memory` 返回菜单"
|
|
@@ -1,117 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: '清理 ROT (冗余/过时/琐碎) 记忆'
|
|
3
|
-
argument-hint: '[--dry-run] [--force] [--type=all|redundant|outdated|trivial]'
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# /mem clean
|
|
7
|
-
|
|
8
|
-
清理 ROT (Redundant, Outdated, Trivial) 记忆。
|
|
9
|
-
|
|
10
|
-
> 💡 返回入口: `/memory`
|
|
11
|
-
|
|
12
|
-
## 触发
|
|
13
|
-
|
|
14
|
-
- `/mem clean`
|
|
15
|
-
- `/memory clean`
|
|
16
|
-
- `清理记忆`
|
|
17
|
-
|
|
18
|
-
## 执行流程
|
|
19
|
-
|
|
20
|
-
```
|
|
21
|
-
/mem clean
|
|
22
|
-
↓
|
|
23
|
-
1. 列出所有 openmemory 记忆
|
|
24
|
-
↓
|
|
25
|
-
2. 分析识别 ROT
|
|
26
|
-
↓
|
|
27
|
-
3. 生成清理报告
|
|
28
|
-
↓
|
|
29
|
-
4. 用户确认
|
|
30
|
-
↓
|
|
31
|
-
5. 批量删除
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
## ROT 识别规则
|
|
35
|
-
|
|
36
|
-
### Redundant (冗余)
|
|
37
|
-
|
|
38
|
-
| 规则 | 说明 |
|
|
39
|
-
|------|------|
|
|
40
|
-
| 语义相似度 >90% | 两条记忆表达相同意思 |
|
|
41
|
-
| 完全重复 | 文本完全相同 |
|
|
42
|
-
| 子集包含 | 一条记忆是另一条的子集 |
|
|
43
|
-
|
|
44
|
-
### Outdated (过时)
|
|
45
|
-
|
|
46
|
-
| 规则 | 说明 |
|
|
47
|
-
|------|------|
|
|
48
|
-
| 被明确否定 | "不再使用 X" 后 X 相关记忆 |
|
|
49
|
-
| 版本过时 | 旧版本配置信息 |
|
|
50
|
-
| 时间过期 | 临时性信息超过有效期 |
|
|
51
|
-
|
|
52
|
-
### Trivial (琐碎)
|
|
53
|
-
|
|
54
|
-
| 规则 | 说明 |
|
|
55
|
-
|------|------|
|
|
56
|
-
| 长度 <10 字符 | 过短无意义 |
|
|
57
|
-
| 纯确认语 | "好的", "OK", "明白" |
|
|
58
|
-
| 无实质内容 | 无法提取有价值信息 |
|
|
59
|
-
|
|
60
|
-
## 输出格式
|
|
61
|
-
|
|
62
|
-
```
|
|
63
|
-
🧹 记忆清理分析
|
|
64
|
-
|
|
65
|
-
扫描完成: 共 47 条记忆
|
|
66
|
-
|
|
67
|
-
📊 ROT 分析结果:
|
|
68
|
-
|
|
69
|
-
🔴 Redundant (冗余): 3 条
|
|
70
|
-
├── [ID: abc123] "用户偏好中文"
|
|
71
|
-
│ └── 与 [ID: def456] 重复
|
|
72
|
-
|
|
73
|
-
🟡 Outdated (过时): 2 条
|
|
74
|
-
├── [ID: mno345] "部署地址是 old-url"
|
|
75
|
-
│ └── 已被新地址替代
|
|
76
|
-
|
|
77
|
-
⚪ Trivial (琐碎): 5 条
|
|
78
|
-
├── [ID: pqr678] "好的"
|
|
79
|
-
|
|
80
|
-
---
|
|
81
|
-
建议清理: 10 条 | 保留: 37 条
|
|
82
|
-
|
|
83
|
-
确认清理? [y/N]:
|
|
84
|
-
```
|
|
85
|
-
|
|
86
|
-
## 安全机制
|
|
87
|
-
|
|
88
|
-
1. **预览模式**: 默认只显示,不删除
|
|
89
|
-
2. **确认机制**: 必须用户确认才执行
|
|
90
|
-
3. **批量限制**: 单次最多删除 20 条
|
|
91
|
-
4. **保护规则**: 最近 7 天的记忆不自动标记
|
|
92
|
-
|
|
93
|
-
## 参数
|
|
94
|
-
|
|
95
|
-
| 参数 | 说明 | 默认值 |
|
|
96
|
-
|------|------|--------|
|
|
97
|
-
| --dry-run | 仅预览,不删除 | true |
|
|
98
|
-
| --force | 跳过确认 | false |
|
|
99
|
-
| --type | 仅清理指定类型 | all |
|
|
100
|
-
|
|
101
|
-
## 示例
|
|
102
|
-
|
|
103
|
-
```bash
|
|
104
|
-
# 预览清理
|
|
105
|
-
/mem clean
|
|
106
|
-
|
|
107
|
-
# 仅清理冗余
|
|
108
|
-
/mem clean --type=redundant
|
|
109
|
-
|
|
110
|
-
# 强制清理 (跳过确认)
|
|
111
|
-
/mem clean --force
|
|
112
|
-
```
|
|
113
|
-
|
|
114
|
-
---
|
|
115
|
-
|
|
116
|
-
**版本**: v1.1
|
|
117
|
-
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
# /mem decay - 记忆衰减状态
|
|
2
|
-
|
|
3
|
-
显示记忆的时间衰减状态,帮助识别需要清理或刷新的记忆。
|
|
4
|
-
|
|
5
|
-
## 使用方法
|
|
6
|
-
|
|
7
|
-
```
|
|
8
|
-
/mem decay [--cleanup] [--refresh <id>]
|
|
9
|
-
```
|
|
10
|
-
|
|
11
|
-
## 参数
|
|
12
|
-
|
|
13
|
-
| 参数 | 说明 |
|
|
14
|
-
|------|------|
|
|
15
|
-
| `--cleanup` | 显示建议清理的记忆列表 |
|
|
16
|
-
| `--refresh <id>` | 刷新指定记忆的访问时间 |
|
|
17
|
-
|
|
18
|
-
## 衰减状态说明
|
|
19
|
-
|
|
20
|
-
| 状态 | 说明 | 衰减分数 |
|
|
21
|
-
|------|------|----------|
|
|
22
|
-
| 🟢 Active | 活跃记忆,近期访问或高频使用 | 0.8 - 1.0 |
|
|
23
|
-
| 🟡 Aging | 老化中,一段时间未访问 | 0.5 - 0.8 |
|
|
24
|
-
| 🟠 Stale | 陈旧,长时间未访问 | 0.2 - 0.5 |
|
|
25
|
-
| 🔴 Cleanup | 建议清理 | < 0.2 |
|
|
26
|
-
|
|
27
|
-
## 衰减规则
|
|
28
|
-
|
|
29
|
-
1. **宽限期**: 7 天内访问的记忆不衰减
|
|
30
|
-
2. **核心记忆**: 访问次数 ≥ 5 的记忆永不衰减
|
|
31
|
-
3. **衰减速率**: 宽限期后每天衰减 1%
|
|
32
|
-
4. **清理阈值**: 90 天未访问且分数 < 0.2
|
|
33
|
-
|
|
34
|
-
## 执行流程
|
|
35
|
-
|
|
36
|
-
```yaml
|
|
37
|
-
workflow:
|
|
38
|
-
- step: 加载记忆
|
|
39
|
-
action: 从 openmemory 获取所有记忆
|
|
40
|
-
|
|
41
|
-
- step: 计算衰减
|
|
42
|
-
action: 对每条记忆计算衰减分数
|
|
43
|
-
|
|
44
|
-
- step: 分组显示
|
|
45
|
-
action: 按状态分组展示
|
|
46
|
-
output: |
|
|
47
|
-
## 📊 记忆衰减状态
|
|
48
|
-
|
|
49
|
-
### 🟢 Active (12 条)
|
|
50
|
-
- [ID: xxx] 用户偏好: 深色主题 (访问: 8次, 分数: 1.0)
|
|
51
|
-
- ...
|
|
52
|
-
|
|
53
|
-
### 🟡 Aging (5 条)
|
|
54
|
-
- [ID: yyy] 项目配置: API 端口 (访问: 2次, 分数: 0.65)
|
|
55
|
-
- ...
|
|
56
|
-
|
|
57
|
-
### 🔴 Cleanup (3 条)
|
|
58
|
-
- [ID: zzz] 临时笔记 (访问: 0次, 分数: 0.1)
|
|
59
|
-
|
|
60
|
-
💡 运行 `/mem clean` 清理建议删除的记忆
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
## 刷新记忆
|
|
64
|
-
|
|
65
|
-
当某条记忆仍然重要但长时间未访问时,可以手动刷新:
|
|
66
|
-
|
|
67
|
-
```
|
|
68
|
-
/mem decay --refresh abc123
|
|
69
|
-
```
|
|
70
|
-
|
|
71
|
-
这会更新记忆的 `lastAccessedAt` 时间,重置衰减计时。
|
|
72
|
-
|
|
73
|
-
## 相关命令
|
|
74
|
-
|
|
75
|
-
- `/mem clean` - 执行 ROT 清理
|
|
76
|
-
- `/mem status` - 查看记忆状态
|
|
77
|
-
- `/mem search` - 搜索记忆
|
|
78
|
-
|
|
79
|
-
---
|
|
80
|
-
*OpenMemory Plus v2.0 - Memory Decay System*
|
|
81
|
-
|
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: 'Agent-only: 自动提取对话中的关键信息到记忆系统'
|
|
3
|
-
argument-hint: ''
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# /mem extract
|
|
7
|
-
|
|
8
|
-
Agent-only 工作流,自动提取对话中的关键信息到 `.memory/` 目录和 `openmemory`。
|
|
9
|
-
|
|
10
|
-
> 💡 返回入口: `/memory`
|
|
11
|
-
|
|
12
|
-
## 触发方式
|
|
13
|
-
|
|
14
|
-
### 自动触发(推荐)
|
|
15
|
-
Agent 在以下情况自动执行,无需用户干预:
|
|
16
|
-
- 对话结束时检测到有价值信息
|
|
17
|
-
- 部署状态变更(成功/失败)
|
|
18
|
-
- 重要技术决策
|
|
19
|
-
- 项目配置变更
|
|
20
|
-
|
|
21
|
-
### 手动触发
|
|
22
|
-
```
|
|
23
|
-
/mem extract
|
|
24
|
-
保存到记忆
|
|
25
|
-
记住这个
|
|
26
|
-
更新配置
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
## 存储结构
|
|
30
|
-
|
|
31
|
-
| 文件 | 用途 | 更新频率 |
|
|
32
|
-
|------|------|----------|
|
|
33
|
-
| `.memory/project.yaml` | 项目常量、部署信息 (SSOT) | 配置变更时 |
|
|
34
|
-
| `.memory/decisions.yaml` | 技术决策记录 | 决策时 |
|
|
35
|
-
| `.memory/changelog.yaml` | 变更历史 | 每次变更 |
|
|
36
|
-
| `openmemory` | 用户偏好、技能、上下文 | 每次对话 |
|
|
37
|
-
|
|
38
|
-
## 信息分类
|
|
39
|
-
|
|
40
|
-
| 存储位置 | 信息类型 | 检测信号 |
|
|
41
|
-
|----------|----------|----------|
|
|
42
|
-
| `.memory/` | 部署变更 | `deploy`, `vercel`, URL |
|
|
43
|
-
| `.memory/` | 服务配置 | `config`, `secret` |
|
|
44
|
-
| `.memory/` | 技术决策 | `决定`, `选择`, `采用` |
|
|
45
|
-
| `openmemory` | 用户偏好 | `喜欢`, `偏好`, `习惯` |
|
|
46
|
-
| `openmemory` | 用户技能 | `熟悉`, `擅长`, `会用` |
|
|
47
|
-
|
|
48
|
-
详细规则: `.rules/memory/classification.md`
|
|
49
|
-
|
|
50
|
-
## 验证工具
|
|
51
|
-
|
|
52
|
-
```bash
|
|
53
|
-
# 验证所有 YAML 文件语法
|
|
54
|
-
.augment/skills/memory-extraction/scripts/validate.sh
|
|
55
|
-
|
|
56
|
-
# 验证单个文件
|
|
57
|
-
.augment/skills/memory-extraction/scripts/validate.sh .memory/project.yaml
|
|
58
|
-
```
|
|
59
|
-
|
|
60
|
-
## 与其他系统的关系
|
|
61
|
-
|
|
62
|
-
```
|
|
63
|
-
.memory/ ← 项目级 (Git 版本控制)
|
|
64
|
-
openmemory ← 用户级 (MCP 语义搜索)
|
|
65
|
-
_bmad/_memory/ ← Agent 专属 (BMAD Agent)
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
## 注意事项
|
|
69
|
-
|
|
70
|
-
1. **Agent-Only**: 此命令主要供 Agent 自动使用
|
|
71
|
-
2. **SSOT 原则**: 项目配置应引用 `.memory/project.yaml`
|
|
72
|
-
3. **分类规则**: 遵循 `.rules/memory/classification.md`
|
|
73
|
-
4. **降级策略**: openmemory 不可用时存入 `.memory/user-context.yaml`
|
|
74
|
-
|
|
75
|
-
## 相关文件
|
|
76
|
-
|
|
77
|
-
- **Skill**: `.augment/skills/memory-extraction/SKILL.md`
|
|
78
|
-
- **分类规则**: `.rules/memory/classification.md`
|
|
79
|
-
- **Schema**: `.memory/schema/*.json`
|
|
80
|
-
|
|
81
|
-
---
|
|
82
|
-
|
|
83
|
-
**版本**: v1.1
|
|
84
|
-
|
|
@@ -1,112 +0,0 @@
|
|
|
1
|
-
# /mem graph - 知识图谱
|
|
2
|
-
|
|
3
|
-
管理和查询记忆的实体关系图谱。
|
|
4
|
-
|
|
5
|
-
## 使用方法
|
|
6
|
-
|
|
7
|
-
```
|
|
8
|
-
/mem graph [subcommand] [options]
|
|
9
|
-
```
|
|
10
|
-
|
|
11
|
-
## 子命令
|
|
12
|
-
|
|
13
|
-
| 子命令 | 说明 |
|
|
14
|
-
|--------|------|
|
|
15
|
-
| `show` | 显示图谱概览 |
|
|
16
|
-
| `add <type> <name>` | 添加实体 |
|
|
17
|
-
| `link <source> <target> <relation>` | 创建关系 |
|
|
18
|
-
| `query <entity>` | 查询相关实体 |
|
|
19
|
-
| `export` | 导出图谱 |
|
|
20
|
-
|
|
21
|
-
## 实体类型
|
|
22
|
-
|
|
23
|
-
| 类型 | 说明 | 示例 |
|
|
24
|
-
|------|------|------|
|
|
25
|
-
| `project` | 项目 | my-app |
|
|
26
|
-
| `service` | 服务 | API, Worker |
|
|
27
|
-
| `database` | 数据库 | PostgreSQL, Redis |
|
|
28
|
-
| `api` | API 端点 | /users, /orders |
|
|
29
|
-
| `config` | 配置 | 环境变量, 密钥 |
|
|
30
|
-
| `person` | 人员 | 开发者, 用户 |
|
|
31
|
-
| `technology` | 技术 | React, Node.js |
|
|
32
|
-
| `decision` | 决策 | 架构选择 |
|
|
33
|
-
| `preference` | 偏好 | 编码风格 |
|
|
34
|
-
|
|
35
|
-
## 关系类型
|
|
36
|
-
|
|
37
|
-
| 关系 | 说明 |
|
|
38
|
-
|------|------|
|
|
39
|
-
| `depends_on` | 依赖 |
|
|
40
|
-
| `configured_by` | 被配置 |
|
|
41
|
-
| `created_by` | 创建者 |
|
|
42
|
-
| `uses` | 使用 |
|
|
43
|
-
| `prefers` | 偏好 |
|
|
44
|
-
| `decided` | 决定 |
|
|
45
|
-
| `related_to` | 相关 |
|
|
46
|
-
|
|
47
|
-
## 示例
|
|
48
|
-
|
|
49
|
-
### 添加实体
|
|
50
|
-
|
|
51
|
-
```
|
|
52
|
-
/mem graph add service "User API"
|
|
53
|
-
/mem graph add database "PostgreSQL"
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
### 创建关系
|
|
57
|
-
|
|
58
|
-
```
|
|
59
|
-
/mem graph link "User API" "PostgreSQL" depends_on
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
### 查询相关
|
|
63
|
-
|
|
64
|
-
```
|
|
65
|
-
/mem graph query "User API"
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
输出:
|
|
69
|
-
```
|
|
70
|
-
## 🔗 User API 的关系图
|
|
71
|
-
|
|
72
|
-
User API (service)
|
|
73
|
-
├── depends_on → PostgreSQL (database)
|
|
74
|
-
├── configured_by → API Config (config)
|
|
75
|
-
└── uses → JWT Auth (technology)
|
|
76
|
-
```
|
|
77
|
-
|
|
78
|
-
## 图谱存储
|
|
79
|
-
|
|
80
|
-
图谱数据存储在 `.memory/graph.yaml`:
|
|
81
|
-
|
|
82
|
-
```yaml
|
|
83
|
-
entities:
|
|
84
|
-
- id: "uuid-1"
|
|
85
|
-
type: "service"
|
|
86
|
-
name: "User API"
|
|
87
|
-
properties:
|
|
88
|
-
port: 3000
|
|
89
|
-
|
|
90
|
-
relations:
|
|
91
|
-
- id: "uuid-2"
|
|
92
|
-
sourceId: "uuid-1"
|
|
93
|
-
targetId: "uuid-3"
|
|
94
|
-
type: "depends_on"
|
|
95
|
-
```
|
|
96
|
-
|
|
97
|
-
## 自动提取
|
|
98
|
-
|
|
99
|
-
对话中提到的实体和关系会被自动提取到图谱:
|
|
100
|
-
|
|
101
|
-
- "API 服务依赖 PostgreSQL 数据库" → 自动创建实体和关系
|
|
102
|
-
- "我们决定使用 React 作为前端框架" → 创建 decision 和 technology 实体
|
|
103
|
-
|
|
104
|
-
## 相关命令
|
|
105
|
-
|
|
106
|
-
- `/mem status` - 查看记忆状态
|
|
107
|
-
- `/mem search` - 搜索记忆
|
|
108
|
-
- `/mem decay` - 查看衰减状态
|
|
109
|
-
|
|
110
|
-
---
|
|
111
|
-
*OpenMemory Plus v2.0 - Graph Memory System*
|
|
112
|
-
|