Back to Hermes Agent

OpenViking Memory Provider

plugins/memory/openviking/README.md

2026.6.191.8 KB
Original Source

OpenViking Memory Provider

Context database by Volcengine (ByteDance) with filesystem-style knowledge hierarchy, tiered retrieval, and automatic memory extraction.

Requirements

  • pip install openviking
  • OpenViking server running (openviking-server)
  • Embedding + VLM model configured in ~/.openviking/ov.conf

Setup

bash
hermes memory setup    # select "openviking"

The setup can link to an existing ~/.openviking/ovcli.conf, copy its current connection values into Hermes, or create a minimal ovcli.conf when one does not exist.

Or manually:

bash
hermes config set memory.provider openviking
echo "OPENVIKING_ENDPOINT=http://localhost:1933" >> ~/.hermes/.env

Config

All config via environment variables in .env:

Env VarDefaultDescription
OPENVIKING_ENDPOINThttp://127.0.0.1:1933Server URL
OPENVIKING_API_KEY(none)User/admin API key for authenticated servers
OPENVIKING_ACCOUNTdefaultTenant account for local/trusted mode
OPENVIKING_USERdefaultTenant user for local/trusted mode
OPENVIKING_AGENThermesHermes peer ID in OpenViking, used for peer-scoped memories

When OPENVIKING_API_KEY is set, Hermes lets OpenViking derive account/user identity from the key. In local or trusted deployments without an API key, Hermes sends OPENVIKING_ACCOUNT and OPENVIKING_USER as identity headers.

Tools

ToolDescription
viking_searchSemantic search with fast/deep/auto modes
viking_readRead content at a viking:// URI (abstract/overview/full)
viking_browseFilesystem-style navigation (list/tree/stat)
viking_rememberStore a fact for extraction on session commit
viking_add_resourceIngest URLs/docs into the knowledge base