Back to home@agentscope-ai

ReMe

ReMe: Memory Management Kit for Agents - Remember Me, Refine Me.

Stars
3.3k
Language
Python
Created
Aug 29, 2024
Updated
Aug 24, 2026

Introduction

ReMe Logo

Python Version PyPI Version PyPI Downloads GitHub commit activity License Documentation English 简体中文 GitHub Stars DeepWiki

agentscope-ai%2FReMe | Trendshift

A local-first, self-evolving personal knowledge base for AI agents.

Previous versions: 0.3.x · 0.2.x · MemoryScope

🧠 ReMe turns conversations and resources into readable, editable, searchable, and interconnected Markdown memory. It works alongside agents such as QwenPaw, OpenClaw, Hermes, and Claude Code, continuously organizing what they learn while keeping the files under the user's control.

✨ Core Ideas

  • Memory as File, File as Memory: Markdown files with frontmatter and wikilinks serve as memory nodes that both users and agents can inspect, edit, move, and back up directly.
  • Self-evolving knowledge base: Auto Memory, Auto Resource, and Auto Dream progressively transform conversations and resources into daily notes and long-term knowledge, while Auto Link writes relationships and sources back into the files.
  • Progressive hybrid search: ReMe combines wikilinks, BM25, and embeddings for hybrid retrieval across keyword matching, optional semantic recall, and relationship expansion without loading every neighboring file into context.
  • Agent-friendly integration: SKILL.md + CLI integration makes it easy for different agents to read, write, maintain, and reuse the same local workspace. HTTP, MCP, and Python integrations are also available.

ReMe Design Philosophy

🔭 Use Cases

  • Personal assistants: Give personal assistants such as QwenPaw, OpenClaw, and Hermes a user-editable long-term memory layer.
  • Coding agents: Preserve coding style, project background, repository decisions, and workflow experience across sessions when integrating with coding agents such as Claude Code.
  • LLM Wiki: Turn conversations, notes, and resources into a searchable, traceable, and linked Markdown knowledge base that both users and agents can maintain.
  • Self-evolving agents: Support agents that learn from experience by saving successful paths, failed attempts, reusable procedures, and periodic reflections as memory.

📰 News

🚀 Quick Start

Installation

ReMe requires Python 3.11+.

Install from pip:

pip install "reme-ai[core]"

Install from source:

git clone https://github.com/agentscope-ai/ReMe.git
cd ReMe
pip install -e packages/reme_ai_studio -e ".[core]"
cd website
npm ci
npm run build:static
cd ..

The static build requires Node.js 22.13 or newer and makes Studio available from the source tree.

DeepSeek Harness Integration

With the ReMe service running, install the npm package into the DeepSeek Harness Web profile:

dsh plugin --profile web add @agentscope-ai/reme

The plugin recalls relevant ReMe memory before agent steps and submits completed main-agent turns for automatic memory capture. See the TypeScript integration guide for configuration.

Environment Variables

Configure environment variables when you want LLM-powered memory evolution or embedding retrieval. Embeddings are disabled by default, so the default setup does not start an embedding model or require an embedding API key.

cat > .env <<'EOF'
# Optional: used only after embedding components are explicitly enabled in the config.
# EMBEDDING_API_KEY=sk-xxx
# EMBEDDING_BASE_URL=https://dashscope.aliyuncs.com/compatible-mode/v1

# Required for auto_memory, auto_resource, and auto_dream.
LLM_API_KEY=sk-xxx
LLM_BASE_URL=https://dashscope.aliyuncs.com/compatible-mode/v1
EOF

Basic file operations, BM25 search, wikilink traversal, and reading proactive topics can run without LLM credentials.

[!NOTE] To enable embedding-based semantic retrieval, uncomment components.as_embedding and components.embedding_store in reme/config/default.yaml, then change components.file_store.default.embedding_store from "" to default. See the memory search guide for details.

Start the Service

reme start

The default service address is 127.0.0.1:2333. If the port is occupied, specify another port:

reme start service.port=8181
# reme start workspace_dir=/tmp/reme-demo service.port=8181
reme version
reme health_check
reme help
curl -s http://127.0.0.1:2333/version -H 'Content-Type: application/json' -d '{}'

ReMe Studio (Optional)

The core installation above includes Studio. After starting ReMe, open http://127.0.0.1:2333/ to browse, edit, and search the workspace. To add Studio to a base installation, use pip install "reme-ai[web]". See the ReMe Studio guide for source builds, configuration, and development.

5-Minute Memory Demo

