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