À propos du projet
OpenViking est une base de données contextuelle open source pour les agents IA, publiée par volcengine. Elle vise à offrir aux agents un espace persistant pour stocker des connaissances, se souvenir des utilisateurs et réutiliser l'expérience entre les sessions, unifiant la mémoire des agents, le RAG de connaissances et les compétences dans un seul système.
Concept central : le contexte est organisé comme un système de fichiers virtuel sous le schéma d'URI viking://. Les agents y opèrent avec des commandes familières de type fichier telles que ls, tree, read, write, find, search et grep, parcourant les répertoires, lisant ou modifiant le contenu, et recherchant dans un périmètre de répertoire. Les résumés de répertoire prennent en charge le chargement à la demande.
Les types de contexte incluent les ressources (documents, dépôts, pages web), les mémoires (préférences et expérience des utilisateurs) et les compétences (définitions de la manière d'effectuer des tâches). Chaque élément possède une URI viking:// pour la navigation et la récupération.
Chargement en couches : les répertoires portent des résumés L0 (résumés en une phrase pour les vérifications de pertinence), des vues d'ensemble L1 (structure et points clés pour la planification) et des détails complets L2 chargés uniquement en cas de besoin. Cela vise à réduire les jetons et la latence en permettant aux agents de juger la pertinence avant de lire les fichiers complets.
Récupération : la recherche vectorielle trouve les répertoires candidats, puis explore leur contenu. La commande find exécute une requête directement, tandis que search peut utiliser le contexte de session pour planifier la récupération. Le README référence des recherches sur l'interrogation et la maintenance adaptées aux répertoires (TrieHI) et sur le RAG économe en jetons pour documents structurés (VikingRAG).
Sessions et mémoire : valider une session archive la conversation et lance l'extraction en arrière-plan. Les politiques de mémoire contrôlent ce qui est conservé, et les candidats sont comparés aux mémoires existantes pour création, fusion ou saut. Avec VikingBot activé, ov compile utilise une compétence pour organiser le matériel source en wiki, graphe de connaissances ou rapport.
Démarrage rapide : Python 3.10+ est requis, ainsi qu'un accès à un modèle d'embedding et à un VLM (cloud ou local). L'installation se fait via pip install openviking, suivi de openviking-server init, doctor et start. La configuration est écrite dans ~/.openviking/ov.conf, avec des fournisseurs pris en charge incluant Volcengine, OpenAI, Codex OAuth, Kimi, GLM et Ollama local. Le package inclut la CLI ov pour ajouter des ressources, vérifier l'état des tâches, lister et visualiser l'arborescence du système de fichiers, et exécuter des requêtes find/grep.
Intégrations : des intégrations natives sont documentées pour Claude Code, Codex, Cursor, TRAE, OpenClaw, Hermes, OpenCode, pi, DeerFlow, DSH, Doubao Work et LangChain/LangGraph, utilisant des hooks, MCP, des plugins ou un support intégré. Les voies d'intégration générales incluent Agent Plugins 1.0 et les clients MCP. Des SDK sont fournis pour Python, Go et TypeScript, ainsi qu'une API HTTP.
Autres composants : une application de bureau bêta pour macOS et Windows x64 qui configure les intégrations d'agents locales, inspecte les événements de rappel et de capture, et synchronise les mémoires et compétences locales ; VikingBot, un framework d'agents construit sur OpenViking, installable via pip install "openviking[bot]" et démarré avec openviking-server --with-bot plus ov chat ; et un studio web pour parcourir le contexte et essayer la recherche sémantique, également disponible en démo hébergée.
Déploiement : le serveur open source fonctionne sous AGPLv3 sans clé d'activation, prend en charge les comptes et l'isolation des utilisateurs ainsi que des ACL de ressources optionnelles, et peut être déployé via Docker. L'authentification doit être configurée avant de l'exposer au-delà de localhost. Les éditions commerciales incluent un SaaS géré sur Volcano Engine et une édition auto-gérée/BYOC avec déploiement distribué et support officiel.
Le README rapporte des évaluations de référence sur la mémoire utilisateur de longues conversations (LoCoMo) et les tâches d'agents multi-tours (tau2-bench), avec des scripts de reproduction dans le répertoire benchmark. Il liste également les projets partenaires et les canaux communautaires (Lark, WeChat, Discord, X). Les licences diffèrent selon le composant : projet principal AGPLv3, crates/ov_cli et exemples Apache 2.0, third_party sous leurs licences d'origine.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.