refactor: update SKILL.md to encourage proactive graph memory usage

- Change positioning from 'enhancement' to 'primary long-term memory'
- Add explicit guidelines for when AI must query/update memory
- Add query templates for persona and tasks at conversation start
- Update all 3 skills: graph-memory, graph-memory-persona, graph-memory-task
- Sync bundled-skills with standalone skills
This commit is contained in:
root
2026-04-24 21:08:35 +08:00
parent 697a639cbe
commit c33e7469ac
6 changed files with 215 additions and 63 deletions

View File

@ -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. **持久化**:人设信息应简洁、持久,写入图数据库长期保存

View File

@ -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. **关联信息**:将相关资源、链接、笔记关联到任务,形成完整上下文

View File

@ -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 transcriptsGraphMemory 负责结构化长期记忆。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在适当时候主动查询用户偏好和决策
## 记忆策略指南
### 什么时候写入图数据库?
**必须写入**
- 用户明确说"请记住"、"记住这个"等
- 用户透露偏好、习惯、身份信息
- 做出重要决策或选择
- 创建任务或目标
- 关键知识点或学习成果
**建议写入**
- 对话中重复出现的重要概念
- 用户纠正或补充的信息
- 项目相关的配置、路径、决策
**无需写入**
- 临时性问候、寒暄
- 一次性问题(如"现在几点"
- 已在图数据库中的重复信息
### 什么时候检索图数据库?
**必须检索**
- 用户问"我之前说过..."、"你还记得..."
- 需要基于历史偏好做推荐或决策
- 继续之前的任务或话题
**建议检索**
- 每次对话开始时,检索用户相关信息
- 做推荐前先了解用户偏好
- 涉及人设或性格相关的话题

View File

@ -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. **持久化**:人设信息应简洁、持久,写入图数据库长期保存

View File

@ -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. **关联信息**:将相关资源、链接、笔记关联到任务,形成完整上下文

View File

@ -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 transcriptsGraphMemory 负责结构化长期记忆。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. **定期清理**删除过时或错误的信息
## 记忆策略指南
### 什么时候写入图数据库?
**必须写入**
- 用户明确说"请记住"、"记住这个"等
- 用户透露偏好、习惯、身份信息
- 做出重要决策或选择
- 创建任务或目标
- 关键知识点或学习成果
**建议写入**
- 对话中重复出现的重要概念
- 用户纠正或补充的信息
- 项目相关的配置、路径、决策
**无需写入**
- 临时性问候、寒暄
- 一次性问题(如"现在几点"
- 已在图数据库中的重复信息
### 什么时候检索图数据库?
**必须检索**
- 用户问"我之前说过..."、"你还记得..."
- 需要基于历史偏好做推荐或决策
- 继续之前的任务或话题
**建议检索**
- 每次对话开始时,检索用户相关信息
- 做推荐前先了解用户偏好
- 涉及人设或性格相关的话题