diff --git a/skills/graph-memory-persona/SKILL.md b/skills/graph-memory-persona/SKILL.md index 05aeb8c..cd70104 100644 --- a/skills/graph-memory-persona/SKILL.md +++ b/skills/graph-memory-persona/SKILL.md @@ -1,6 +1,6 @@ --- name: graph-memory-persona -description: "管理 AI 人设 - 更新或清除 AI 角色特征。作为增强工具,通过 graph_memory 的 persona_update/clear 操作实现" +description: "管理 AI 人设 - AI 应主动查询和维护角色特征,将人设信息作为长期记忆存储在图数据库中" metadata: {"openclaw": {"requires": {"bins": ["node"]}}} user-invocable: true --- @@ -9,19 +9,27 @@ user-invocable: true 管理 AI 的人设/角色特征。 -> **定位声明**:本 skill 通过 `graph_memory` 工具的 `persona_update`/`persona_clear` 操作实现。是 **OpenClaw 的增强功能**,不替代任何核心机制。LLM 可自主选择是否查询/更新人设。 +> **定位声明**:人设是 AI 长期记忆的一部分,存储在图数据库中。AI **应主动查询**人设信息来指导自己的行为和回应风格。 -## 与主系统的关系 +## 核心原则 -- **不强制**:不会每轮自动查询人设,由 LLM 根据上下文决定 -- **可选调用**:当用户提到"记住我是..."、"你的角色是..."等场景时触发 -- **数据存储**:人设数据以三元组形式存储在图数据库中(subject=AI) +**AI 必须在以下场景主动查询人设**: +1. 对话开始时(检索用户偏好和 AI 角色设定) +2. 用户要求改变行为或风格时 +3. 不确定如何回应时(查询是否有相关人设指导) +4. 用户提到"你之前说..."、"我告诉过你..."等暗示历史记忆的语句 + +**AI 必须在以下场景更新人设**: +1. 用户明确设定 AI 角色("你是猫娘"、"你是技术专家") +2. 用户描述自己的偏好("我喜欢简洁的回答") +3. 用户定义交互规则("用中文回复我"、"不要道歉") +4. 用户纠正 AI 的行为("你太正式了,放松点") ## 操作 ### 1. persona_update - 更新人设 -更新 AI 的角色特征。 +更新 AI 的角色特征或用户偏好。 **参数:** - `attributes`: 属性数组,每个包含 `attribute`(属性名)和 `value`(属性值) @@ -36,6 +44,8 @@ params: value: "猫娘" - attribute: "性格" value: "活泼" + - attribute: "用户偏好_回复语言" + value: "中文" mode: "merge" ``` @@ -53,8 +63,20 @@ params: confirm: true ``` +## 人设查询模板 + +每次对话开始时,AI 应执行: +```yaml +action: recall +params: + queryIntent: "AI人设 用户偏好 角色设定" + seedEntities: ["AI"] + depth: 2 +``` + ## 使用建议 -1. 人设信息应简洁、持久(如"用户喜欢Python"、"我是技术助手") -2. 避免存储临时性、易变的信息到人设图 -3. 与 memory-core 配合:人设由 GraphMemory 管理,对话风格由系统提示管理 +1. **主动查询**:不要等用户提醒才查人设,主动在对话开始时检索 +2. **及时更新**:用户一旦表达偏好或设定角色,立即写入 +3. **分类存储**:使用前缀区分人设类型,如 `角色_`、`用户偏好_`、`行为规则_` +4. **持久化**:人设信息应简洁、持久,写入图数据库长期保存 diff --git a/skills/graph-memory-task/SKILL.md b/skills/graph-memory-task/SKILL.md index 7e16f98..c425a79 100644 --- a/skills/graph-memory-task/SKILL.md +++ b/skills/graph-memory-task/SKILL.md @@ -1,6 +1,6 @@ --- name: graph-memory-task -description: "管理连续性任务 - 创建、更新、删除任务节点。作为增强工具,通过 graph_memory 的 task_* 操作实现" +description: "管理连续性任务 - AI 应主动追踪和维护任务状态,将任务信息作为长期记忆存储在图数据库中" metadata: {"openclaw": {"requires": {"bins": ["node"]}}} user-invocable: true --- @@ -9,13 +9,21 @@ user-invocable: true 管理长期/连续性任务。 -> **定位声明**:本 skill 通过 `graph_memory` 工具的 `task_create`/`task_set_state`/`task_delete`/`task_link_info` 操作实现。是 **OpenClaw 的增强功能**,提供任务追踪能力,不替代任何核心机制。 +> **定位声明**:任务是 AI 长期记忆的一部分,存储在图数据库中。AI **应主动追踪**任务状态,在适当时候提醒用户或更新进度。 -## 与主系统的关系 +## 核心原则 -- **不强制**:不会每轮自动查询任务状态,由 LLM 根据用户请求决定 -- **可选调用**:当用户提到"帮我记住这个任务"、"完成这个任务"等场景时触发 -- **数据存储**:任务数据以三元组形式存储在图数据库中(subject=task_id) +**AI 必须在以下场景主动查询任务**: +1. 对话开始时(检索进行中的任务) +2. 用户询问进度或状态时 +3. 用户提到"继续之前的..."、"那个任务怎么样了"等 +4. 做计划或安排时(了解现有任务负荷) + +**AI 必须在以下场景创建/更新任务**: +1. 用户明确创建任务("帮我记住要做...") +2. 用户完成或取消任务 +3. 用户更新任务信息或进度 +4. AI 自己承诺要完成某事(应创建任务跟踪) ## 操作 @@ -68,9 +76,21 @@ params: - `task_id`: 任务ID(必需) - `info_node`: 信息节点名称(必需) +## 任务查询模板 + +每次对话开始时,AI 应执行: +```yaml +action: recall +params: + queryIntent: "任务 进行中 待办" + seedEntities: ["Task"] + depth: 2 +``` + ## 使用建议 -1. 任务ID应具有描述性(如 `Task_学习TypeScript`) -2. 任务描述应清晰说明目标和上下文 -3. 定期使用 `recall` 查询任务状态,了解进行中的任务 -4. 与 memory-core 配合:任务列表由 GraphMemory 管理,具体执行细节由对话上下文管理 +1. **主动追踪**:不要等用户问才查任务,主动在对话开始时检索进行中的任务 +2. **及时更新**:任务状态变化时立即更新,避免信息过时 +3. **ID规范**:任务ID应具有描述性(如 `Task_学习TypeScript`) +4. **定期提醒**:对于长期任务,在对话中适时提醒用户进度或截止日期 +5. **关联信息**:将相关资源、链接、笔记关联到任务,形成完整上下文 diff --git a/skills/graph-memory/SKILL.md b/skills/graph-memory/SKILL.md index b89150e..a6a7503 100644 --- a/skills/graph-memory/SKILL.md +++ b/skills/graph-memory/SKILL.md @@ -1,6 +1,6 @@ --- name: graph-memory -description: "图记忆工具 - 检索、写入、删除记忆。作为 OpenClaw memory-core 的增强补充,不替代其核心功能" +description: "图记忆工具 - 检索、写入、删除记忆。AI 应优先使用图数据库管理长期记忆,将重要事实结构化存储" metadata: {"openclaw": {"requires": {"bins": ["node"]}}} user-invocable: true --- @@ -9,21 +9,21 @@ user-invocable: true 让 AI 拥有真正的长期记忆能力。 -> **定位声明**:本工具是 **OpenClaw memory-core 的增强补充**,而非替代。memory-core 负责 session transcripts 和历史消息管理,GraphMemory 提供图数据库形式的结构化长期记忆。两者可并存运行。 +> **定位声明**:本工具是 AI 的**主要长期记忆系统**。memory-core 管理 session transcripts,GraphMemory 负责结构化长期记忆。AI 在对话中应优先将重要信息写入图数据库,而非依赖 message 历史。 ## 与 memory-core 的关系 | 功能 | memory-core | GraphMemory (本工具) | |------|-------------|---------------------| | 对话历史 | ✅ 自动保存 messages | ❌ 不管理对话历史 | -| 结构化记忆 | ❌ 无 | ✅ 三元组图存储 | -| 人设管理 | ❌ 无 | ✅ persona_update/clear | -| 任务追踪 | ❌ 无 | ✅ task_create/set_state | +| 结构化记忆 | ❌ 无 | ✅ **主要存储** | +| 人设管理 | ❌ 无 | ✅ **主要存储** | +| 任务追踪 | ❌ 无 | ✅ **主要存储** | | 上下文压缩 | ❌ 无 | ✅ context_rewrite | | 工作记忆链 | ❌ 无 | ✅ working_memory_chain | | **语义搜索** | **❌ 无** | **✅ memory_search** | | **记忆文件读取** | **❌ 无** | **✅ memory_get** | -| 自动触发 | ✅ 自动索引检索 | ❌ LLM 可选调用 | +| 自动触发 | ✅ 自动索引检索 | ❌ LLM 主动调用 | ## 核心概念 @@ -204,9 +204,43 @@ AI 会执行: ## 使用原则 -1. **选择性记忆**:只记住重要和持久的信息 -2. **结构化**:使用三元组格式存储关系 -3. **定期清理**:删除过时或错误的信息 -4. **关联思考**:利用关系进行联想记忆 -5. **与 memory-core 配合**:对话历史由 memory-core 管理,结构化事实由 GraphMemory 管理 -6. **主动查询人设**:参考 `graph-memory-persona-force` Skill,在适当时候主动查询用户偏好和决策 +1. **优先使用图记忆**:对于重要事实、偏好、决策、任务等持久信息,**优先**使用 `commit` 写入图数据库,而非依赖 message 上下文 +2. **主动检索**:在回答用户问题前,**先调用 `recall` 或 `memory_search`** 检索相关记忆,而非仅凭当前上下文推理 +3. **结构化**:使用三元组格式存储关系,确保信息可被关联检索 +4. **定期清理**:删除过时或错误的信息 +5. **上下文压缩**:当对话过长时,使用 `context_rewrite` 将历史压缩为记忆节点 +6. **工作记忆**:使用 `working_memory_chain` 获取当前会话的上下文链 +7. **主动查询人设**:参考 `graph-memory-persona-force` Skill,在适当时候主动查询用户偏好和决策 + +## 记忆策略指南 + +### 什么时候写入图数据库? + +**必须写入**: +- 用户明确说"请记住"、"记住这个"等 +- 用户透露偏好、习惯、身份信息 +- 做出重要决策或选择 +- 创建任务或目标 +- 关键知识点或学习成果 + +**建议写入**: +- 对话中重复出现的重要概念 +- 用户纠正或补充的信息 +- 项目相关的配置、路径、决策 + +**无需写入**: +- 临时性问候、寒暄 +- 一次性问题(如"现在几点") +- 已在图数据库中的重复信息 + +### 什么时候检索图数据库? + +**必须检索**: +- 用户问"我之前说过..."、"你还记得..." +- 需要基于历史偏好做推荐或决策 +- 继续之前的任务或话题 + +**建议检索**: +- 每次对话开始时,检索用户相关信息 +- 做推荐前先了解用户偏好 +- 涉及人设或性格相关的话题 diff --git a/ts/bundled-skills/graph-memory-persona/SKILL.md b/ts/bundled-skills/graph-memory-persona/SKILL.md index 05aeb8c..cd70104 100644 --- a/ts/bundled-skills/graph-memory-persona/SKILL.md +++ b/ts/bundled-skills/graph-memory-persona/SKILL.md @@ -1,6 +1,6 @@ --- name: graph-memory-persona -description: "管理 AI 人设 - 更新或清除 AI 角色特征。作为增强工具,通过 graph_memory 的 persona_update/clear 操作实现" +description: "管理 AI 人设 - AI 应主动查询和维护角色特征,将人设信息作为长期记忆存储在图数据库中" metadata: {"openclaw": {"requires": {"bins": ["node"]}}} user-invocable: true --- @@ -9,19 +9,27 @@ user-invocable: true 管理 AI 的人设/角色特征。 -> **定位声明**:本 skill 通过 `graph_memory` 工具的 `persona_update`/`persona_clear` 操作实现。是 **OpenClaw 的增强功能**,不替代任何核心机制。LLM 可自主选择是否查询/更新人设。 +> **定位声明**:人设是 AI 长期记忆的一部分,存储在图数据库中。AI **应主动查询**人设信息来指导自己的行为和回应风格。 -## 与主系统的关系 +## 核心原则 -- **不强制**:不会每轮自动查询人设,由 LLM 根据上下文决定 -- **可选调用**:当用户提到"记住我是..."、"你的角色是..."等场景时触发 -- **数据存储**:人设数据以三元组形式存储在图数据库中(subject=AI) +**AI 必须在以下场景主动查询人设**: +1. 对话开始时(检索用户偏好和 AI 角色设定) +2. 用户要求改变行为或风格时 +3. 不确定如何回应时(查询是否有相关人设指导) +4. 用户提到"你之前说..."、"我告诉过你..."等暗示历史记忆的语句 + +**AI 必须在以下场景更新人设**: +1. 用户明确设定 AI 角色("你是猫娘"、"你是技术专家") +2. 用户描述自己的偏好("我喜欢简洁的回答") +3. 用户定义交互规则("用中文回复我"、"不要道歉") +4. 用户纠正 AI 的行为("你太正式了,放松点") ## 操作 ### 1. persona_update - 更新人设 -更新 AI 的角色特征。 +更新 AI 的角色特征或用户偏好。 **参数:** - `attributes`: 属性数组,每个包含 `attribute`(属性名)和 `value`(属性值) @@ -36,6 +44,8 @@ params: value: "猫娘" - attribute: "性格" value: "活泼" + - attribute: "用户偏好_回复语言" + value: "中文" mode: "merge" ``` @@ -53,8 +63,20 @@ params: confirm: true ``` +## 人设查询模板 + +每次对话开始时,AI 应执行: +```yaml +action: recall +params: + queryIntent: "AI人设 用户偏好 角色设定" + seedEntities: ["AI"] + depth: 2 +``` + ## 使用建议 -1. 人设信息应简洁、持久(如"用户喜欢Python"、"我是技术助手") -2. 避免存储临时性、易变的信息到人设图 -3. 与 memory-core 配合:人设由 GraphMemory 管理,对话风格由系统提示管理 +1. **主动查询**:不要等用户提醒才查人设,主动在对话开始时检索 +2. **及时更新**:用户一旦表达偏好或设定角色,立即写入 +3. **分类存储**:使用前缀区分人设类型,如 `角色_`、`用户偏好_`、`行为规则_` +4. **持久化**:人设信息应简洁、持久,写入图数据库长期保存 diff --git a/ts/bundled-skills/graph-memory-task/SKILL.md b/ts/bundled-skills/graph-memory-task/SKILL.md index 7e16f98..c425a79 100644 --- a/ts/bundled-skills/graph-memory-task/SKILL.md +++ b/ts/bundled-skills/graph-memory-task/SKILL.md @@ -1,6 +1,6 @@ --- name: graph-memory-task -description: "管理连续性任务 - 创建、更新、删除任务节点。作为增强工具,通过 graph_memory 的 task_* 操作实现" +description: "管理连续性任务 - AI 应主动追踪和维护任务状态,将任务信息作为长期记忆存储在图数据库中" metadata: {"openclaw": {"requires": {"bins": ["node"]}}} user-invocable: true --- @@ -9,13 +9,21 @@ user-invocable: true 管理长期/连续性任务。 -> **定位声明**:本 skill 通过 `graph_memory` 工具的 `task_create`/`task_set_state`/`task_delete`/`task_link_info` 操作实现。是 **OpenClaw 的增强功能**,提供任务追踪能力,不替代任何核心机制。 +> **定位声明**:任务是 AI 长期记忆的一部分,存储在图数据库中。AI **应主动追踪**任务状态,在适当时候提醒用户或更新进度。 -## 与主系统的关系 +## 核心原则 -- **不强制**:不会每轮自动查询任务状态,由 LLM 根据用户请求决定 -- **可选调用**:当用户提到"帮我记住这个任务"、"完成这个任务"等场景时触发 -- **数据存储**:任务数据以三元组形式存储在图数据库中(subject=task_id) +**AI 必须在以下场景主动查询任务**: +1. 对话开始时(检索进行中的任务) +2. 用户询问进度或状态时 +3. 用户提到"继续之前的..."、"那个任务怎么样了"等 +4. 做计划或安排时(了解现有任务负荷) + +**AI 必须在以下场景创建/更新任务**: +1. 用户明确创建任务("帮我记住要做...") +2. 用户完成或取消任务 +3. 用户更新任务信息或进度 +4. AI 自己承诺要完成某事(应创建任务跟踪) ## 操作 @@ -68,9 +76,21 @@ params: - `task_id`: 任务ID(必需) - `info_node`: 信息节点名称(必需) +## 任务查询模板 + +每次对话开始时,AI 应执行: +```yaml +action: recall +params: + queryIntent: "任务 进行中 待办" + seedEntities: ["Task"] + depth: 2 +``` + ## 使用建议 -1. 任务ID应具有描述性(如 `Task_学习TypeScript`) -2. 任务描述应清晰说明目标和上下文 -3. 定期使用 `recall` 查询任务状态,了解进行中的任务 -4. 与 memory-core 配合:任务列表由 GraphMemory 管理,具体执行细节由对话上下文管理 +1. **主动追踪**:不要等用户问才查任务,主动在对话开始时检索进行中的任务 +2. **及时更新**:任务状态变化时立即更新,避免信息过时 +3. **ID规范**:任务ID应具有描述性(如 `Task_学习TypeScript`) +4. **定期提醒**:对于长期任务,在对话中适时提醒用户进度或截止日期 +5. **关联信息**:将相关资源、链接、笔记关联到任务,形成完整上下文 diff --git a/ts/bundled-skills/graph-memory/SKILL.md b/ts/bundled-skills/graph-memory/SKILL.md index 290738c..87326bd 100644 --- a/ts/bundled-skills/graph-memory/SKILL.md +++ b/ts/bundled-skills/graph-memory/SKILL.md @@ -1,6 +1,6 @@ --- name: graph-memory -description: "图记忆工具 - 检索、写入、删除记忆,管理人设和任务。作为 OpenClaw memory-core 的增强补充,不替代其核心功能" +description: "图记忆工具 - AI 应优先使用图数据库管理长期记忆,将重要事实结构化存储" metadata: {"openclaw": {"requires": {"bins": ["node"]}}} user-invocable: true --- @@ -9,17 +9,19 @@ user-invocable: true 让 AI 拥有真正的长期记忆能力。 -> **定位声明**:本工具是 **OpenClaw memory-core 的增强补充**,而非替代。memory-core 负责 session transcripts 和历史消息管理,GraphMemory 提供图数据库形式的结构化长期记忆。两者可并存运行。 +> **定位声明**:本工具是 AI 的**主要长期记忆系统**。memory-core 管理 session transcripts,GraphMemory 负责结构化长期记忆。AI 在对话中应优先将重要信息写入图数据库,而非依赖 message 历史。 ## 与 memory-core 的关系 | 功能 | memory-core | GraphMemory (本工具) | |------|-------------|---------------------| | 对话历史 | ✅ 自动保存 messages | ❌ 不管理对话历史 | -| 结构化记忆 | ❌ 无 | ✅ 三元组图存储 | -| 人设管理 | ❌ 无 | ✅ persona_update/clear | -| 任务追踪 | ❌ 无 | ✅ task_create/set_state | -| 自动触发 | ✅ 自动索引检索 | ❌ LLM 可选调用 | +| 结构化记忆 | ❌ 无 | ✅ **主要存储** | +| 人设管理 | ❌ 无 | ✅ **主要存储** | +| 任务追踪 | ❌ 无 | ✅ **主要存储** | +| **语义搜索** | **❌ 无** | **✅ memory_search** | +| **记忆文件读取** | **❌ 无** | **✅ memory_get** | +| 自动触发 | ✅ 自动索引检索 | ❌ LLM 主动调用 | ## 核心概念 @@ -79,8 +81,40 @@ user-invocable: true ## 使用原则 -1. **选择性记忆**: 只记住重要和持久的信息 -2. **结构化**: 使用三元组 (主体-关系-客体) 格式 -3. **关联**: 通过关系连接相关实体 -4. **定期清理**: 删除过时或错误的信息 -5. **与 memory-core 配合**: 对话历史由 memory-core 管理,结构化事实由 GraphMemory 管理 +1. **优先使用图记忆**:对于重要事实、偏好、决策、任务等持久信息,**优先**使用 `commit` 写入图数据库,而非依赖 message 上下文 +2. **主动检索**:在回答用户问题前,**先调用 `recall` 或 `memory_search`** 检索相关记忆,而非仅凭当前上下文推理 +3. **结构化**:使用三元组格式存储关系,确保信息可被关联检索 +4. **定期清理**:删除过时或错误的信息 + +## 记忆策略指南 + +### 什么时候写入图数据库? + +**必须写入**: +- 用户明确说"请记住"、"记住这个"等 +- 用户透露偏好、习惯、身份信息 +- 做出重要决策或选择 +- 创建任务或目标 +- 关键知识点或学习成果 + +**建议写入**: +- 对话中重复出现的重要概念 +- 用户纠正或补充的信息 +- 项目相关的配置、路径、决策 + +**无需写入**: +- 临时性问候、寒暄 +- 一次性问题(如"现在几点") +- 已在图数据库中的重复信息 + +### 什么时候检索图数据库? + +**必须检索**: +- 用户问"我之前说过..."、"你还记得..." +- 需要基于历史偏好做推荐或决策 +- 继续之前的任务或话题 + +**建议检索**: +- 每次对话开始时,检索用户相关信息 +- 做推荐前先了解用户偏好 +- 涉及人设或性格相关的话题