volcengine/OpenViking
Self-evolving Context Database for AI Agents. Unify Agent Memory, Knowledge RAG and Skills.
OpenViking – AI代理人的上下文資料庫
是什麼 – OpenViking 是一個開源的 上下文儲存,允許基於 LLM 的代理將記憶、資源和技能視為虛擬檔案系統(viking://)中的檔案。與向黑箱儲存發送原始向量查詢不同,代理可以使用熟悉的命令(ls、tree、find)瀏覽、列出和搜尋層級結構。每個條目都預先處理為三個層級——極簡摘要(L0)、中等大小概覽(L1)和完整原始資料(L2),因此代理僅載入實際需要的文本,大幅減少令牌使用量和延遲,同時保持檢索路徑的可觀測性。
為何重要
- 決定性、可觀測的檢索 – 系統遵循的路徑會被記錄,使得「為什麼代理選擇了這條資訊?」的除錯變得簡單明瞭。
- 令牌高效 – L0/L1 層使代理能早期捨棄無關分支,顯著降低令牌使用量和延遲(README 提到基準測試中令牌減少 34–91%,延遲降低約 60%)。
- 統一的 URI 方案 – 所有內容都位於
viking://URI 下,提供對記憶、使用者偏好、公共資源、私人檔案甚至其他代理的單一、類檔案系統視圖。 - 會話 → 記憶 – 會話結束後,OpenViking 會提取偏好和經驗,並作為長期記憶儲存,供下次會話使用。
核心概念
| 概念 | 作用 |
|---|---|
| Viking URI | 任何上下文類型(資源、記憶、技能、對等體)的統一位址(viking://…) |
| 上下文層級(L0–L2) | L0:一句話摘要(約 100 令牌),用於快速相關性檢查。L1:概覽(約 2k 令牌),用於規劃。L2:完整內容,僅在需要時讀取。 |
| 目錄遞迴檢索 | 向量搜尋首先選擇得分最高的目錄,然後逐層深入,返回帶有周圍上下文的結果。 |
| 會話 → 記憶 | 完成的會話異步轉換為持久記憶條目(偏好、經驗)。 |
如何嘗試
- 安裝 –
pip install openviking --upgrade(需 Python 3.10+)。 - 初始化 –
openviking-server init執行互動式向導,建立~/.openviking/ov.conf並設定提供者(Volcengine、OpenAI、Ollama 等)。 - 驗證 –
openviking-server doctor檢查設定、Python 版本、連線性和磁碟空間。 - 執行 –
openviking-server啟動 HTTP 服務(或使用nohup … &在背景執行)。 - 使用 CLI – 內建的
ov客戶端允許您新增資源、列出目錄、搜尋和檢查任務,例如:ov add-resource https://github.com/volcengine/OpenViking ov ls viking://resources/ ov find "what is openviking" - 無需安裝體驗 – 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 開源許可證下提供。
相關
- 專案
- 專案
- 專案
- 專案
- 專案