← Back to Plugins
Tools

Memory Agentmemo

yxjsxy By yxjsxy 👁 47 views ▲ 0 votes

OpenClaw AgentMemo external memory plugin for ClawHub

GitHub

Configuration Example

{
  "plugins": {
    "memory-agentmemo": {}
  }
}

README

# @openclaw/memory-agentmemo

OpenClaw memory plugin that connects to an external [AgentMemo](https://github.com/yxjsxy/agentMemo) HTTP service for semantic memory search, auto-recall, and auto-capture.

## Why AgentMemo?

Unlike the built-in memory system (which embeds local Markdown files), AgentMemo provides:

- **Hybrid semantic search** — dense + sparse + temporal decay
- **Version history** — every memory write is recorded with full provenance
- **Multi-agent namespaces** — isolate memories by user, agent, or project
- **REST API** — self-hostable, language-agnostic
- **Persistence across node restarts** without re-embedding

## Installation

```bash
openclaw install @openclaw/memory-agentmemo
```

## Setup

### 1. Start AgentMemo server

Follow the [AgentMemo README](https://github.com/yxjsxy/agentMemo) to start the HTTP service:

```bash
# Example (defaults to port 8790)
cd agentMemo
python -m agentmemo.server
```

### 2. Configure the plugin in `openclaw.json`

**Minimal (local server, no auth):**

```json
{
  "plugins": {
    "memory-agentmemo": {}
  }
}
```

**Full configuration:**

```json
{
  "plugins": {
    "memory-agentmemo": {
      "serverUrl": "http://localhost:8790",
      "apiKey": "${AGENTMEMO_API_KEY}",
      "userId": "karl",
      "autoRecall": true,
      "autoCapture": false
    }
  }
}
```

**Remote server:**

```json
{
  "plugins": {
    "memory-agentmemo": {
      "serverUrl": "https://memo.yourdomain.com",
      "apiKey": "${AGENTMEMO_API_KEY}",
      "userId": "myagent",
      "autoRecall": true,
      "autoCapture": true
    }
  }
}
```

## Configuration Reference

| Field        | Type    | Required | Default                   | Description                                          |
|--------------|---------|----------|---------------------------|------------------------------------------------------|
| `serverUrl`  | string  | No       | `http://localhost:8790`   | Base URL of AgentMemo HTTP service                   |
| `apiKey`     | string  | No       | —                         | Bearer token for authenticated instances. Supports `${ENV_VAR}` |
| `userId`     | string  | No       | —                         | User/namespace ID for scoping memories               |
| `autoRecall` | boolean | No       | `true`                    | Inject relevant memories before agent starts         |
| `autoCapture`| boolean | No       | `false`                   | Auto-store important user messages after conversation |

## API Endpoints Used

| Feature       | Endpoint              | Method |
|---------------|-----------------------|--------|
| Semantic search | `POST /memories/search` | POST |
| Add memory    | `POST /memories/`     | POST   |
| Health probe  | `GET /health`         | GET    |

## How It Works

### Auto-Recall
Before each agent turn, the plugin searches AgentMemo for memories relevant to the user's prompt and injects them into the system context as `<relevant-memories>` block.

### Auto-Capture
After each conversation turn, if `autoCapture: true`, the plugin analyzes user messages for memorable content (preferences, facts, decisions) and stores them to AgentMemo automatically.

## Background

This plugin was refactored from a core PR ([openclaw/openclaw#54712](https://github.com/openclaw/openclaw/pull/54712)) into a standalone ClawHub external plugin, following OpenClaw's recommended extension architecture.

## License

MIT
tools

Comments

Sign in to leave a comment

Loading comments...