OpenViking
A browsable context database that unifies agent memory, resources, and skills.
- Source repo
- volcengine/OpenViking
- Stars
- ★ 42k
- Last updated
- today
- License
- AGPL-3.0
- Primary language
- Python
- FA score
- 50/100 · Major gaps
At a glance
- How it runs
- Works with
- Universal · cross-platformCodex · Claude Code · OpenAI API
- Cost
- Free software; you pay for model usage
- Setup effort
- Medium · a few setup steps
- You'll need
- Typical use
- A developer using Codex or Claude Code wants preferences, project resources, and skills recalled across coding sessions.
- Not a fit if
- Users who want a managed service and won't self-host a server
- Anyone needing a stable desktop client: Helper is beta, macOS and Windows x64 only
- Source review
- 50/100 · Major gaps
What does this agent do, and when should you use it?
OpenViking is an open-source context database for AI agents that exposes memories, resources, and skills through a virtual filesystem using the viking:// protocol. On write, it organizes content into L0 abstracts, L1 overviews, and L2 source details for progressive loading. It runs as an openviking-server service and is operated with the ov CLI for resource ingestion, filesystem browsing, semantic search, and text search. Documented integrations include Claude Code, Codex, OpenClaw, Cursor, MCP clients, and LangChain/LangGraph; committed sessions can asynchronously yield long-term memory.
After openviking-server is running, ov add-resource writes URL-based resources into the context store. OpenViking processes stored material into L0, L1, and L2 layers and exposes it under locations such as viking://resources/ and user directories. Agents or operators can browse with ov ls and ov tree, run semantic retrieval with ov find, and search text with ov grep against a URI. Retrieval first identifies a high-scoring directory, then drills down through its layers while preserving the browsing trajectory. When a session commits, the system asynchronously extracts user preferences and agent experience into long-term memory.
- A developer using Codex or Claude Code wants preferences, project resources, and skills recalled across coding sessions.
- An engineering team imports repositories, documentation, and web pages, then navigates their context with viking:// paths and ov find.
- An application using an MCP client needs a retrievable store for resources, memories, and skills.
- A LangChain or LangGraph team wants session-derived long-term memory in a multi-turn agent workflow.
- An agent developer needs to inspect the directory-browsing path that produced an unexpected retrieval result.
How do you install or deploy this agent?
Requires Python 3.10 or higher and a configured model/provider. Run:
pip install openviking --upgrade
openviking-server init
openviking-server doctor
openviking-serverinit writes ~/.openviking/ov.conf and guides provider setup. The documented options are Volcengine, OpenAI, Codex OAuth, Kimi, GLM, and local Ollama.
How do you use this agent?
With the server running, run:
ov status
ov add-resource https://github.com/volcengine/OpenViking
ov ls viking://resources/
ov tree viking://resources/volcengine -L 2
ov find "what is openviking"
ov grep "openviking" --uri viking://resources/volcengine/OpenViking/docs/enSemantic processing takes time after ingestion; use --wait with add-resource when you need to wait for it.
What are this agent's strengths and limitations?
- It represents resources, user memories, and skills in one viking:// filesystem, with familiar ls, tree, and find-style operations.
- Its L0/L1/L2 write-time processing supports checking summaries or overviews before loading full source content.
- Recursive directory retrieval retains surrounding context and a trajectory that can be inspected for debugging.
- The documented delivery paths span a self-hosted service, CLI, MCP clients, several agent integrations, and multiple providers.
- It requires Python 3.10+ plus model/provider configuration; provider connectivity is explicitly checked by doctor.
- Newly added resources require semantic processing, so ingestion is not necessarily immediately searchable unless --wait is used.
- The project describes itself as early-stage; the OpenViking Helper is beta and its listed desktop builds are limited to macOS and Windows x64.
- Licensing differs by component: the main project is AGPLv3, while ov_cli and examples are Apache 2.0, requiring component-level license review.
How does this agent compare with similar options?
The README benchmarks OpenViking against the native memory of OpenClaw, Hermes, and Claude Code. It reports roughly 80–83% LoCoMo accuracy with OpenViking, alongside lower input-token use and query latency; this makes it most relevant when a separate, browsable context layer is preferable to relying only on host-agent memory.
Key facts side by side with the most closely related agents.
| Agent | Source review | Form / cost | Stars | Updated | Language | Full support on |
|---|---|---|---|---|---|---|
| OpenViking This agent | 50 · Major gaps | CLIFree + model costs | ★ 42k | today | Python | Codex · Claude Code · OpenAI API |
| Agent Systems Handbook | 51 · Major gaps | Web appFree | ★ 314 | 20d ago | MDX | — |
| ACE Context Learning Engine | 51 · Major gaps | Library / SDKFree + model costs | ★ 2.6k | 1mo ago | Python | Claude Code · OpenAI API · Claude API |
| Oracle AI Developer Hub | 44 · Major gaps | Library / SDKFree + model costs | ★ 4.5k | 9d ago | Jupyter Notebook | — |
How does FollowAgents rate this agent?
Why each dimension lost points
Evidence shows security policy and dependency list, but least privilege design not explicit. User confirmation exists in interactive init but not comprehensive. Data flow transparency good with retrieval trajectory documentation. Sensitive data handling not detailed. Dependency security has policy but no vulnerability scan evidence. External effects like network requests not clearly restricted. Rollback not mentioned. Source attribution has author info but unverified.
Self-consistency good, docs align with code structure. Dependency availability unverified but many dependencies listed. Failure messages not detailed.
Target audience clear (AI agent developers), scenarios diverse. Capability boundaries described but not detailed. Trigger precision not explicit. Environment fit supports multiple platforms.
Information architecture clear with docs and examples. Install notes detailed. Naming stability not explicit. Examples and FAQ present. Known limitations not explicit. License clear (AGPL-3.0). Versioning changelog not provided. Maintenance responsibility has community and contributing guide.
Output usability good with CLI and API. Marginal value high with unique features. Cost benefit supported by benchmark data.
Claim traceability moderate, benchmark results reported but not independently verified. Cross-source corroboration limited. Fact-inference separation not explicit.
- Publisher identity unverified, proceed with caution.
- Many dependencies, check supply chain security.
- Benchmark results not independently verified.
Recent releases
Latest entries from the project's GitHub Releases. Notes are quoted from upstream as written, not rewritten or tested by FollowAgents.
-
Release notes excerpt
OpenViking v0.5.3 中文 OpenViking v0.5.3 在 v0.5.2.1 之上合入 98 个提交,重点是 Rules(Beta)、存储与路径锁可靠性、鉴权与账户管理、Gateway 多副本、Compile 加固和 Agent 插件改进。本版本包含少量管理接口与旧 Session 兼容的破坏性变更,升级前请阅读下方说明。配套发布 [email protected]。 重点更新 - Rules(Beta):新增 Rule 服务,并向 Agent 暴露 openviking_rule_search 工具,附中英文指南与 API 参考(#6364、#6613)。 - 存储与路径锁:新增事务型 SQLite path lock、按 scope 批量刷新 Redis 租约、拒绝跨 scope 的 Tree 锁与路径别名绕过、令牌丢失后撤销租约授权、Provider 迁移后恢复持久化交接;修复递归删除导致 PathLock 提前失效、中文路径旧锁交接恢复;新增可选 Redis 目录 TTL、多写 IOPS 优化(#6679、#6665、#6685、#6687、#6704、#6745、#6631、#6620、#6392、#6646)。 …View on GitHub ↗ -
Release notes excerpt
中文 本次 hotfix 主要解决 向 Session 添加消息时,隐私自动识别存在误判,导致部分普通内容被错误替换为隐私占位符,并产生无效隐私记录 的问题。 主要修复:暂时关闭 Session 隐私自动识别 暂时关闭新敏感值的自动识别与替换,避免继续误替换消息内容。例如,未登记的 password=example-password 现在会保持原样,不再自动创建 Session 隐私记录。此调整在代码中生效,无需修改配置。([#6680](https://github.com/volcengine/OpenViking/pull/6680)) 已登记隐私值的匹配与替换仍然保留,历史隐私占位符也继续支持读取还原。本次不会清理此前产生的隐私记录。 其他修复 - 将 SDK 最低依赖版本提升至 0.1.17,修复 Compile 所需 SDK 接口缺失的问题。([#6596](https://github.com/volcengine/OpenViking/pull/6596)) - 修复 MySQL 多服务任务隔离及旧 API 兼容性问题。([#6676](https://github.com/volcengine/OpenViking/pull/6676)) English …View on GitHub ↗