Skip to content

OpenClaw Plugin

Use OpenViking as the long-term memory backend for OpenClaw. After installation, OpenClaw will automatically remember important facts from conversations and recall relevant context before replying.

This plugin is registered as the openviking context engine — it owns long-term memory retrieval, session archiving, archive summaries, and memory extraction across the OpenClaw lifecycle.

Source: examples/openclaw-plugin

Prerequisites

ComponentRequired Version
Node.js>= 22
OpenClaw>= 2026.3.7

The plugin connects to an existing OpenViking server. Make sure you have one reachable over HTTP — see the Deployment Guide. Quick check:

bash
node -v
openclaw --version

Upgrading from the legacy memory-openviking plugin? It's not compatible with the new openviking plugin. Run the cleanup script first:

bash
curl -fsSL https://raw.githubusercontent.com/volcengine/OpenViking/main/examples/openclaw-plugin/upgrade_scripts/cleanup-memory-openviking.sh -o cleanup-memory-openviking.sh
bash cleanup-memory-openviking.sh
bash
openclaw plugins install clawhub:@openclaw/openviking

Then run the interactive setup wizard:

bash
openclaw openviking setup

The wizard prompts for your remote OpenViking server URL and optional API key, then writes configuration to $OPENCLAW_STATE_DIR/openclaw.json (default: ~/.openclaw/openclaw.json).

Restart the gateway:

bash
openclaw gateway restart

Install via ov-install (alternative)

The ov-install helper automates plugin deployment:

bash
npm install -g openclaw-openviking-setup-helper
ov-install

Common variants:

bash
# Target a specific OpenClaw data directory
ov-install --workdir ~/.openclaw-second

# Pin to a specific plugin release
ov-install -y --version 0.2.9

To upgrade later:

bash
npm install -g openclaw-openviking-setup-helper@latest && ov-install -y

ov-install parameters

ParameterMeaning
--workdir PATHTarget OpenClaw data directory
--version VERSet plugin version (e.g. 0.2.9 → plugin v0.2.9)
--current-versionPrint the currently installed plugin version
--plugin-version REFSet plugin version only — supports tag, branch, or commit
--github-repo owner/repoUse a different GitHub repo for plugin files (default volcengine/OpenViking)
--updateUpgrade only the plugin
-yNon-interactive mode, use default values

Plugin configuration

The plugin configuration lives under plugins.entries.openviking.config. Setup usually writes this for you — manual edits are only needed if you change servers later.

bash
openclaw config get plugins.entries.openviking.config
ParameterDefaultMeaning
baseUrlhttp://127.0.0.1:1933Remote OpenViking HTTP endpoint
apiKeyemptyOptional OpenViking API key
agent_prefixdefaultAgent prefix used by this OpenClaw instance on the server

Common settings:

bash
openclaw config set plugins.entries.openviking.config.baseUrl http://your-server:1933
openclaw config set plugins.entries.openviking.config.apiKey your-api-key
openclaw config set plugins.entries.openviking.config.agent_prefix your-prefix

Verify

Check that the plugin owns the contextEngine slot:

bash
openclaw config get plugins.slots.contextEngine

If the output is openviking, the plugin is active.

Follow OpenClaw logs for the registration message:

bash
openclaw logs --follow
# expect: openviking: registered context-engine

OpenViking server log (default location):

bash
cat ~/.openviking/data/log/openviking.log

Currently-installed plugin version:

bash
ov-install --current-version

Pipeline health check (optional)

For an end-to-end sanity check (Gateway → OpenViking pipeline), run:

bash
python examples/openclaw-plugin/health_check_tools/ov-healthcheck.py

This script injects a real conversation through Gateway and verifies from the OpenViking side that the session was captured, committed, archived, and had memories extracted. See HEALTHCHECK.md for details.

Uninstall

bash
curl -fsSL https://raw.githubusercontent.com/volcengine/OpenViking/main/examples/openclaw-plugin/upgrade_scripts/uninstall-openclaw-plugin.sh -o uninstall-openviking.sh
bash uninstall-openviking.sh

For a non-default OpenClaw state directory, append --workdir ~/.openclaw-second.

See also

Released under the Apache-2.0 License.