Memory Manager Pro (记忆索引管理)
v1.1.0Professional memory indexing and task management system for OpenClaw. Provides three-level indexing (core→project/type→detail), task tracking, keyword mappin...
Memory Manager Pro
专业记忆索引与任务管理系统 Skill for OpenClaw。提供三级索引架构、任务追踪、关键词映射、标签检索等功能,支持多项目管理。
核心功能
- 三级索引架构 - 核心索引→项目/类型索引→详细内容
- 任务管理系统 - 创建、执行、追问、归档完整流程
- 关键词映射 - 快速定位文件路径
- 标签系统 - 多维度组合检索
- 规划预生成 - 自动创建下一步规划
- 智能去重 - 标题、任务ID等自动去重检查
快速开始
创建新项目结构
# 1. 创建项目目录
mkdir -p projects/{project_name}/{subdirs}
mkdir -p memory/项目索引 memory/类型索引 memory/快速检索 memory/任务流/任务详情
# 2. 创建核心文件
touch memory/核心索引.md
touch memory/项目索引/{类型}_项目索引.md
touch memory/类型索引/{category}.md
touch memory/快速检索/关键词映射.md
# 3. 初始化任务追踪
touch memory/任务流/活跃任务.md
创建新任务
# 1. 生成任务ID
TASK_ID="TASK_{TYPE}_{YYYYMMDD}_{SEQ}"
# 2. 创建任务详情文件
touch memory/任务流/任务详情/${TASK_ID}.md
# 3. 添加到活跃任务索引
edit memory/任务流/活跃任务.md
# 4. 关联到项目索引
edit memory/项目索引/{项目}_项目索引.md
目录结构标准
workspace/
├── projects/ # 项目目录(按项目类型分类)
│ ├── novel/ # 小说项目
│ │ └── {project_name}/
│ ├── code/ # 编码项目
│ │ └── {project_name}/
│ ├── design/ # 设计项目
│ │ └── {project_name}/
│ └── research/ # 研究项目
│ └── {project_name}/
│
├── memory/ # 记忆索引系统
│ ├── 核心索引.md # ⭐ 顶层入口(<500字)
│ ├── 系统说明.md # 系统架构文档
│ │
│ ├── 项目索引/ # 按项目分类(纵向)
│ │ ├── 小说项目索引.md
│ │ ├── 编码项目索引.md
│ │ ├── 设计项目索引.md
│ │ └── 研究项目索引.md
│ │
│ ├── 类型索引/ # 按任务类型分类(横向)
│ │ ├── 创作类.md
│ │ ├── 编码类.md
│ │ ├── 设计类.md
│ │ └── 研究类.md
│ │
│ ├── 快速检索/ # 快速定位系统
│ │ ├── 关键词映射.md # 关键词→路径映射
│ │ └── 标签系统.md # 多维度标签检索
│ │
│ └── 任务流/ # 任务管理
│ ├── 活跃任务.md # 进行中任务
│ ├── 已完成任务.md # 历史归档
│ ├── 任务模板/ # 标准化模板
│ └── 任务详情/ # 详细记录(支持追问)
│
└── MEMORY.md # 系统入口(极简)
三级索引架构
一级索引(MEMORY.md)
- 作用: 极简入口,快速跳转
- 内容量: <500字
- 包含: 快速开始链接、主要入口、当前状态
# MEMORY.md - 系统入口
## 快速开始
| 我需要... | 点击这里 |
|-----------|----------|
| 继续任务X | [活跃任务](memory/任务流/活跃任务.md) |
| 查找项目Y | [核心索引](memory/核心索引.md) |
## 当前状态
| 项目 | 任务 | 状态 |
二级索引(核心索引.md)
- 作用: 分类导航,按需下钻
- 内容量: <1000字
- 包含: 按项目、按类型、任务状态、快速检索
# 核心索引
## 活跃上下文
| 项目 | 当前任务 | 状态 |
## 按项目索引
- [小说项目](项目索引/小说项目索引.md)
- [编码项目](项目索引/编码项目索引.md)
## 按类型索引
- [创作类](类型索引/创作类.md)
- [编码类](类型索引/编码类.md)
## 任务状态
- [活跃任务](任务流/活跃任务.md)
- [已完成任务](任务流/已完成任务.md)
三级索引(项目/类型索引)
- 作用: 具体内容,详细记录
- 内容量: <2000字
- 包含: 项目详情、任务列表、规范标准、资源链接
任务管理系统
任务ID格式
TASK_{TYPE}_{YYYYMMDD}_{SEQ}
TYPE:
- NOVEL: 小说创作
- CODE: 编码开发
- DESIGN: 设计任务
- RESEARCH: 研究分析
- SYSTEM: 系统优化
示例:
- TASK_NOVEL_20260426_001
- TASK_CODE_20260426_003
任务状态流转
待开始 → 进行中 → 待追问 → 已完成
↓
已暂停
任务文件模板
活跃任务索引.md:
# 活跃任务
## 按项目分组
| 任务ID | 内容 | 状态 | 优先级 | 详情 |
## 快速操作
- [任务详情](任务详情/TASK_XXX.md)
任务详情/TASK_XXX.md:
# TASK_XXX
## 基本信息
- 标题:
- 类型:
- 状态:
- 优先级:
## 任务内容
...
## 执行记录
### 阶段1
- 时间:
- 操作:
- 结果:
## 追问记录
- 追问1:
## 下一步建议
...
关键词映射系统
映射表格式
# 关键词映射表
## 项目关键词
| 关键词 | 映射路径 | 说明 |
|--------|----------|------|
| 天道养殖场 | projects/novel/天道养殖场/ | 小说项目 |
## 任务关键词
| 关键词 | 映射路径 | 说明 |
|--------|----------|------|
| 活跃任务 | memory/任务流/活跃任务.md | 当前任务 |
| 任务091 | memory/任务流/任务详情/TASK_XXX.md | 具体任务 |
## 索引关键词
| 关键词 | 映射路径 | 说明 |
|--------|----------|------|
| 核心索引 | memory/核心索引.md | 顶层导航 |
使用场景
场景1: 用户说"继续创作天道养殖场"
1. 检索关键词"天道养殖场" → 定位项目目录
2. 检查活跃任务 → 获取当前任务ID
3. 读取任务详情 → 获取规划文件路径
4. 传递必要文件,执行任务
标签系统
标签分类
项目标签:
#天道养殖场- 具体项目#小说- 项目类型
类型标签:
#创作- 任务类型#编码- 任务类型#设计- 任务类型#研究- 任务类型
状态标签:
#活跃- 进行中#待开始- 未开始#已完成- 已归档#待追问- 需追问
优先级标签:
#高优先级#中优先级#低优先级
组合检索
检索"活跃的小说创作任务":
- 标签:
#创作+#活跃+#小说 - 结果: 过滤后的任务列表
索引更新服务(外部 Skill 调用接口)
Memory Manager Pro 提供标准化的索引更新服务,可被其他 Skill(如 Web Novel Creator)调用。
所有路径通过语义推导自动生成,无需调用方指定。
接口定义
请求参数格式:
Memory Manager Pro 索引更新请求
{
"操作": "完成创作并更新索引", // 必填
"任务ID": "TASK_NOVEL_YYYYMMDD_XXX", // 必填
"章节": "第XXX章《标题名》", // 可选
"字数": "XXXX字", // 可选
"项目": "天道养殖场", // 必填,用于语义推导
"创建下一章任务": true/false, // 可选
"下一章章节名": "第XXX+1章《标题》" // 可选
}
最简调用示例(Web Novel Creator 创作完一章后):
{
"操作": "完成创作并更新索引",
"任务ID": "TASK_NOVEL_20260426_004",
"章节": "第094章《城中暗影》",
"字数": "~2600字",
"项目": "天道养殖场",
"创建下一章任务": true,
"下一章章节名": "第095章《残魂低语》"
}
语义推导引擎
Memory Manager Pro 从 任务ID 和 项目 参数中自动推导所有路径,无需硬编码:
路径推导规则
任务ID → 自动提取任务类型
TASK_NOVEL_xxx → 类型 = 创作类,项目类型 = 小说
TASK_CODE_xxx → 类型 = 编码类,项目类型 = 编码
TASK_DESIGN_xxx → 类型 = 设计类,项目类型 = 设计
TASK_RESEARCH_xxx → 类型 = 研究类,项目类型 = 研究
TASK_SYSTEM_xxx → 类型 = 系统类,项目类型 = 系统
项目名 → 自动定位项目目录(通过关键词映射)
1. 查 memory/快速检索/关键词映射.md 中的「项目关键词」表
2. 若存在:直接使用映射路径
3. 若不存在:按默认路径规则生成
novel/项目名/ → 小说项目
code/项目名/ → 编码项目
design/项目名/ → 设计项目
research/项目名/ → 研究项目
推导出的文件路径:
项目索引: memory/项目索引/{项目类型}项目索引.md
类型索引: memory/类型索引/{任务类型}.md
任务详情: memory/任务流/任务详情/{任务ID}.md
正文目录: {项目目录}正文/
规划目录: {项目目录}规划/
标题库: {项目目录}规划/已用标题库.md
推导示例
| 任务ID | 项目 | 推导出的项目索引 | 推导出的类型索引 | 推导出的项目目录 |
|---|---|---|---|---|
| TASK_NOVEL_... | 天道养殖场 | 小说项目索引.md | 创作类.md | novel/天道养殖场:从盘古开天杀穿/ |
| TASK_CODE_... | 博客系统 | 编码项目索引.md | 编码类.md | code/博客系统/ |
| TASK_DESIGN_... | UI重设计 | 设计项目索引.md | 设计类.md | design/UI重设计/ |
| TASK_RESEARCH_... | AI调研 | 研究项目索引.md | 研究类.md | research/AI调研/ |
执行步骤
收到请求后,Memory Manager Pro 按以下流程执行:
第一步:解析参数
├── 从任务ID提取类型前缀(NOVEL/CODE/DESIGN/RESEARCH/SYSTEM)
├── 从类型前缀推导项目索引文件路径
├── 从类型前缀推导类型索引文件路径
├── 从项目名称查关键词映射 → 项目目录
└── 若关键词映射不存在,按规则生成默认路径
第二步:更新任务详情
├── 构造路径: memory/任务流/任务详情/{任务ID}.md
├── 检查文件是否存在
├── 存在 → 标记已完成,追加执行记录
└── 不存在 → 创建新文件(含基本信息、执行记录)
第三步:更新已完成任务索引
├── edit memory/任务流/已完成任务.md
├── 追加当日的任务记录
└── 更新统计信息
第四步:更新活跃任务索引
├── edit memory/任务流/活跃任务.md
├── 从活跃列表移除已完成的
└── 如请求创建下一章任务,追加新任务到活跃列表
第五步:更新项目索引(路径由类型前缀自动推导)
├── 类型前缀 NOVEL
│ └── edit memory/项目索引/小说项目索引.md
├── 类型前缀 CODE
│ └── edit memory/项目索引/编码项目索引.md
├── 类型前缀 DESIGN
│ └── edit memory/项目索引/设计项目索引.md
├── 类型前缀 RESEARCH
│ └── edit memory/项目索引/研究项目索引.md
└── (如文件不存在,自动创建)
第六步:更新类型索引(路径由任务类型名称自动推导)
├── 类型 = 创作类 → edit memory/类型索引/创作类.md
├── 类型 = 编码类 → edit memory/类型索引/编码类.md
├── 类型 = 设计类 → edit memory/类型索引/设计类.md
├── 类型 = 研究类 → edit memory/类型索引/研究类.md
└── 类型 = 系统类 → edit memory/类型索引/系统类.md(如不存在自动创建)
第七步:更新核心索引
└── edit memory/核心索引.md
第八步:更新MEMORY.md
└── edit MEMORY.md
类型前缀 → 索引文件映射表(完整参考)
| 任务ID前缀 | 类型名称 | 项目索引 | 类型索引 | 默认项目目录 |
|---|---|---|---|---|
| NOVEL | 创作类 | 小说项目索引.md | 创作类.md | novel/ |
| CODE | 编码类 | 编码项目索引.md | 编码类.md | code/ |
| DESIGN | 设计类 | 设计项目索引.md | 设计类.md | design/ |
| RESEARCH | 研究类 | 研究项目索引.md | 研究类.md | research/ |
| SYSTEM | 系统类 | (无项目索引) | 系统类.md | (无项目目录) |
调用注意事项
- 调用方只需要传递 4 个必填参数(操作、任务ID、项目、章节),其余可省略
- 所有路径由系统自动推导,不依赖调用方传入任何路径
- 支持批量操作:传递多个任务ID可一次性批量更新
- 调用方仍需自己更新小说专属内容文件(正文、规划、标题库)
- 关键词映射优先:项目目录优先查关键词映射表,不存在才用默认规则
- 处理完后返回确认信息给调用方
Token 优化策略
按需加载原则
| 场景 | 传递内容 | 避免传递 |
|---|---|---|
| 执行任务 | 规划文件+必要上下文 | 历史完整记录 |
| 任务追问 | 任务详情文件 | 其他任务记录 |
| 项目概览 | 项目索引文件 | 详细内容文件 |
| 全局导航 | 核心索引文件 | 所有详细内容 |
文件大小控制
- MEMORY.md: <500字
- 核心索引.md: <1000字
- 项目/类型索引: <2000字
- 任务详情: 按需,完整记录
使用流程
创建新项目
# 1. 创建目录结构
mkdir -p projects/{类型}/{项目名}/{子目录}
# 2. 创建项目索引
edit memory/项目索引/{类型}_项目索引.md
# 3. 更新核心索引
edit memory/核心索引.md
# 4. 创建初始任务
# 生成任务ID
# 创建任务详情文件
# 添加到活跃任务索引
执行日常任务
# 1. 检查活跃任务
read memory/任务流/活跃任务.md
# 2. 读取任务详情
read memory/任务流/任务详情/TASK_XXX.md
# 3. 根据任务类型读取规划
read {项目路径}/规划/第XXX章规划.md
# 4. 执行任务
# ...
# 5. 更新任务状态
edit memory/任务流/任务详情/TASK_XXX.md
edit memory/任务流/活跃任务.md
# 6. 生成下一步规划(可选)
write {项目路径}/规划/第XXX+1章规划.md
追问历史任务
# 1. 关键词检索
# "第091章" → TASK_NOVEL_20260426_001
# 2. 读取任务详情
read memory/任务流/任务详情/TASK_NOVEL_20260426_001.md
# 3. 展示结果
参考文件
references/目录结构标准.md- 完整目录规范references/任务模板.md- 任务文件模板references/索引模板.md- 索引文件模板references/关键词映射示例.md- 映射表示例references/标签系统指南.md- 标签使用指南
使用示例
示例1: 创建小说创作任务
用户: "创建天道养殖场第092章创作任务"
系统:
1. 生成任务ID: TASK_NOVEL_20260426_002
2. 创建任务详情文件
3. 读取第092章规划文件
4. 添加到活跃任务索引
5. 更新项目索引
6. 返回: 任务已创建,等待执行
示例2: 查看当前活跃任务
用户: "查看当前有什么任务"
系统:
1. 读取 memory/任务流/活跃任务.md
2. 按项目/类型/优先级分组展示
3. 提供快速操作链接
示例3: 追问历史任务
用户: "第091章创作得怎么样"
系统:
1. 关键词检索 "第091章" → TASK_NOVEL_20260426_001
2. 读取任务详情
3. 展示: 字数、时间、成果、关键节点
扩展方式
添加新项目类型
- 创建
memory/项目索引/新类型_项目索引.md - 创建
projects/新类型/目录 - 更新
memory/核心索引.md - 更新关键词映射
添加新任务类型
- 创建
memory/类型索引/新类型.md - 创建任务模板(可选)
- 更新标签系统
- 更新关键词映射
设计原则
- 按需加载 - 只传递当前任务必需的上下文
- 快速定位 - 通过索引3秒内找到目标文件
- 最小上下文 - MEMORY.md < 500字,逐级下钻
- 双向索引 - 纵向(项目)+ 横向(类型)交叉
- 完整追溯 - 任务详情完整记录,支持追问
Version tags
latest
