openmemory-plus 1.1.0 → 1.2.3

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.
Files changed (28) hide show
  1. package/dist/index.js +58 -38
  2. package/package.json +1 -1
  3. package/templates/augment/AGENTS.md +42 -22
  4. package/templates/claude/CLAUDE.md +31 -10
  5. package/templates/common/AGENTS.md +16 -8
  6. package/templates/cursor/.cursorrules +57 -33
  7. package/templates/gemini/gemini.md +42 -23
  8. package/templates/shared/_omp/commands/memory-actions/clean.md +54 -0
  9. package/templates/shared/_omp/commands/memory-actions/decay.md +64 -0
  10. package/templates/shared/_omp/commands/memory-actions/graph.md +75 -0
  11. package/templates/shared/_omp/commands/memory-actions/search.md +38 -0
  12. package/templates/shared/_omp/commands/memory-actions/status.md +35 -0
  13. package/templates/shared/_omp/commands/memory-actions/store.md +45 -0
  14. package/templates/shared/_omp/commands/memory-actions/sync.md +50 -0
  15. package/templates/shared/_omp/commands/memory.md +86 -0
  16. package/templates/shared/{skills → _omp/skills}/memory-extraction/SKILL.md +92 -51
  17. package/templates/shared/_omp/skills/memory-extraction/scripts/validate.sh +94 -0
  18. package/templates/shared/_omp/skills/memory-extraction/templates/decision.yaml.tmpl +32 -0
  19. package/templates/shared/_omp/skills/memory-extraction/templates/session.yaml.tmpl +35 -0
  20. package/templates/shared/commands/mem-clean.md +0 -117
  21. package/templates/shared/commands/mem-decay.md +0 -81
  22. package/templates/shared/commands/mem-extract.md +0 -84
  23. package/templates/shared/commands/mem-graph.md +0 -112
  24. package/templates/shared/commands/mem-search.md +0 -104
  25. package/templates/shared/commands/mem-status.md +0 -76
  26. package/templates/shared/commands/mem-sync.md +0 -106
  27. package/templates/shared/commands/memory.md +0 -89
  28. package/templates/shared/rules/classification.md +0 -108
@@ -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` 返回菜单"
@@ -0,0 +1,86 @@
1
+ ---
2
+ description: '记忆管理入口 - 统一管理项目级和用户级记忆'
3
+ ---
4
+
5
+ # /memory
6
+
7
+ OpenMemory Plus 记忆管理统一入口。
8
+
9
+ ## 行为
10
+
11
+ 当用户输入 `/memory` 时:
12
+
13
+ 1. **快速状态检测**
14
+ - 读取 `_omp/.memory/` 目录状态
15
+ - 调用 `list_memories_openmemory` 获取用户记忆数量
16
+
17
+ 2. **显示菜单**
18
+
19
+ ```
20
+ 📊 记忆管理系统
21
+
22
+ 当前状态快览:
23
+ ├── 项目级 (_omp/.memory/): {n} 个文件
24
+ └── 用户级 (openmemory): {n} 条记忆
25
+
26
+ 选择操作:
27
+
28
+ 1. 📋 查看状态 - 详细记忆状态
29
+ 2. 🔍 搜索记忆 - 语义搜索
30
+ 3. 💾 存储记忆 - 手动添加
31
+ 4. 🧹 清理记忆 - 清理 ROT
32
+ 5. 🔄 同步检查 - 冲突检测
33
+ 6. ⏰ 衰减分析 - 时间衰减
34
+ 7. 🔗 知识图谱 - 实体关系
35
+
36
+ 输入数字,或直接描述你的需求:
37
+ ```
38
+
39
+ 3. **等待用户输入**
40
+
41
+ ## 路由逻辑
42
+
43
+ 根据用户输入路由到对应子文件:
44
+
45
+ | 输入 | 意图关键词 | 加载文件 |
46
+ |------|-----------|----------|
47
+ | `1` | 状态、概览、overview | `./memory-actions/status.md` |
48
+ | `2` | 搜索、找、查、search | `./memory-actions/search.md` |
49
+ | `3` | 存储、记住、保存、store | `./memory-actions/store.md` |
50
+ | `4` | 清理、删除、过期、clean | `./memory-actions/clean.md` |
51
+ | `5` | 同步、冲突、检查、sync | `./memory-actions/sync.md` |
52
+ | `6` | 衰减、aging、decay | `./memory-actions/decay.md` |
53
+ | `7` | 图谱、关系、依赖、graph | `./memory-actions/graph.md` |
54
+
55
+ ## 自然语言兼容
56
+
57
+ 用户也可以直接描述需求,Agent 根据意图关键词路由:
58
+
59
+ - "搜索一下部署配置" → 加载 search.md
60
+ - "清理过期的记忆" → 加载 clean.md
61
+ - "这个项目用 React" → 加载 store.md
62
+ - "查看记忆衰减状态" → 加载 decay.md
63
+
64
+ ## MCP 工具
65
+
66
+ Agent 可使用以下工具:
67
+
68
+ | 工具 | 用途 |
69
+ |------|------|
70
+ | `add_memories_openmemory` | 添加用户级记忆 |
71
+ | `search_memory_openmemory` | 语义搜索记忆 |
72
+ | `list_memories_openmemory` | 列出所有记忆 |
73
+ | `delete_memories_openmemory` | 删除指定记忆 |
74
+
75
+ ## 项目级记忆
76
+
77
+ 直接读写 `_omp/.memory/` 目录下的 YAML 文件:
78
+
79
+ - `project.yaml` - 项目配置
80
+ - `decisions.yaml` - 技术决策
81
+ - `changelog.yaml` - 变更历史
82
+
83
+ ## 返回菜单
84
+
85
+ 每个子动作完成后,提示用户:
86
+ > "还需要其他操作吗?输入 `/memory` 返回菜单"