Tools
Memu Engine For OpenClaw
A community OpenClaw memory plugin that wires OpenClaw sessions into the MemU engine
Configuration Example
{
"plugins": {
"slots": { "memory": "memu-engine" },
"entries": {
"memu-engine": {
"enabled": true,
"config": {
// 1. 向量嵌入模型 (用于搜索)
"embedding": {
"provider": "openai",
"baseUrl": "https://api.openai.com/v1",
"apiKey": "sk-...",
"model": "text-embedding-3-small"
},
// 2. 记忆提取模型 (用于生成摘要)
"extraction": {
"provider": "openai",
"baseUrl": "https://api.openai.com/v1",
"apiKey": "sk-...",
"model": "gpt-4o-mini"
},
// 3. 输出语言
"language": "zh",
// 4. 文档录入配置
"ingest": {
"includeDefaultPaths": true,
"extraPaths": [
"/home/you/project/docs",
"/home/you/project/README.md"
]
}
}
}
}
}
}
README
# memU Engine for OpenClaw (中文版)
项目链接:
- OpenClaw: https://github.com/openclaw/openclaw
- MemU(上游): https://github.com/NevaMind-AI/MemU
语言:
- [English](README_EN.md)
## 简介
`memu-engine` 是一个 OpenClaw 记忆插件,旨在将 MemU 强大的原子化记忆能力带给 OpenClaw。
它监听 OpenClaw 的会话日志和工作区文档,增量提取关键信息(画像、事件、知识、技能等),并存储在本地 SQLite 数据库中,供 Agent 随时检索。
> 核心优势:MemU 的记忆提取算法能将非结构化对话转化为高质量的结构化数据。详见 [MemU 官方文档](https://github.com/NevaMind-AI/MemU)。
## 🤖 让小爪子自己给你装
粘贴下面这一段并告诉openclaw来安装本插件:
```text
Install and configure oh-my-opencode by following the instructions here: https://github.com/duxiaoxiong/memu-engine-for-OpenClaw/blob/main/README.md
```
## 手动安装
### 1. 下载插件
```bash
mkdir -p ~/.openclaw/extensions
cd ~/.openclaw/extensions
git clone https://github.com/duxiaoxiong/memu-engine-for-OpenClaw.git memu-engine
```
### 2. 配置 OpenClaw
编辑 `~/.openclaw/openclaw.json`,在 `plugins` 节点下配置本插件。
### 3. 重启并激活
```bash
openclaw gateway restart
```
重启后,只需对 Agent 说句 "调用 `memory_search`",后台同步服务就会自动启动并开始首次全量同步。
## 配置详解
以下是完整配置示例及参数说明。建议按此结构顺序进行配置:
```json
{
"plugins": {
"slots": { "memory": "memu-engine" },
"entries": {
"memu-engine": {
"enabled": true,
"config": {
// 1. 向量嵌入模型 (用于搜索)
"embedding": {
"provider": "openai",
"baseUrl": "https://api.openai.com/v1",
"apiKey": "sk-...",
"model": "text-embedding-3-small"
},
// 2. 记忆提取模型 (用于生成摘要)
"extraction": {
"provider": "openai",
"baseUrl": "https://api.openai.com/v1",
"apiKey": "sk-...",
"model": "gpt-4o-mini"
},
// 3. 输出语言
"language": "zh",
// 4. 文档录入配置
"ingest": {
"includeDefaultPaths": true,
"extraPaths": [
"/home/you/project/docs",
"/home/you/project/README.md"
]
}
}
}
}
}
}
```
### 1. `embedding` (向量模型)
配置用于生成文本向量的模型,直接决定搜索的准确性。
* **推荐**:`text-embedding-3-small` (OpenAI) 或 `bge-m3` (本地/SiliconFlow)。
* 支持所有 OpenAI 兼容接口。
### 2. `extraction` (提取模型)
配置用于阅读对话日志并提取记忆条目的 LLM。
* **推荐**:由于需要处理大量分片数据,建议使用**快速且廉价**的模型,如 `gpt-4o-mini` 或 `gemini-1.5-flash`。
* **注意**:此模型主要负责分类和总结,速度比推理能力更重要。
### 3. `language` (输出语言)
指定记忆摘要的生成语言。
* **选项**:`zh` (中文), `en` (英文), `ja` (日文)。
* **建议**:设置为与你日常对话相同的语言,有助于提高记忆识别率。
### 4. `ingest` (文档录入)
配置除会话日志外,还需要录入哪些 Markdown 文档。
* **`includeDefaultPaths`** (bool): 是否包含默认工作区文档(`workspace/*.md` 和 `memory/*.md`)。默认为 `true`。
* **`extraPaths`** (list): 额外的文档来源列表。
* 支持文件路径(必须是 `.md`)。
* 支持目录路径(递归扫描目录下的所有 `*.md` 文件)。
* **限制**:目前仅限制 Markdown 格式。
---
## 本地模型支持
如果你的本地推理服务(vLLM, Ollama, LM Studio 等)暴露了 OpenAI 兼容的 `/v1` 接口:
* `provider`: `openai`
* `baseUrl`: `http://127.0.0.1:PORT/v1`
* `apiKey`: `your-api-key` (不能为空)
* `model`: `<本地模型名称>`
---
## 本插件的会话处理逻辑
> 本节介绍插件内部如何确保记忆的时序一致性,仅供参考。
为了确保记忆摘要始终反映最新内容,插件采用分阶段处理策略:
1. **历史优先**:优先处理 `.deleted` 文件(已轮转的历史会话),按 session 创建时间正序处理。
2. **活跃跟进**:随后处理活跃的 `.jsonl` 文件,同样按时间正序。
3. **增量更新**:利用 `offset` 和 `hash` 检测文件变化,只读取新增消息,避免重复消耗 Token。
4. **智能过滤**:默认仅同步主会话(UUID),自动忽略子任务会话(除非设置 `MEMU_SYNC_SUB_SESSIONS=true`)。
同步状态保存在 `~/.openclaw/workspace/memU/data/conversations/state.json`。
## 许可证
Apache License 2.0
tools
Comments
Sign in to leave a comment