โญ +96 today Python

volcengine/OpenViking

๐Ÿ”— https://github.com/volcengine/OpenViking โ†—

The Context Database for AI Agents English / ไธญๆ–‡ / ๆ—ฅๆœฌ่ชž Website ยท Live Demo ยท GitHub ยท Issues ยท Docs ยท Blog Lark ยท WeChat ยท Discord ยท X What is OpenViking OpenViking is an open-source context database for AI agents โ€” one filesystem for everything an agent knows: knowledge, memory, and skills. Most agent memory is a black box: text goes in, embeddings come out, and nobody can see what was actually stored. OpenViking organizes context as a virtual filesystem under viking:// instead. Agents navigate it like files โ€” ls , tree , read , write , grep โ€” and you can open any directory to inspect and edit what your agent knows. Every directory carries a generated summary, so agents can scan summaries first and decide what to read. Try OpenViking Studio in your browser, no installation required. Self-host Web Studio . Why OpenViking One filesystem for knowledge, memory, and skills. Resources hold documents and code; memories retain user preferences and experience; skills define how to perform tasks โ€” not just extracted facts, but the full context, each with a viking:// URI for browsing and retrieval. โ†’ Viking URI ยท Context types Search a directory, not the whole index. Scope semantic search to a project or memory subtree instead of scanning a flat vector pool. find runs a query directly; search plans retrieval from session context. โ†’ Retrieval Read the summary before the source. Generated directory abstracts (L0) and overviews (L1) let agents judge relevance before opening full content (L2). โ†’ Context layers Sessions become files you can read. Committing a session archives the conversation and extracts memories as Markdown you can inspect, edit, and merge. With VikingBot enabled, ov compile organizes source material into a wiki, knowledge graph, or report. โ†’ Sessions ยท Context compilation Architecture ยท Design rationale viking:// โ”œโ”€โ”€ resources/ # Resources: project docs, repos, web pages, etc. โ”‚ โ””โ”€โ”€ my_project/ โ”‚ โ”œโ”€โ”€ docs/ โ”‚ โ”‚ โ”œโ”€โ”€ api/ โ”‚ โ”‚ โ””โ”€โ”€ tutorials/ โ”‚ โ””โ”€โ”€ src/ โ””โ”€โ”€ user/ โ””โ”€โ”€ {user_id}/ โ”œโ”€โ”€ memories/ โ”‚ โ””โ”€โ”€ preferences/ โ”‚ โ”œโ”€โ”€ writing_style โ”‚ โ””โ”€โ”€ coding_habits โ”œโ”€โ”€ resources/ โ”‚ โ””โ”€โ”€ private_project/ โ”œโ”€โ”€ skills/ โ”‚ โ”œโ”€โ”€ search_code โ”‚ โ””โ”€โ”€ analyze_data โ””โ”€โ”€ peers/ โ””โ”€โ”€ web-visitor-alice/ The three loading tiers: L0 (Abstract) : a one-sentence summary for quick relevance checks. L1 (Overview) : core information and usage scenarios for planning. L2 (Details) : the full original data, read only when needed. Semantically processed directories carry L0/L1 summaries, so agents can judge relevance before reading full files: viking://resources/my_project/ โ”œโ”€โ”€ .abstract.md # L0: quick relevance check โ”œโ”€โ”€ .overview.md # L1: structure and key points โ””โ”€โ”€ docs/ โ”œโ”€โ”€ .abstract.md โ”œโ”€โ”€ .overview.md โ””โ”€โ”€ api/ โ”œโ”€โ”€ auth.md # L2: full content, loaded on demand โ””โ”€โ”€ endpoints.md Proof it works OpenViking 0.3.22 has been evaluated on long-conversation user memory (LoCoMo) and multi-turn agent tasks (tau2-bench). Full results and setup details, including knowledge-base QA, are in the benchmark report ; reproduction scripts live in ./benchmark . The memory evaluation used Doubao 2.0 Pro as the VLM and Doubao-embedding-vision-251215 as the embedding model. User memory (LoCoMo) : with OpenViking, all three agent integrations land at 80โ€“83% accuracy โ€” up from 24โ€“57% on their native memory โ€” while input tokens drop by 34.3โ€“91.0% and query latency by 58.45โ€“66.10%. Agent experience (tau2-bench) : experience memory lifts task success by +6.87pp (retail) and +11.87pp (airline) over the same LLM without memory. Quick start Set up an OpenViking server first; if you already have one, skip to Use it with your agent . Deploying your own needs uv, Python 3.10+ and a model provider with an embedding model and a VLM. Let your agent deploy it Follow this guide to install and start an OpenViking Server for me: https://docs.openviking.ai/en/getting-started/04-setup-for-agent Ask me for the model provider, the models, the workspace directory and whether other machines need to reach the server; don't guess. When you ask for the model API key, tell me how to hand it over if I'd rather not paste it into this chat, and never repeat it back. When it's running, tell me the server's address and whether auth is turned on. Your agent will first ask which model provider to use and for its API key. Deploy it yourself Install OpenViking and run the setup wizard, which configures the models: uv tool install openviking --upgrade && openviking-server init init writes ~/.openviking/ov.conf and supports Volcengine, OpenAI, Codex OAuth, Kimi, GLM and local Ollama; see the configuration guide . The server runs in the foreground, so keep this terminal open. Use OpenViking Service (hosted by Volcengine) The same OpenViking service, run for you by Volcengine. The first 50 files are free. Activate it on the Volcengine product page , then create an API key in the console under User Management โ†’ API Key. The server address is https://api.vikingdb.cn-beijing.volces.com/openviking ; you'll need it and the API key when you connect your agent. Explore with the CLI The openviking package includes the ov CLI. With the server running, import a repository and search it: ov status ov add-resource https://github.com/volcengine/OpenViking # Replace TASK_ID with the returned task_id; repeat until status is completed ov task status TASK_ID 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 ov find returns matching context with URIs you can inspect. For client configuration ( ov config ), standalone CLI installs, and index maintenance, see CLI setup . Build your own integration with the Python , Go , or TypeScript SDK, or the HTTP API . Use it with your agent Connect your coding agent to OpenViking for cross-session memory. The memory plugin installer covers Claude Code, Codex, Cursor, TRAE, OpenCode and more, and detects which ones you have. Let your agent install it Install the OpenViking memory plugin for me by running: curl -fsSL https://openviking.ai/install | bash -s -- --yes --url <SERVER_URL> <SERVER_URL> is the address of my OpenViking server; ask me for it, don't guess. If the server has auth turned on, it needs a user key (a root key can't read or write memories): check whether one is already saved; if not, ask me for it and pass it with --api-key, and tell me how to hand it over if I'd rather not paste it into this chat. Never repeat the key back. If auth is off, add --api-key '' so an earlier saved key isn't reused. The script needs network access and writes to my home directory; if a sandbox blocks it, ask me to approve running it outside the sandbox. When it finishes, tell me which tools it installed into and the next steps for each, then ask whether I want it in any other tool. Have your server's address ready, plus its API key if it has auth turned on. Install it yourself Run the installer, then pick the tools and a server when asked: Self-hosted / local for a server on this machine, Volcengine OpenViking Cloud for OpenViking Service, or Custom URL for any other address. If auth is on, enter a user key, not the root key. curl -fsSL https://openviking.ai/install | bash # AI agents: not sure about running this? The script's header says what it does and how to verify it. Then restart your agent. The installer ends with the next steps for each tool, for example: Claude Code Next: restart Claude Code โ‹ฎ Verify: run /openviking-memory:ov in a session On its first start Codex stops at Hooks need review ; choose Trust all and continue . Try it: ask it to remember one of your preferences, then ask about it in a new session a little later.

ๅ…งๅฎน็‚บๆ”ถ้›†็•ถๆ—ฅๆŠ“ๅ–็š„ repo ๆ่ฟฐๅŽŸๆ–‡๏ผŒๅฎŒๆ•ด่ณ‡่จŠ่ซ‹่ฆ‹ GitHub ๅŽŸ้ ใ€‚