OpenViking
把记忆、资源和技能统一为可浏览的智能体上下文文件系统。
这个 Agent 能做什么,适合哪些场景?
OpenViking 是面向 AI 智能体的开源上下文数据库,将记忆、资源和技能组织为使用 viking:// 协议访问的虚拟文件系统。它在写入时生成 L0 摘要、L1 概览和 L2 原始详情,并按任务所需深度加载内容。服务端通过 openviking-server 运行,ov 客户端 CLI 可添加资源、浏览目录、语义检索和文本搜索。项目还提供 Claude Code、Codex、OpenClaw、Cursor、MCP 客户端及 LangChain/LangGraph 等集成,并可在会话提交后异步提取长期记忆。
启动 openviking-server 后,用户可用 ov add-resource 将 URL 等资源写入上下文库;系统将内容处理为 L0、L1、L2 层级,并映射到 viking://resources/ 或用户目录。智能体或 CLI 可通过 ov ls、ov tree 浏览目录,以 ov find 执行语义检索,并以 ov grep 在指定 URI 下搜索文本。检索会先定位高分目录,再逐层下钻,且保留目录浏览轨迹供检查。会话提交后,系统异步提取用户偏好与智能体经验,写入长期 memory。
- 为使用 Codex 或 Claude Code 的开发者保存跨会话偏好、项目资料和技能,并在后续编码会话中召回。
- 为维护文档、代码库和网页资料的团队导入资源后,用 viking:// 目录结构和 ov find 定位相关上下文。
- 为通过 MCP 客户端接入模型工具的应用提供可检索的资源、记忆和技能上下文。
- 为使用 LangChain 或 LangGraph 构建多轮工作流的工程团队补充会话提交后的长期记忆提取。
- 为需要检查检索为何命中错误内容的智能体开发者查看保存的目录浏览轨迹。
这个 Agent 有哪些优点和局限?
- 以 viking:// 文件系统统一资源、用户记忆和技能,可用 ls、tree、find 等可理解的操作浏览上下文。
- L0/L1/L2 分层在写入时生成,可先读取摘要或概览,再按需加载原始详情。
- 目录递归检索会保留上下文层级和检索轨迹,便于检查结果来源。
- 文档列出多家提供商、HTTP 服务部署、CLI、MCP 与多种智能体框架/产品集成。
- 运行依赖 Python 3.10+,并需要通过 init 配置模型或提供商;提供商连通性是 doctor 的检查项。
- 资源写入后需要语义处理时间,未使用 --wait 时不能立即假定资源已可检索。
- 项目仍处于早期阶段;桌面 OpenViking Helper 目前为 beta,且仅列出 macOS 和 Windows x64。
- 主项目采用 AGPLv3,而 ov_cli 与 examples 使用 Apache 2.0;采用前需分别评估组件许可证。
如何安装或部署这个 Agent?
需要 Python 3.10 或更高版本,以及已配置的模型/提供商。执行:
pip install openviking --upgrade
openviking-server init
openviking-server doctor
openviking-server
init 会创建 ~/.openviking/ov.conf 并引导配置提供商;README 列出的选项包括 Volcengine、OpenAI、Codex OAuth、Kimi、GLM 和本地 Ollama。
如何使用这个 Agent?
保持服务运行后,执行:
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/en
资源需要等待语义处理完成;可在 add-resource 时使用 --wait。
这个 Agent 与同类方案有什么区别?
README 的基准将 OpenViking 与 OpenClaw、Hermes 和 Claude Code 的原生记忆进行比较;报告称在 LoCoMo 上接入后准确率达到约 80–83%,并报告输入 token 与查询延迟下降。它适合需要独立、可浏览上下文层的场景,而不是仅依赖宿主智能体原生记忆的场景。