Skip to content
Cette page a été générée et traduite avec l'aide de l'IA. Si vous remarquez des inexactitudes, n'hésitez pas à contribuer. Modifier sur GitHub

PRX-Memory

PRX-Memory est un moteur de mémoire sémantique local conçu pour les agents de codage. Il combine la récupération basée sur l'embedding, le reranking, les contrôles de gouvernance et une évolution mesurable en un seul composant compatible MCP. PRX-Memory est livré comme un démon autonome (prx-memoryd) qui communique via stdio ou HTTP, le rendant compatible avec Codex, Claude Code, OpenClaw, OpenPRX et tout autre client MCP.

PRX-Memory se concentre sur les connaissances d'ingénierie réutilisables, pas sur les journaux bruts. Le système stocke des mémoires structurées avec des étiquettes, des portées et des scores d'importance, puis les récupère en combinant la recherche lexicale, la similarité vectorielle et le reranking optionnel -- le tout gouverné par des contraintes de qualité et de sécurité.

Pourquoi PRX-Memory ?

La plupart des agents de codage traitent la mémoire comme une réflexion après coup -- fichiers plats, journaux non structurés ou services cloud propriétaires. PRX-Memory adopte une approche différente :

  • Local d'abord. Toutes les données restent sur votre machine. Aucune dépendance cloud, aucune télémétrie, aucune donnée ne quitte votre réseau.
  • Structuré et gouverné. Chaque entrée de mémoire suit un format standardisé avec des étiquettes, des portées, des catégories et des contraintes de qualité. La normalisation des étiquettes et les limites de ratio préviennent la dérive.
  • Récupération sémantique. Combinez la correspondance lexicale avec la similarité vectorielle et le reranking optionnel pour trouver les mémoires les plus pertinentes pour un contexte donné.
  • Évolution mesurable. L'outil memory_evolve utilise des divisions entraînement/validation et le filtrage par contraintes pour accepter ou rejeter les améliorations candidates -- sans approximation.
  • MCP natif. Support de première classe pour le Model Context Protocol via les transports stdio et HTTP, avec des modèles de ressources, des manifestes de compétences et des sessions en streaming.

Fonctionnalités clés

  • Embedding multi-fournisseurs -- Prend en charge les fournisseurs d'embedding compatibles OpenAI, Jina et Gemini via une interface d'adaptateur unifiée. Changez de fournisseur en modifiant une variable d'environnement.

  • Pipeline de reranking -- Reranking optionnel en deuxième étape utilisant les rerankeurs Jina, Cohere ou Pinecone pour améliorer la précision de récupération au-delà de la simple similarité vectorielle.

  • Contrôles de gouvernance -- Le format de mémoire structurée avec normalisation des étiquettes, limites de ratio, maintenance périodique et contraintes de qualité garantit un niveau élevé de qualité de la mémoire dans le temps.

  • Évolution de la mémoire -- L'outil memory_evolve évalue les changements candidats en utilisant des tests d'acceptation entraînement/validation et le filtrage par contraintes, fournissant des garanties d'amélioration mesurables.

  • Serveur MCP double transport -- Exécutez en tant que serveur stdio pour une intégration directe ou en tant que serveur HTTP avec des vérifications de santé, des métriques Prometheus et des sessions en streaming.

  • Distribution de compétences -- Packages de compétences de gouvernance intégrés découvrables via les protocoles de ressources et d'outils MCP, avec des modèles de payload pour des opérations de mémoire standardisées.

  • Observabilité -- Point de terminaison de métriques Prometheus, modèles de tableau de bord Grafana, seuils d'alerte configurables et contrôles de cardinalité pour les déploiements en production.

Architecture

mermaid
graph TB
    CLIENT["Client MCP<br/>Codex | Claude Code | OpenClaw"]

    subgraph Transport["Couche Transport"]
        STDIO["Transport stdio"]
        HTTP["Transport HTTP<br/>Santé | Métriques | SSE"]
    end

    subgraph Engine["Moteur de mémoire"]
        GOVERN["Couche Gouvernance<br/>Norm. étiquettes | Limites ratio | Contraintes qualité"]
        RETRIEVE["Couche Récupération<br/>Recherche lexicale | Similarité vectorielle"]
        RERANK["Couche Reranking<br/>Jina | Cohere | Pinecone"]
        EVOLVE["Couche Évolution<br/>Entraînement/Validation | Filtrage contraintes"]
    end

    subgraph Providers["Fournisseurs IA"]
        EMBED["Fournisseurs Embedding<br/>Compatible OpenAI | Jina | Gemini"]
        RERANKP["Fournisseurs Reranking<br/>Jina | Cohere | Pinecone"]
    end

    subgraph Storage["Stockage"]
        JSON["Backend JSON<br/>Fichier"]
        SQLITE["SQLite + Vecteur<br/>Persistant local"]
    end

    CLIENT --> STDIO
    CLIENT --> HTTP
    STDIO --> GOVERN
    HTTP --> GOVERN
    GOVERN --> RETRIEVE
    RETRIEVE --> RERANK
    RERANK --> EVOLVE
    RETRIEVE --> EMBED
    RERANK --> RERANKP
    GOVERN --> JSON
    GOVERN --> SQLITE

Démarrage rapide

Compilez et exécutez le démon de mémoire :

bash
cargo build -p prx-memory-mcp --bin prx-memoryd

PRX_MEMORYD_TRANSPORT=stdio \
PRX_MEMORY_DB=./data/memory-db.json \
./target/debug/prx-memoryd

Ou installez via Cargo :

bash
cargo install prx-memory-mcp

Consultez le Guide d'installation pour toutes les méthodes et options de configuration.

Crates du workspace

CrateDescription
prx-memory-corePrimitives de domaine pour le scoring et l'évolution
prx-memory-embedAbstraction et adaptateurs du fournisseur d'embedding
prx-memory-rerankAbstraction et adaptateurs du fournisseur de reranking
prx-memory-aiAbstraction de fournisseur unifiée pour l'embedding et le reranking
prx-memory-skillPayloads de compétences de gouvernance intégrés
prx-memory-storageMoteur de stockage persistant local (JSON, SQLite, LanceDB)
prx-memory-mcpSurface du serveur MCP avec transports stdio et HTTP

Sections de la documentation

SectionDescription
InstallationCompiler depuis les sources ou installer via Cargo
Démarrage rapideMettre PRX-Memory en route en 5 minutes
Moteur d'embeddingFournisseurs d'embedding et traitement par lots
Modèles pris en chargeModèles compatibles OpenAI, Jina, Gemini
Moteur de rerankingPipeline de reranking en deuxième étape
Backends de stockageJSON, SQLite et recherche vectorielle
Intégration MCPProtocole MCP, outils, ressources et modèles
Référence API RustAPI bibliothèque pour intégrer PRX-Memory dans des projets Rust
ConfigurationToutes les variables d'environnement et profils
DépannageProblèmes courants et solutions

Informations sur le projet

  • Licence : MIT OR Apache-2.0
  • Langage : Rust (édition 2024)
  • Dépôt : github.com/openprx/prx-memory
  • Rust minimum : chaîne d'outils stable
  • Transports : stdio, HTTP

Released under the Apache-2.0 License.