With the service running, write a memory node, let ReMe index it, then retrieve it:

reme write \
  path=digest/wiki/quick-start-demo \
  name="Quick Start Demo" \
  description="A first ReMe memory node" \
  content="# Quick Start Demo

ReMe stores agent memory as readable Markdown.

Related: [[digest/wiki/memory-as-file.md]]"

reme search query="agent memory markdown" limit=5
reme read path=digest/wiki/quick-start-demo start_line=1 end_line=20

The generated file is ordinary Markdown with frontmatter:

---
name: Quick Start Demo
description: A first ReMe memory node
---

# Quick Start Demo

ReMe stores agent memory as readable Markdown.

Related: [[digest/wiki/memory-as-file.md]]

📚 Usage Guides

These Markdown guides cover the main user workflows and the runtime contracts implemented by the current code.

GuideWhat you will learn
Quick StartInstall ReMe, start the service, and run the first file and memory operations.
Plugin ManagementInstall, inspect, validate, enable, and uninstall local ReMe plugins.
Memory as FileUnderstand workspace layers, frontmatter, wikilinks, chunks, and the file-as-source-of-truth model.
Auto MemoryPreserve source conversations and distill reusable daily memory cards.
Auto ResourceImport supported text resources and turn them into source-linked daily cards.
Auto Dream and Auto LinkConsolidate daily notes into evolving digest nodes and readable wikilink relationships.
Memory SearchUse BM25, optional vectors, RRF fusion, line-range recall, and progressive link expansion.
ProactiveRead interest topics safely and integrate them into a host agent's decision flow.
Agent Integration ScenariosChoose among CLI/SKILL.md, HTTP, MCP, and embedded Python integration.
FrameworkUnderstand Application, Job, Step, Component, service, configuration, and lifecycle boundaries.
ReMe BlogRead the product story, design rationale, examples, and benchmark summary.

🔌 Plugins

Plugins are optional Python distributions that contribute Component, Step, or Job backends and configuration. They are installed separately and enabled explicitly by configuration. Auto Fin is the complete external-plugin example; Daily Paper remains an optional research workflow while it is migrated to the same packaging model.

Plugin / workflowCapability
Daily PaperDiscover and rank papers, analyze PDFs with an agent, and generate file-native notes and a five-minute brief.
Auto FinFetch topic-related CLS news, search ReMe history, and generate wikilink-backed Markdown reports.

📁 Memory System

Memory as File, File as Memory.

ReMe treats memory as files, progressively processing filtered conversation source records and external resources from session/ and resource/ into daily/, then digest/. The default workspace is .reme/ under the current directory; workspace_dir=... selects a different user-owned location.

Directory Structure

<workspace_dir>/
├── metadata/       # Rebuildable indexes, graphs, catalogs, and caches
├── session/        # Conversation source records and agent sessions
│   ├── dialog/
│   │   └── <session_id>.jsonl  # Source messages saved by auto_memory
│   └── claude_code/
│       └── <session_id>.jsonl  # ReMe copy used by auto_memory_cc
├── mem_session/    # Generated agent-wrapper sessions/config, not user memory
│   ├── agentscope/
│   ├── claude_config/
│   └── codex/
├── resource/            # External raw materials
│   ├── <resource>.<ext>  # Root-level files enter today's daily layer
│   └── YYYY-MM-DD/
│       └── <resource>.<ext>
├── daily/               # Lightly processed memory: daily facts, conversation summaries, resource readings
│   ├── YYYY-MM-DD.md
│   └── YYYY-MM-DD/
│       ├── <generated_name>.md  # Topic-named conversation or resource card
│       └── interests.yaml
└── digest/              # Long-term memory: personal facts, procedural experience, knowledge nodes
    ├── personal/
    │   └── {topic/event}.md
    ├── procedure/
    │   └── {topic/event}.md
    └── wiki/
        └── {topic/event}.md

ReMe file-based memory system overview

🧭 Memory Design Philosophy

ReMe follows a capture → index → consolidate → recall loop. Workspace files remain the durable source of truth; everything under metadata/ is rebuildable.

