Tools
Memory Mimir
OpenClaw plugin for Mimir unified memory system
Install
npm install
npm
Configuration Example
{
"mimirUrl": "http://localhost:8766",
"userId": "your-user-id",
"groupId": "your-group-id",
"autoRecall": true,
"autoCapture": true,
"maxRecallItems": 8,
"maxRecallTokens": 2000
}
README
# memory-mimir
OpenClaw plugin that connects to [Mimir](https://github.com/TripleWhite/Mimir-Go) โ a unified long-term memory engine. Gives your OpenClaw agent persistent, searchable memory across sessions.
## How It Works
```
User message โ auto-recall (search Mimir) โ inject <memories> โ Agent runs โ auto-capture (ingest new messages)
```
**Auto-recall**: Before each agent turn, extracts keywords from the user message (supports English + CJK), searches Mimir with agentic retrieval, and injects the most relevant memories into the LLM context.
**Auto-capture**: After each agent turn, incrementally captures new conversation messages and sends them to Mimir for extraction (episodes, entities, relations, events).
## Features
- Agentic search with query classification and strategy routing
- CJK (Chinese/Japanese/Korean) keyword extraction
- Time range extraction from natural language ("last week", "ๆจๅคฉ")
- Score-ordered compact memory formatting (2000 char budget)
- Incremental capture โ no duplicate ingestion across agent turns
- Two tool definitions: `mimir_search` and `mimir_ingest` for manual use
## Setup
### Prerequisites
A running [Mimir](https://github.com/TripleWhite/Mimir-Go) server.
### Install
```bash
npm install
npm run build
```
### Configure
In your OpenClaw plugin config:
```json
{
"mimirUrl": "http://localhost:8766",
"userId": "your-user-id",
"groupId": "your-group-id",
"autoRecall": true,
"autoCapture": true,
"maxRecallItems": 8,
"maxRecallTokens": 2000
}
```
| Option | Type | Default | Description |
|--------|------|---------|-------------|
| `mimirUrl` | string | โ | Mimir server URL |
| `userId` | string | โ | User ID for memory isolation |
| `groupId` | string | โ | Group ID for memory scoping |
| `autoRecall` | boolean | `true` | Inject memories before each turn |
| `autoCapture` | boolean | `true` | Capture conversations after each turn |
| `maxRecallItems` | number | `8` | Max memory items per recall |
| `maxRecallTokens` | number | `2000` | Max chars for memory context |
## Architecture
```
memory-mimir (this plugin) Mimir-Go (engine)
โโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโ
โ extractKeywords() โ โ Agentic Search โ
โ extractTimeRange() โโโsearchโโโ โ โโ Query Analyzer โ
โ formatResults() โโโresultsโโ โ โโ BM25 + Vector โ
โ โ โ โโ Graph Traverse โ
โ auto-capture โโโingestโโโ โ Pipeline โ
โ (incremental) โ โ โโ Narrative Extract โ
โ โ โ โโ Graph Extract โ
โโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโ
```
## Development
```bash
# Run tests
npm test
# Build
npm run build
```
## License
MIT
tools
Comments
Sign in to leave a comment