OpenViking openviking-memory
OpenViking long-term memory plugin guide. Once installed, the plugin automatically remembers important facts from conversations and recalls relevant context before responding.
install
source · Clone the upstream repo
git clone https://github.com/volcengine/OpenViking
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/volcengine/OpenViking "$T" && mkdir -p ~/.claude/skills && cp -r "$T/examples/openclaw-plugin/skills/install-openviking-memory" ~/.claude/skills/volcengine-openviking-openviking-memory && rm -rf "$T"
OpenClaw · Install into ~/.openclaw/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/volcengine/OpenViking "$T" && mkdir -p ~/.openclaw/skills && cp -r "$T/examples/openclaw-plugin/skills/install-openviking-memory" ~/.openclaw/skills/volcengine-openviking-openviking-memory && rm -rf "$T"
manifest:
examples/openclaw-plugin/skills/install-openviking-memory/SKILL.mdsource content
OpenViking Memory Guide
How It Works
- Auto-Capture: At
(end of one user turn run), automatically extracts memories from user/assistant messagesafterTurn
mode: captures all qualifying user text, relying on OpenViking's extraction pipeline to filtersemantic
mode: only captures text matching trigger words (e.g. "remember", "preference", etc.)keyword
- Auto-Recall: At
, automatically searches for relevant memories and injects them into contextbefore_prompt_build
Available Tools
memory_recall — Search Memories
Searches long-term memories in OpenViking, returns relevant results.
| Parameter | Required | Description |
|---|---|---|
| Yes | Search query text |
| No | Maximum number of results (defaults to plugin config) |
| No | Minimum relevance score 0-1 (defaults to plugin config) |
| No | Search scope URI (defaults to plugin config) |
Example: User asks "What programming language did I say I like?"
memory_store — Manual Store
Writes text to an OpenViking session and runs memory extraction.
| Parameter | Required | Description |
|---|---|---|
| Yes | Information text to store |
| No | Session role (default ) |
| No | Existing OpenViking session ID |
Example: User says "Remember my email is xxx@example.com"
memory_forget — Delete Memories
Delete by exact URI, or search and delete.
| Parameter | Required | Description |
|---|---|---|
| No | Exact memory URI (direct delete) |
| No | Search query (find then delete) |
| No | Search scope URI |
| No | Search limit (default 5) |
| No | Minimum relevance score |
Example: User says "Forget my phone number"
Configuration
| Field | Default | Description |
|---|---|---|
| | (start local server) or (connect to remote) |
| | OpenViking server URL (remote mode) |
| — | OpenViking API Key (optional) |
| | Identifies this agent to OpenViking |
| | Config file path (local mode) |
| | Local server port (local mode) |
| | Default search scope |
| | Automatically capture memories |
| | Capture mode: / |
| | Maximum text length per capture |
| | Automatically recall and inject context |
| | Maximum memories injected during auto-recall |
| | Minimum relevance score for recall |
Daily Operations
# Start (local mode: source env first) source ~/.openclaw/openviking.env && openclaw gateway # Start (remote mode: no env needed) openclaw gateway # Check status openclaw status openclaw config get plugins.slots.contextEngine # Disable memory openclaw config set plugins.slots.contextEngine legacy # Enable memory openclaw config set plugins.slots.contextEngine openviking
Restart the gateway after changing the slot.
Multi-Instance Support
If you have multiple OpenClaw instances, use
--workdir to target a specific one:
# Install script curl -fsSL ... | bash -s -- --workdir ~/.openclaw-openclaw-second # Setup helper npx ./examples/openclaw-plugin/setup-helper --workdir ~/.openclaw-openclaw-second # Manual config (prefix openclaw commands) OPENCLAW_STATE_DIR=~/.openclaw-openclaw-second openclaw config set ...
Troubleshooting
| Symptom | Cause | Fix |
|---|---|---|
| Wrong API Key or model name | Check and in |
| Port used by another process | Change port: |
| Plugin not loaded | Env file not sourced or slot not configured | Check output |
| Inaccurate recall | recallScoreThreshold too low | Increase threshold or adjust recallLimit |