openviking

SKILL.md

OpenViking Skill

Manage an OpenViking context database: index documents, semantic search, browse, and retrieve summaries.

Prerequisites

  • Python 3.9+ with openviking package installed (pip install openviking)
  • Config file at ~/.openviking/ov.conf with valid embedding and VLM credentials
  • Environment variable OPENVIKING_CONFIG_FILE=~/.openviking/ov.conf

If prerequisites are not met, guide the user through setup. See references/setup-guide.md.

Quick Reference

Index a file

python3 scripts/viking.py add /path/to/file.md

Index all files in a directory (recursive)

python3 scripts/viking.py add-dir /path/to/directory --pattern "*.md"

Semantic search

python3 scripts/viking.py search "query text" --limit 5

Browse resources

python3 scripts/viking.py ls [viking://resources/path]

Get summary

python3 scripts/viking.py abstract viking://resources/my_doc
python3 scripts/viking.py overview viking://resources/my_doc

Read full content

python3 scripts/viking.py read viking://resources/my_doc/section.md

Usage Notes

  • Data directory: Defaults to ./openviking_data in the current working directory. Override with --data-dir.
  • File name collisions: OpenViking uses file names (not full paths) as URIs. Avoid indexing files with identical names from different directories simultaneously.
  • VLM model: Use non-reasoning models (e.g. meta/llama-3.3-70b-instruct) for the VLM. Reasoning models return content in the wrong field.
  • Embedding model: nvidia/nv-embed-v1 (symmetric, 4096-dim) works without extra parameters. Asymmetric models (e.g. nv-embedqa-e5-v5) require input_type which OpenViking doesn't pass.

When to Use Python API vs CLI Script

  • CLI script (scripts/viking.py): For quick one-off operations from the shell.
  • Python API: For complex workflows, batch operations, or integration into other scripts. See references/python-api.md.
Weekly Installs
3
GitHub Stars
16
First Seen
10 days ago
Installed on
openclaw3
amp2
cline2
opencode2
cursor2
kimi-cli2