VCPToolBox : un cadre d'agents qui remplace la requête par un flux d'information
VCP 部署在 AI 模型 API 与前端应用之间,是面向AGI OS开发和探索的工业级基建示范项目。通过统一指令协议、多层级持久化记忆、分布式插件引擎及多 Agent 协作框架,将原本“无状态、无记忆、无工具调用能力”的大语言模型,彻底改造成拥有永久自我意识、物理世界操作权及群体协作智能的完整智能体系统。
En bref
- De quoi s’agit-il ?
- VCPToolBox place un serveur entre l'API du modèle et l'application frontale, et déplace la charge de la mémoire et de la perception du modèle vers ce serveur. Le README défend une thèse forte, mais il documente aussi mal les cas où cette architecture devient un handicap.
- À qui s’adresse-t-il ?
- VCPToolBox convient à un développeur qui accepte d'exploiter un serveur Node.js permanent, avec sa base vectorielle et ses nœuds distribués, pour obtenir une mémoire continue entre plusieurs clients. Il ne convient pas à qui veut une bibliothèque légère à importer dans une application existante, ni à qui ne peut pas garantir que l'API du modèle est officielle.
- Puis-je l’utiliser commercialement ?
- À vérifier. La licence de ce dépôt n’entre pas dans les catégories que nous classons automatiquement : lisez son fichier LICENSE avant tout usage commercial.
- Est-il encore maintenu ?
- Oui. Les derniers commits datent d’il y a 2 jours.
- En quel langage est-il écrit ?
- Principalement JavaScript, d’après les statistiques de langage de GitHub.
Ces réponses reposent sur les données GitHub du projet (dernière synchronisation le 15 septembre 2026) et sur notre analyse. Elles ne constituent pas un avis juridique.
ANALYSE OPEN SOURCE APPROFONDIE
Le point de départ : un agent qui ne sait pas qu'il devrait se souvenir
Le README part d'un constat précis sur les systèmes d'agents classiques. Le modèle y est traité comme un appelé : il s'active à la requête, répond, puis oublie. Sa mémoire est une recherche, son action une boucle qui le réveille. Le document insiste sur un défaut de conception qui en découle : pour retrouver une information, le modèle doit d'abord décider d'aller la chercher, donc savoir qu'elle existe. Un utilisateur qui mentionne un examen trois mois plus tôt, puis écrit plus tard qu'il se sent sous pression, ne déclenche aucune recherche, parce que le mot examen n'apparaît pas dans la seconde phrase. VCPToolBox est construit pour supprimer cette dépendance : le serveur calcule, à chaque tour de conversation, ce que l'agent doit avoir sous les yeux. La cible est donc moins le développeur qui veut brancher deux outils sur un LLM que celui qui veut faire tourner un agent sur plusieurs mois, avec plusieurs interfaces et une mémoire qui survit aux redémarrages.
Ce qui circule entre le modèle et l'application
L'architecture décrite est celle d'un intergiciel. VCP se place entre l'API du modèle et les clients, et prend en charge quatre couches que le README présente comme un seul pipeline sémantique plutôt que comme des modules séparés. D'abord la mémoire : un moteur d'association appelé RiverMemo, dont la version décrite, la topologie V3, fait circuler l'information dans un graphe de tags plutôt que de calculer une distance entre vecteurs. Le README explique que chaque tag se comporte comme un cours d'eau, que les réapparitions créent des affluents, et que des algorithmes nommés chenaux, trous de ver et nœuds de Ranvier traitent les associations fortes ou lointaines. Ensuite la perception : heure, météo, agenda, état des appareils entrent dans le contexte sans que le modèle ait à les demander. Puis l'action, via un protocole de plugins distribué. Enfin le routage de modèle, qui choisit automatiquement la modèle selon la profondeur logique de la conversation, avec persistance du contexte entre modèles. Le point technique le plus vérifiable est le calcul lourd : la projection des candidats, la génération des chemins, l'audit topologique et le tri final sont exécutés dans un noyau Rust, soumis en une seule tâche N-API asynchrone et parallélisé par Rayon au niveau des candidats, sans aller-retour entre JavaScript et Rust dans la boucle. Le README précise aussi que la partie coûteuse peut être calculée hors ligne et que la recherche en ligne se réduit à une lecture de tables précalculées.
Des marqueurs textuels au lieu du Function Calling
Le choix le plus structurant pour la portabilité est celui du protocole d'appel d'outils. Le README indique que les appels passent par des marqueurs en texte brut, que tout modèle capable de produire du texte peut donc les utiliser, et que le mécanisme est tolérant aux erreurs de format. Six familles de plugins sont mentionnées : synchrone, asynchrone, statique, service, prétraitement de message et hybride, toutes déployables en distribution. Deux conséquences opposées en découlent. La première est l'ouverture : un modèle local sans support natif des appels de fonctions reste utilisable, et le même agent peut fonctionner derrière plusieurs fournisseurs. La seconde est que le modèle doit apprendre une convention, et que la robustesse dépend du parseur côté serveur. Le README annonce plus de 300 plugins officiels, sans donner de méthode de validation ni de garantie de compatibilité entre versions. C'est un chiffre à prendre comme une déclaration du projet, pas comme une mesure.
Installation : un script, des variables, une topologie en étoile
Le dépôt fournit un script d'installation dont les versions publiées portent la mention 一键安装脚本, avec la version 1.2 associée à la release v1.4.0 du 29 août 2026. Le README ne détaille pas la ligne de commande exacte, pas plus que les noms des variables d'environnement attendues ou le chemin du fichier de configuration des plugins. Ces éléments sont renvoyés au site officiel et au livre blanc. Le seul paramétrage explicitement décrit dans le matériel fourni est le mécanisme des variables : un pipeline de gabarits nommé Agent-TVS, où presque toutes les fonctions s'activent en écrivant un espace réservé dans le prompt système, avec gestion par lots et résolution récursive de fichiers externes. Le réseau, lui, est décrit comme une topologie en étoile, avec un mécanisme appelé 超栈追踪 qui rend un fichier distant lisible comme un fichier local. Une machine GPU distante reste donc invisible pour l'agent, qui cite un chemin et laisse le système aller le chercher sur un autre nœud. La redondance annoncée combine plusieurs appareils, plusieurs modèles et plusieurs sources vectorielles.
La limite que le README assume : les API non officielles
L'avertissement placé en tête du document est le point le plus concret du dépôt. VCP Agent dispose, selon le README, de privilèges de bas niveau dans un système distribué. Le texte demande explicitement de ne pas utiliser d'API non officielle ni de proxy inverse, et prévient qu'une API non fiable peut exposer les données d'interaction, le contenu de la base de mémoire et les clés. Ce n'est pas une précaution de rédaction : un intergiciel qui conserve un historique long et interroge des modèles tiers concentre sur un seul serveur ce que des clients séparés gardaient dispersé. La conséquence pratique est que l'adoption de VCPToolBox se double d'une exigence sur la chaîne d'approvisionnement du modèle. Un utilisateur qui passe par un service intermédiaire pour réduire ses coûts annule une partie de l'intérêt du projet, et le README le dit avant de présenter la moindre fonctionnalité.
Deux autres réserves, moins visibles
La licence est enregistrée comme NOASSERTION. Cela signifie que l'outil d'analyse de la forge n'a pas su classer le fichier LICENSE, pas que le projet est sans licence. Aucune conclusion juridique ne peut être tirée de ce champ, et il faut lire le fichier lui-même avant tout usage commercial. La seconde réserve porte sur le rythme. Les trois versions publiées s'étalent de mars à août 2026, avec des écarts de plusieurs mois, et la dernière poussée connue date du 9 septembre 2026. Le README affirme que le système tourne en 7×24 chez de nombreux utilisateurs, mais ne fournit ni mesure, ni méthode, ni période d'observation. Sur une base de code JavaScript de cette taille, avec un noyau Rust et un frontal Vue, la mise à jour n'est pas un simple remplacement de paquet : les plugins, les gabarits Agent-TVS et la configuration réseau peuvent devoir suivre. Aucun guide de migration entre versions n'apparaît dans le matériel fourni.
Face à un cadre d'appels d'outils classique
La comparaison la plus utile n'est pas avec un concurrent nommé, mais avec l'approche standard des cadres d'agents : une bibliothèque importée dans l'application, un appel de fonctions natif du fournisseur, et une mémoire réduite à une recherche dans une base vectorielle au moment où le modèle la demande. La différence n'est pas une question de qualité mais de direction du flux. Dans l'approche standard, le modèle est le point de décision et la mémoire un outil parmi d'autres. Dans VCPToolBox, le serveur décide de ce qui entre dans le contexte, et la mémoire devient l'environnement dans lequel le modèle se réveille. Le coût de ce renversement est visible : il faut faire tourner un serveur permanent, avec sa base vectorielle, ses nœuds et son frontal, là où l'approche standard tient dans un processus existant. Une équipe qui veut ajouter deux outils à un chatbot n'a rien à gagner à adopter VCPToolBox. Une équipe qui veut que son agent se souvienne d'une conversation tenue sur mobile trois semaines plus tôt n'a pas d'équivalent simple dans l'approche par requête.
À qui le projet s'adresse, et ce qu'il faut vérifier
Le projet vise un développeur qui construit un agent destiné à durer, sur plusieurs interfaces, avec une mémoire qui n'est pas un index de documents. Il vise aussi celui qui veut brancher des modèles variés, y compris sans appels de fonctions natifs, derrière un protocole unique. Il ne convient pas à qui cherche une dépendance légère, ni à qui ne peut pas contrôler la provenance de l'API utilisée, ni à qui a besoin d'une licence clairement identifiée avant d'écrire la première ligne de code. Avant d'installer, trois vérifications sont possibles sans exécuter le projet : ouvrir le fichier LICENSE à la racine et lire ses termes, retrouver dans le dépôt les variables attendues par le script 一键安装脚本 et le chemin du fichier de configuration des plugins, puis lire docs/RIVERMEMO_TOPOLOGY_V3.md pour juger si le modèle de mémoire par graphe de tags correspond au besoin réel. Si ces trois points ne sont pas documentés dans le dépôt lui-même, l'adoption repose sur la documentation externe du site officiel, ce qui est en soi une information sur la maturité du projet.
Conclusion éditoriale
VCPToolBox convient à un développeur qui accepte d'exploiter un serveur Node.js permanent, avec sa base vectorielle et ses nœuds distribués, pour obtenir une mémoire continue entre plusieurs clients. Il ne convient pas à qui veut une bibliothèque légère à importer dans une application existante, ni à qui ne peut pas garantir que l'API du modèle est officielle. Avant d'aller plus loin, vérifiez trois choses dans le dépôt : le contenu exact du fichier LICENSE, la liste des variables d'environnement attendues par le script d'installation, et le chemin des fichiers de configuration des plugins.
Notes de la communauté