Skip to main content
Integrate OpenViking as the long-term memory backend for OpenClaw. The plugin enables automatic memory capture from conversations and intelligent recall when relevant.

Performance Benchmarks

Tested on LoCoMo10 dataset (1,540 long-range dialogue cases):
Result: 49% improvement over baseline with 83% token reduction compared to native memory.

Prerequisites

  • Python 3.10+
  • Node.js 22+
  • cmake and g++ (for compiling C++ extensions)
  • OpenClaw installed globally: npm install -g openclaw
  • OpenViking installed: pip install openviking --upgrade --force-reinstall

Quick Start

One-Click Install (Linux/macOS)

The script validates your environment, installs dependencies, and configures the plugin automatically.

Manual Setup

1

Install OpenClaw

2

Install OpenViking

3

Run Setup Helper

From the OpenViking repository:
The helper will:
  • Create ~/.openviking/ov.conf with your API keys
  • Deploy the plugin to ~/.openclaw/extensions/memory-openviking
  • Configure OpenClaw to use the plugin
  • Generate environment file ~/.openclaw/openviking.env
4

Start OpenClaw

Linux/macOS:
Windows (cmd):

Configuration

Server Config (~/.openviking/ov.conf)

The workspace path must be absolute (e.g., /home/yourname/.openviking/data). Tilde (~) is not supported.

Plugin Configuration

The plugin operates in two modes:

Memory Behavior

Usage

Once configured, memory works automatically:

Storing Memories

Then in chat:
Memories are automatically extracted from conversations when:
  • User provides factual information
  • Preferences or settings are mentioned
  • Important decisions are discussed

Recalling Memories

In a later session:
The plugin automatically injects relevant memories into the context before the agent responds.

Manual Tools

OpenClaw also provides explicit memory tools:

Troubleshooting

Verify the environment file is loaded:
A stale process may be occupying the port:
Check your model configuration in ov.conf:
  • Verify embedding.dense.api_key is a valid API key
  • Verify vlm.api_key is set
  • Verify vlm.model is a model name (not an API key)
Test manually:
The plugin slot is not set correctly:
Restart the gateway after changing slots.

Daily Usage

Create a convenient alias (Linux/macOS):
.bashrc
Then simply run:

Advanced Options

Capture Mode

Control what gets captured:

Target URI

Specify where memories are stored:

Setup Helper Options

See Also