volcengine/OpenViking

Self-evolving Context Database for AI Agents. Unify Agent Memory, Knowledge RAG and Skills.

OpenViking – AI代理人的上下文資料庫

是什麼 – OpenViking 是一個開源的 上下文儲存,允許基於 LLM 的代理將記憶、資源和技能視為虛擬檔案系統(viking://)中的檔案。與向黑箱儲存發送原始向量查詢不同,代理可以使用熟悉的命令(lstreefind)瀏覽、列出和搜尋層級結構。每個條目都預先處理為三個層級——極簡摘要(L0)、中等大小概覽(L1)和完整原始資料(L2),因此代理僅載入實際需要的文本,大幅減少令牌使用量和延遲,同時保持檢索路徑的可觀測性。

為何重要

  • 決定性、可觀測的檢索 – 系統遵循的路徑會被記錄,使得「為什麼代理選擇了這條資訊?」的除錯變得簡單明瞭。
  • 令牌高效 – L0/L1 層使代理能早期捨棄無關分支,顯著降低令牌使用量和延遲(README 提到基準測試中令牌減少 34–91%,延遲降低約 60%)。
  • 統一的 URI 方案 – 所有內容都位於 viking:// URI 下,提供對記憶、使用者偏好、公共資源、私人檔案甚至其他代理的單一、類檔案系統視圖。
  • 會話 → 記憶 – 會話結束後,OpenViking 會提取偏好和經驗,並作為長期記憶儲存,供下次會話使用。

核心概念

概念 作用
Viking URI 任何上下文類型(資源、記憶、技能、對等體)的統一位址(viking://…
上下文層級(L0–L2) L0:一句話摘要(約 100 令牌),用於快速相關性檢查。L1:概覽(約 2k 令牌),用於規劃。L2:完整內容,僅在需要時讀取。
目錄遞迴檢索 向量搜尋首先選擇得分最高的目錄,然後逐層深入,返回帶有周圍上下文的結果。
會話 → 記憶 完成的會話異步轉換為持久記憶條目(偏好、經驗)。

如何嘗試

  1. 安裝pip install openviking --upgrade(需 Python 3.10+)。
  2. 初始化openviking-server init 執行互動式向導,建立 ~/.openviking/ov.conf 並設定提供者(Volcengine、OpenAI、Ollama 等)。
  3. 驗證openviking-server doctor 檢查設定、Python 版本、連線性和磁碟空間。
  4. 執行openviking-server 啟動 HTTP 服務(或使用 nohup … & 在背景執行)。
  5. 使用 CLI – 內建的 ov 客戶端允許您新增資源、列出目錄、搜尋和檢查任務,例如:
    ov add-resource https://github.com/volcengine/OpenViking
    ov ls viking://resources/
    ov find "what is openviking"
    
  6. 無需安裝體驗OpenViking Studio 網頁沙盒(https://openviking.ai/studio)提供檔案系統、語意搜尋和多代理中心的即時示範。

代理整合 – OpenViking 提供多個流行 LLM 代理框架的即用型適配器,包括 Claude Code、Codex、OpenClaw、Hermes、Cursor、TRAE、LangChain/LangGraph 等。適配器會自動將檢索到的上下文注入代理的提示,並將會話記憶提交回儲存。

VikingBot – 一個可選的基於 Python 的代理框架,隨伺服器一起提供(pip install "openviking[bot]")。使用 --with-bot 啟動伺服器將啟動聊天介面(ov chat)。Docker 鏡像捆綁了 VikingBot、伺服器和控制台 UI,支援一鍵部署。

部署選項

  • 自托管 – 在自己的雲端、VPC 或離線空氣隔離環境中執行 HTTP 服務。生產指南涵蓋 Docker、Kubernetes 和擴展性。
  • 托管 SaaS – Volcano Engine 提供托管版本(最多 50 個檔案的免費試用,之後為付費層級)。開源版本無需任何授權金鑰即可完全運行。

性能證據 – 基準測試(LoCoMo 記憶測試和 tau2-bench 多輪任務)顯示,當代理使用 OpenViking 時,準確率從 20% 中段躍升至約 80%,同時令牌消耗和延遲顯著下降。

許可證 – 核心專案採用 AGPL-v3(完整原始碼,無功能限制)。CLI crate(crates/ov_cli)和範例程式碼採用 Apache 2.0。

進一步了解

  • 文件與教學https://docs.openviking.ai
  • 基準測試腳本 – 倉儲中的 ./benchmark 目錄。
  • 研究論文VikingMem: A Memory Base Management System for Stateful LLM-based Applications(arXiv 2605.29640, VLDB 2026)。
  • 社群 – README 中的 Discord、Lark、WeChat、X(Twitter)連結。

TL;DR – OpenViking 用分層、分層感知的檔案系統取代了不透明的向量儲存,使代理能夠探索和除錯。它減少令牌使用,提升召回準確率,並與廣泛的 LLM 代理相容,所有內容均在 AGPL-v3 開源許可證下提供。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案