CapabilityEntry pointWhat it doesOutput
auto_memoryAgent hook or reme auto_memoryDistills useful conversation facts while preserving a filtered conversation source record.session/dialog/*.jsonl, daily/<date>/<generated-name>.md
auto_resourceResource watcher or reme auto_resourceTurns files under resource/ into source-linked, content-named daily cards.daily/<date>/<resource-card>.md
auto_indexBackground watcher or reme reindexLive-indexes Markdown in daily/ and digest/; a full rebuild also scans resource/ and JSONL.Searchable chunks, BM25, wikilink graph, and optional vectors
auto_dreamdream_cron or reme auto_dreamBy default, extracts up to five reusable units from changed files in the latest two-day window, then creates, corroborates, refines, or corrects digest nodes.digest/**, daily/<date>/interests.yaml
proactivereme proactive before an agent decides to actReads topics generated by auto_dream; the host agent decides whether and how to mention them.Structured topics from daily/<date>/interests.yaml
Memory as File Auto Memory and Resource
Auto Dream and Proactive Auto Index and Memory Search

Search returns matching chunks with line ranges and bounded wikilink neighbors. Optional vector results are fused with BM25 through reciprocal rank fusion (RRF).

[!IMPORTANT] proactive only reads and exposes interest topics produced by Auto Dream. It does not independently browse the web, send notifications, or rewrite the knowledge base; the host agent decides whether and how to act on a topic.

📊 Performance

ReMe evaluates multi-session and long-context memory with agentic search-and-read workflows. The figures below are the published reference runs in this repository; model, prompt, dataset, and judging details are documented with each benchmark.

BenchmarkSettingSample sizeAgentic scoreFocus
LongMemEval cleaned-sOverall500 questions89.4%Cross-session retrieval, knowledge updates, and temporal reasoning
BEAM100K context20 cases / 400 questions66.1%Ten types of long-context memory tasks
BEAM1M context35 cases / 700 questions65.0%Ultra-long conversation settings

ReMe also achieved a 0.580 PROC score across five user personas in the repository's π-Bench evaluation, 2.4% above NanoBot under the same test-model configuration. PROC measures proactive handling of hidden intent, clarification, cross-session preferences and conventions, task dependencies, and underspecified requests.

🤝 Agent-friendly Integration

ReMe can run as a local memory service accessed through the CLI, HTTP API, or MCP server, or it can be embedded in the host process through its Python API.

AgentsRecommended pathAvailable after integration
QwenPawEmbed ReMe in-process through its Python API.Reuse the host application's lifecycle and model config while keeping memory local and file-based.
Claude CodeStart the streamable HTTP MCP service and install integrations/claude_code/reme.MCP recall tools, a reme-memory skill, and a Stop hook that records sessions automatically.
HermesStart the HTTP service and install integrations/hermes_agent.Recall relevant memory before model calls and enqueue auto_memory after each completed turn.
Other CLI-capable agents (OpenClaw/Codex)Copy or install skills/reme_memory/SKILL.md.Search, read, and write memory via the CLI; automatic recording requires explicit host lifecycle hooks.

Integration demos

Auto MemoryAuto Dream
QwenPaw QwenPaw Auto Memory demo QwenPaw Auto Dream demo
Claude Code Claude Code Auto Memory demo Claude Code Auto Dream demo

🛠️ ReMe Operations

Run reme help for the full job list. Common workspace and maintenance commands are:

CommandPurpose
reme statusShow stateful data-component memory estimates and process RSS.
reme searchRetrieve memory with BM25 and wikilinks by default, plus vectors when enabled.
reme read / reme write / reme editInspect and maintain Markdown memory files.
reme traverse / reme graph_snapshotExplore wikilink neighborhoods or the category-rooted digest graph.
reme chatStream a read-only, workspace-aware agent conversation. Requires LLM credentials.
reme reindexRebuild search and wikilink indexes from existing files.

🤝 Community and Support

  • Issues, requests, and help: Check Open Issues first. If there is no related discussion, open one with the background, expected behavior, and impact scope.
  • Code contributions: Before making changes, read the contribution guide. Source, schemas, and tests are the authoritative architecture and extension guide.
  • Documentation contributions: Submit user-facing documentation changes to the unified documentation repository under reme/<version>/{en,zh}/.
  • Commit convention: Conventional Commits are recommended, for example feat(search): add link expansion option or docs(zh): update quick start.
  • Pre-submit checks: Before submitting a PR, try to run pre-commit run --all-files and pytest. If tests that depend on LLMs, embeddings, or external services cannot run, explain that in the PR.
  • Documentation: Visit reme.agentscope.io.

Contributors

Thanks to everyone who has contributed to ReMe:

Contributors

📄 Citation

@software{ReMe2026,
  title = {Remember me, Refine me: Memory Management Kit for Agents},
  author = {ReMe Team},
  url = {https://reme.agentscope.io},
  year = {2026}
}

⚖️ License

This project is open source under the Apache License 2.0. See LICENSE for details.