diff --git a/README.md b/README.md index bc9fe19a..3c205955 100644 --- a/README.md +++ b/README.md @@ -22,21 +22,18 @@ A memory management toolkit for AI agents — Remember Me, Refine Me.

-> 历史版本 [0.3.x](https://github.com/agentscope-ai/ReMe/tree/v0.3.1.10) -> [0.2.x](https://github.com/agentscope-ai/ReMe/tree/v0.2.0.6) +> 历史版本:[0.3.x](https://github.com/agentscope-ai/ReMe/tree/v0.3.1.10) · +> [0.2.x](https://github.com/agentscope-ai/ReMe/tree/v0.2.0.6) · > [MemoryScope](https://github.com/agentscope-ai/ReMe/tree/memoryscope_branch) ---- +# 🧠 ReMe -🧠 ReMe 是一个专为 **AI 智能体** 打造的记忆管理工具,以 **Memory as File** 为核心,将对话、资料和长期知识沉淀为可读、可编辑、可检索的文件化记忆。 +ReMe 是一个专为 **AI 智能体** 打造的记忆管理工具,以 **Memory as File** 为核心,将对话、资料和长期知识沉淀为可读、可编辑、可检索的文件化记忆。 ReMe 让智能体拥有可持续维护的记忆库:历史对话可归档,外部资料可索引,重要信息可沉淀为长期记忆,并通过关键词、语义检索和 wikilink 图谱重新找到。 -
-你可以用 ReMe 做什么 - -
+## ✨ 适用场景 - **个人助理**:为 [QwenPaw](https://github.com/agentscope-ai/QwenPaw) 等智能体提供长期记忆,记住用户偏好和历史对话。 - **编程助手**:记录代码风格偏好、项目上下文,跨会话保持一致的开发体验。 @@ -44,15 +41,13 @@ wikilink 图谱重新找到。 - **任务自动化**:从历史任务中学习成功/失败模式,持续优化执行策略。 - **知识问答**:构建可检索的知识库,支持语义搜索和精确匹配。 -
- ---- - -## 📁 基于文件的记忆系统 +## 📁 记忆系统 > Memory as files, files as memory. -将**记忆视为文件**:原始对话和外部资料先进入输入层,再加工成 daily note,最后沉淀为可长期复用的 digest 记忆。 +ReMe 将**记忆视为文件**:原始对话和外部资料先进入输入层,再加工成 daily note,最后沉淀为可长期复用的 digest 记忆。 + +### 记忆分层 | 层级 | 目录 | 内容 | |------|-----------------------------|-------------------------| @@ -60,6 +55,8 @@ wikilink 图谱重新找到。 | 浅加工 | `daily/` | 当天事实、对话摘要、资源解读、兴趣主题 | | 深加工 | `digest/` | 用户画像、长期事实、流程经验、知识节点 | +### Vault 目录结构 + ```text / ├── reme_metadata/ # 系统索引、图谱、catalog 等持久状态 @@ -85,11 +82,9 @@ wikilink 图谱重新找到。 ![ReMe overview](docs/figure/reme-overview.svg) ---- +## 🚀 快速开始 -### 🚀 快速开始 - -#### 安装 +### 安装 ReMe 要求 Python 3.11+。 @@ -109,7 +104,7 @@ pip install -e ".[core]" `core` extra 建议安装:当前代码会导入 AgentScope wrapper,自进化记忆也依赖它。 -#### 环境变量 +### 环境变量 配置环境变量: @@ -122,7 +117,7 @@ LLM_BASE_URL=https://dashscope.aliyuncs.com/compatible-mode/v1 EOF ``` -#### 启动 +### 启动服务 ```bash reme start @@ -140,7 +135,9 @@ reme version curl -s http://127.0.0.1:23333/version -H 'Content-Type: application/json' -d '{}' ``` -#### 接入方式 +更多细节见 [快速开始](docs/zh/quick_start.md)。 + +## 🔌 接入 ReMe ReMe 不绑定具体 Agent 框架,启动服务后可以按三种方式接入: @@ -152,47 +149,75 @@ ReMe 不绑定具体 Agent 框架,启动服务后可以按三种方式接入 QwenPaw 2.0 将会集成新版 ReMe;未来也会推出 Claude Code plugin,降低手动接入成本。 -更多细节见 [快速开始](docs/zh/quick_start.md)。 +## 🧰 核心能力 ---- +ReMe 的能力按运行方式分为 background、cron、hook 和 cli 四类:后台任务负责索引和监听,定时任务负责长期记忆沉淀,hook 用于接入 +Agent 生命周期,cli 用于直接操作 vault。 -## 核心能力 +### 后台与定时任务 -| 类型 | name | 描述 | 参数 | -|------------|---------------------------------------------|---------------------------------------------------------------------------|--------------------------------------------------------| -| background | `index_update_loop` | 后台监听 `daily/`、`digest/`、`resource/` 中的 Markdown/JSONL 变化,并持续更新检索索引。 | 配置项:`watch_dirs`、`watch_suffixes` | -| background | `resource_watch_loop` | 后台监听 `resource/` 资料变化,更新 resource catalog,并触发资源解读。 | 配置项:`watch_dirs`、`watch_suffixes` | -| background | `digest_watch_loop` | 后台监听 `daily/` 与 `digest/` 的 Markdown 变化,更新 digest catalog 并记录变化。 | 配置项:`watch_dirs`、`watch_suffixes` | -| cron | `dream_cron` | 每天 23:00 定时执行 dream 流程:抽取长期记忆、整合 digest、生成兴趣主题并持久化 catalog。 | 配置项:`cron` | -| hook | [`auto_dream`](docs/zh/auto_dream.md) | 扫描当天 day-index 与 daily notes,抽取并整合长期记忆单元,写入 `interests.yaml`。 | `date`、`hint`、`topic_count`、`topic_diversity_days` | -| hook | [`auto_memory`](docs/zh/auto_memory.md) | 将对话消息记录并整理为 daily 记忆卡片。 | 必填:`messages`;可选:`session_id`、`memory_hint` | -| hook | [`auto_resource`](docs/zh/auto_resource.md) | 将 resource 文件变更批次解读为 daily 资源卡片。 | 必填:`changes`;每项可含 `path`、`file_path`、`change` | -| hook | [`proactive`](docs/zh/proactive.md) | 读取 `daily//interests.yaml`,向上层 Agent 暴露最新用户兴趣主题。 | `date`、`include_content` | -| cli | `version` | 返回 ReMe 包版本。 | 无 | -| cli | `health_check` | 返回 ReMe 组件健康检查摘要。 | 无 | -| cli | `help` | 列出已注册 jobs 及其 metadata。 | 无 | -| cli | `traverse` | 从指定路径出发遍历 wikilink 图谱。 | 必填:`path`;可选:`depth`、`direction` | -| cli | `reindex` | 清空 file store,并基于现有文件重建索引。 | 配置项:`watch_dirs`、`watch_suffixes` | -| cli | [`search`](docs/zh/memory_search.md) | 在 vault 中执行混合检索,结合向量召回、BM25 和 RRF 融合。 | 必填:`query`;可选:`limit`、`min_score` | -| cli | `node_search` | 根据候选抽象的名称与描述,召回相似 digest 节点用于去重或关联。 | 必填:`query`;可选:`limit` | -| cli | `daily_create` | 创建 daily session note:`daily//.md` 或 `daily/.md`。 | `session_id`、`date` | -| cli | `daily_list` | 列出某一天的 notes。 | `date` | -| cli | `daily_reindex` | 重建 day-index 页面 `daily/.md`。 | `date` | -| cli | `frontmatter_delete` | 删除文件 frontmatter 中的指定 keys。 | 必填:`path`、`keys` | -| cli | `frontmatter_read` | 读取文件 frontmatter。 | 必填:`path` | -| cli | `frontmatter_update` | 合并 key-values 到文件 frontmatter。 | 必填:`path`、`metadata` | -| cli | `stat` | 获取 vault 路径状态,包括大小、mtime、是否存在、是否目录或文件。 | 必填:`path` | -| cli | `list` | 列出 vault 路径下的文件。 | `path`、`recursive`、`limit` | -| cli | `move` | 移动或重命名 vault 文件,并默认重写入站 wikilink。 | 必填:`src_path`、`dst_path`;可选:`overwrite`、`retarget` | -| cli | `delete` | 删除 vault 文件或文件夹,并返回仍存在的入站 wikilink。 | 必填:`path` | -| cli | `read` | 读取 vault 下的 Markdown 文件。 | 必填:`path`;可选:`start_line`、`end_line` | -| cli | `read_image` | 读取 vault 下的图片文件并返回 base64。 | 必填:`path` | -| cli | `write` | 创建或覆盖 Markdown 文件,并写入 name/description frontmatter。 | 必填:`path`、`name`、`description`、`content`;可选:`metadata` | -| cli | `edit` | 对 Markdown 文件执行全文 find-and-replace。 | 必填:`path`、`old`、`new` | +| 类型 | name | 描述 | 参数 | +|------------|-----------------------|---------------------------------------------------------------------|-----------------------------------| +| background | `index_update_loop` | 后台监听 `daily/`、`digest/`、`resource/` 中的 Markdown/JSONL 变化,并持续更新检索索引。 | 配置项:`watch_dirs`、`watch_suffixes` | +| background | `resource_watch_loop` | 后台监听 `resource/` 资料变化,更新 resource catalog,并触发资源解读。 | 配置项:`watch_dirs`、`watch_suffixes` | +| background | `digest_watch_loop` | 后台监听 `daily/` 与 `digest/` 的 Markdown 变化,更新 digest catalog 并记录变化。 | 配置项:`watch_dirs`、`watch_suffixes` | +| cron | `dream_cron` | 每天 23:00 定时执行 dream 流程:抽取长期记忆、整合 digest、生成兴趣主题并持久化 catalog。 | 配置项:`cron` | ---- +### Agent Hook -## ⭐ 社区与支持 +| 类型 | name | 描述 | 参数 | +|------|---------------------------------------------|---------------------------------------------------------------|----------------------------------------------------| +| hook | [`auto_memory`](docs/zh/auto_memory.md) | 将对话消息记录并整理为 daily 记忆卡片。 | 必填:`messages`;可选:`session_id`、`memory_hint` | +| hook | [`auto_resource`](docs/zh/auto_resource.md) | 将 resource 文件变更批次解读为 daily 资源卡片。 | 必填:`changes`;每项可含 `path`、`file_path`、`change` | +| hook | [`auto_dream`](docs/zh/auto_dream.md) | 扫描当天 day-index 与 daily notes,抽取并整合长期记忆单元,写入 `interests.yaml`。 | `date`、`hint`、`topic_count`、`topic_diversity_days` | +| hook | [`proactive`](docs/zh/proactive.md) | 读取 `daily//interests.yaml`,向上层 Agent 暴露最新用户兴趣主题。 | `date`、`include_content` | + + + + + + + + + + +
+ Memory as File + + Auto Memory and Resource +
+ Auto Dream + + Memory Search +
+ +### CLI 工具 + +| 类型 | name | 描述 | 参数 | +|-----|--------------------------------------|---------------------------------------------------------------------------|--------------------------------------------------------| +| cli | `version` | 返回 ReMe 包版本。 | 无 | +| cli | `health_check` | 返回 ReMe 组件健康检查摘要。 | 无 | +| cli | `help` | 列出已注册 jobs 及其 metadata。 | 无 | +| cli | [`search`](docs/zh/memory_search.md) | 在 vault 中执行混合检索,结合向量召回、BM25 和 RRF 融合。 | 必填:`query`;可选:`limit`、`min_score` | +| cli | `node_search` | 根据候选抽象的名称与描述,召回相似 digest 节点用于去重或关联。 | 必填:`query`;可选:`limit` | +| cli | `traverse` | 从指定路径出发遍历 wikilink 图谱。 | 必填:`path`;可选:`depth`、`direction` | +| cli | `reindex` | 清空 file store,并基于现有文件重建索引。 | 配置项:`watch_dirs`、`watch_suffixes` | +| cli | `daily_create` | 创建 daily session note:`daily//.md` 或 `daily/.md`。 | `session_id`、`date` | +| cli | `daily_list` | 列出某一天的 notes。 | `date` | +| cli | `daily_reindex` | 重建 day-index 页面 `daily/.md`。 | `date` | +| cli | `frontmatter_read` | 读取文件 frontmatter。 | 必填:`path` | +| cli | `frontmatter_update` | 合并 key-values 到文件 frontmatter。 | 必填:`path`、`metadata` | +| cli | `frontmatter_delete` | 删除文件 frontmatter 中的指定 keys。 | 必填:`path`、`keys` | +| cli | `stat` | 获取 vault 路径状态,包括大小、mtime、是否存在、是否目录或文件。 | 必填:`path` | +| cli | `list` | 列出 vault 路径下的文件。 | `path`、`recursive`、`limit` | +| cli | `read` | 读取 vault 下的 Markdown 文件。 | 必填:`path`;可选:`start_line`、`end_line` | +| cli | `read_image` | 读取 vault 下的图片文件并返回 base64。 | 必填:`path` | +| cli | `write` | 创建或覆盖 Markdown 文件,并写入 name/description frontmatter。 | 必填:`path`、`name`、`description`、`content`;可选:`metadata` | +| cli | `edit` | 对 Markdown 文件执行全文 find-and-replace。 | 必填:`path`、`old`、`new` | +| cli | `move` | 移动或重命名 vault 文件,并默认重写入站 wikilink。 | 必填:`src_path`、`dst_path`;可选:`overwrite`、`retarget` | +| cli | `delete` | 删除 vault 文件或文件夹,并返回仍存在的入站 wikilink。 | 必填:`path` | + +## 🤝 社区与支持 - **问题反馈与需求**:请先查看 [Open Issues](https://github.com/agentscope-ai/ReMe/issues);如无相关讨论,可新建 Issue 说明背景、目标行为和影响范围。 @@ -214,8 +239,6 @@ QwenPaw 2.0 将会集成新版 ReMe;未来也会推出 Claude Code plugin, 贡献者 ---- - ## 📄 引用 ```bibtex @@ -227,14 +250,10 @@ QwenPaw 2.0 将会集成新版 ReMe;未来也会推出 Claude Code plugin, } ``` ---- - ## ⚖️ 许可证 本项目基于 Apache License 2.0 开源,详情参见 [LICENSE](./LICENSE) 文件。 ---- - ## 📈 Star 历史 [![Star History Chart](https://api.star-history.com/svg?repos=agentscope-ai/ReMe&type=Date)](https://www.star-history.com/#agentscope-ai/ReMe&Date)