OpenViking (OV) context searching
The ov search command performs context-aware retrieval across all memories and resources in OpenViking — combining semantic understanding with directory recursive retrieval to find the most relevant context for any query.
Table of Content
-
When to Use
-
Sub-commands for search
-
List directories (ov ls )
-
Tree view (ov tree )
-
Semantic Search (ov find )
-
Content Pattern Search (ov grep )
-
File Glob Search (ov glob )
-
Full content read (ov read )
-
Get overview (ov overview )
-
Get Abstract (ov abstract )
-
Prerequisite
When to Use
-
Finding specific information within imported resources or saved memories
-
Retrieving context about topics, APIs, or patterns previously added
-
Searching across project documentation, code, and learnings
-
When an agent needs to reference previously stored knowledge
note: cli command can be outdated, when sees error, use --help to get latest usage
Sub-commands for search
List Contents (ov ls )
Browse directory structure:
List root directory
ov ls
List specific directory
ov ls viking://resources/my-project/docs/
Simple path output (only uris, no metadata)
ov ls viking://resources --simple
Show hidden files
ov ls viking://resources --all
Control output limits (default 256)
ov ls viking://resources --node-limit 50
Control abstract info length limit for each node (default 256)
ov ls viking://resources --abs-limit 128
Tree View (ov tree )
Visualize directory hierarchy:
Show tree structure
ov tree viking://resources
Control depth limits (default 3)
ov tree viking://resources --level-limit 2
Control node limits
ov tree viking://resources --node-limit 100 --abs-limit 128
Show all files including hidden
ov tree viking://resources --all
Semantic find (ov find )
Find method with semantic relevance ranking:
Basic find across all context
ov find "how to handle API rate limits"
Find within specific URI scope
ov find "authentication flow" --uri "viking://resources/my-project"
Limit results and set relevance score threshold
ov find "error handling" --node-limit 5 --threshold 0.3
Content Pattern Search (ov grep )
Literal pattern matching:
Find exact text pattern (Note: this is expensive, and suggest within specific small URI scope)
ov grep "viking://resources" "TODO:" --uri "viking://resources/my-project"
Case-insensitive search
ov grep "viking://resources" "API_KEY" --ignore-case --uri "viking://resources/my-project"
Limit results and set node limit
ov grep "viking://resources" "API_KEY" --node-limit 5 --uri "viking://resources/my-project"
File Glob Search (ov glob )
File path pattern matching:
Find all markdown files (Note: this is expensive, and suggest within specific small URI scope)
ov glob "**/*.md" --uri "viking://resources/my-project"
Limit results and set node limit
ov glob "**/*.md" --uri "viking://resources/my-project" --node-limit 5
Read File Content (ov read )
Retrieve full content (L0-L2 layer):
Read full content
ov read viking://resources/docs/api/api-1.md
Read first 10 lines of api-2.md
ov read viking://resources/docs/api/api-2.md | head -n 10
Read abstract (L0 - quick summary)
ov abstract viking://resources/docs/api/ ov read viking://resources/docs/api/.abstract.md
Read overview (L1 - key points)
ov overview viking://resources/docs/api/ ov read viking://resources/docs/api/.overview.md
Combining Search
Use search results to guide further actions:
ov ls viking://resources/
Search for relevant files
ov search "authentication" --uri "viking://resources/project-A"
Get overview for context
ov overview viking://resources/project-A/backend
Decide to read specific content
ov read viking://resources/project-A/backend/auth.md
Prerequisites
-
CLI configured: ~/.openviking/ovcli.conf
-
Resources or memories previously added to OpenViking