This guide is for AI agents such as Claude Code, Cursor, or similar operator flows. Prefer automation. Ask the user only when detection fails or a choice materially changes the outcome.
For user-facing installation details, see INSTALL.md or INSTALL-ZH.md.
Choose the smallest action that matches the user's intent:
| User intent | Command |
|---|---|
| Fresh install, latest | npm install -g openclaw-openviking-setup-helper@latest && ov-install |
| Upgrade plugin + OpenViking to latest | npm install -g openclaw-openviking-setup-helper@latest && ov-install -y |
| Install or upgrade a specific release | npm install -g openclaw-openviking-setup-helper@latest && ov-install -y --version 0.2.9 |
| Upgrade only the plugin | ov-install --update |
| Show installed versions | ov-install --current-version |
| Operate on a specific OpenClaw instance | add --workdir <path> |
Default rule: when upgrading, refresh the setup helper first unless the user explicitly asks to pin the helper itself.
If the user did not specify a workdir, check for multiple OpenClaw instances:
ls -d ~/.openclaw* 2>/dev/null- If only one instance exists, use it.
- If multiple instances exist, ask which instance to operate on, or pass
--workdir.
Verify:
python3 --version
node -v
openclaw --versionRequirements:
- Python >= 3.10
- Node.js >= 22
- OpenClaw >= 2026.3.7
If OpenClaw is missing, tell the user to run:
npm install -g openclaw && openclaw onboardUse:
ov-install --current-versionThis reports:
- installed plugin release
- requested plugin ref
- installed OpenViking version
- installation time
Use for fresh installs:
npm install -g openclaw-openviking-setup-helper@latest
ov-installNotes:
ov-installis interactive on first install.- In local mode, it generates
~/.openviking/ov.confand~/.openclaw/openviking.env. - In remote mode, it stores remote connection settings in
plugins.entries.openviking.config.
Use when the user wants both the plugin and OpenViking runtime upgraded:
npm install -g openclaw-openviking-setup-helper@latest
ov-install -yCurrent behavior:
- plugin version defaults to the latest repo tag
- OpenViking runtime is upgraded through pip during install
-yruns the non-interactive path; verify the resulting plugin config after upgrade if the target instance has custom settings
Use when the user names a release such as 0.2.9:
npm install -g openclaw-openviking-setup-helper@latest
ov-install -y --version 0.2.9This is shorthand for:
- plugin version
v0.2.9 - OpenViking version
0.2.9
Use only when the user explicitly wants to keep the current OpenViking runtime version unchanged:
ov-install --updateDo not combine --update with --version or --openviking-version.
If the machine previously used memory-openviking, run the bundled cleanup script from this repository:
bash examples/openclaw-plugin/upgrade_scripts/cleanup-memory-openviking.shThen continue with install or upgrade.
openclaw config get plugins.slots.contextEngineExpected output:
openviking
openclaw config get plugins.entries.openviking.configOpenClaw log:
openclaw logs --followLook for:
openviking: registered context-engine
OpenViking service log, default local path:
cat ~/.openviking/data/log/openviking.logLocal mode:
source ~/.openclaw/openviking.env && openclaw gateway restartRemote mode:
openclaw gateway restartCheck the whole config first:
openclaw config get plugins.entries.openviking.configCore OpenClaw plugin fields:
mode=localconfigPathportagentId
Service-side model configuration is not stored in the OpenClaw plugin config. It lives in ~/.openviking/ov.conf, especially:
vlm.api_keyvlm.modelembedding.dense.api_keyembedding.dense.modelserver.port
Check the whole config first:
openclaw config get plugins.entries.openviking.configCore OpenClaw plugin fields:
mode=remotebaseUrlapiKeyagentId
Plugin only:
bash examples/openclaw-plugin/upgrade_scripts/uninstall-openclaw-plugin.shPlugin + local OpenViking runtime:
python3 -m pip uninstall openviking -y && rm -rf ~/.openviking