Local d’abord. Vos données vous appartiennent.

Une mémoire chiffrée.
Entre vos mains.

Vos propres coffres pour vos souvenirs, fichiers privés et identifiants. Commencez sur votre appareil, puis connectez d’autres appareils et outils d’IA quand vous le souhaitez.

Rust CLI Android & iOS MCP

Votre coffre local

Personnel

  • SouvenirsNotes et fiches de connaissances
  • Fichiers privésVos documents conservés
  • IdentifiantsValeurs protégées séparément
Vos clés restent avec vous.
Une représentation conceptuelle d’un coffre, pas une capture de l’application.

Gardez vos données sur votre appareil

Choisissez vos connexions

Accordez les accès consciemment

Une base utile et privée

Un système de coffres.
De multiples usages.

Une base Rust commune à la ligne de commande et aux clients mobiles. Les services facultatifs étendent vos connexions sans changer le propriétaire de vos données.

Coffres locaux et chiffrement

Stockez souvenirs, fiches de connaissances typées, fichiers privés et identifiants avec un chiffrement local. Réutilisez des modèles de fiches et ajoutez des champs personnalisés ordonnés ; les valeurs sensibles restent masquées jusqu’à vérification. Consultez, recherchez et suivez l’historique des versions. Le contenu explicitement privé est exclu de la recherche ordinaire.

Vos données, votre appareil

CLI et démon local

La CLI Rust memories utilise un démon local : un canal nommé sous Windows ou un socket Unix sous Linux/macOS, réservé à l’utilisateur courant du système.

IPC locale

Démon distant facultatif

Connectez-vous au besoin par HTTP/WebSocket authentifié par jeton ou par RPC via relais. L’accès distant utilise le protocole du service et reste soumis aux contrôles de déverrouillage et d’élévation des droits.

Guide de connexion

Centres d’autorisation facultatifs

Les Centers émettent des tickets d’inscription d’appareils et d’autorisation à portée limitée, et peuvent interdire l’initialisation locale autonome. Avec --data DIR, un Center héberge aussi un coffre complet avec déverrouillage distant et gestion des membres. Les administrateurs accordent par défaut un accès en lecture. Les membres demandent des droits et récupèrent une seule fois les autorisations approuvées. Le journal d’audit utilise une chaîne de hachage.

Guide du Center

Mobile et MCP

Les clients Android/iOS appellent le service Rust commun via memories_ffi. Un serveur MCP local et l’injection de skills IA rendent les souvenirs et fiches ordinaires autorisés accessibles à vos outils d’IA, sans renvoyer les valeurs des identifiants enregistrés.

Android / iOS / MCP

Association et transfert d’appareils

Associez les appareils par invitation, vérification des empreintes et approbation. Transférez les coffres chiffrés par fichier ou relais WebSocket. Le transfert en ligne est volontaire et porte sur le coffre entier ; ce n’est pas une synchronisation incrémentale automatique.

Des connexions volontaires

Un contexte vivant

World : la vie présente
d’une persona.

Les fiches de persona conservent un noyau d’identité, des archives liées et des événements de comportement. World ajoute dans profile.world un instantané de l’environnement et de l’état quotidien, séparé de la voix et des règles du SKILL central.

Scène

Regroupez le lieu actuel, la posture, l’apparence et les notes corporelles. Une pièce, un changement de tenue ou un moment de repos fournit du contexte pour la prochaine interaction.

Objets

Donnez à chaque objet un nom, une description, des images et des attributs JSON libres. Une tasse, une table ou un vêtement peut conserver les détails utiles sans modèle d’attributs imposé.

Journal quotidien

Suivez compteurs, repas, consignes en attente ou terminées et dispositions permanentes. Distinguez les activités du jour des cumuls et des états qui persistent d’un jour à l’autre.

Outils

Dés, roues et plannings accompagnent les choix et les routines. Ces outils pratiques restent avec l’état du monde, au lieu d’être intégrés aux instructions de personnalité.

Météo et prévisions

Enregistrez les conditions, la température, l’humidité, le vent et des prévisions facultatives. Les agents peuvent récupérer la météo ailleurs et actualiser l’instantané. World ne récupère pas lui-même la météo en direct.

Hooks d’automatisation

Définissez des actions pour les horaires, intervalles aléatoires, webhooks ou changements d’attributs d’objets. Les agents vérifient les hooks temporels ; le coffre ne fait pas tourner son propre minuteur en arrière-plan.

Comment les éléments s’articulent

Le local au cœur.
La connexion par choix.

Commencez par un coffre local. Ajoutez relais, point d’accès distant ou Center d’autorisation seulement si votre usage le demande.

01 / Vos outils

CLI, mobile, IA

La CLI de bureau et MCP utilisent le démon local. Le mobile utilise le noyau Rust commun via FFI.

memories · memories_ffi
02 / Sur votre appareil

Coffres chiffrés

Stockage local, clés et contrôles d’autorisation. Le démon local sert l’utilisateur courant du système.

Le local comme point de départ
03 / Connexions facultatives

Étendez votre installation

  • RelaisTransfert chiffré entre appareils
  • Démon distantAccès authentifié par jeton
  • CenterTickets d’inscription et MCP

Ce sont des services facultatifs distincts, pas une chaîne obligatoire. Le relais sans état memories-relay ne stocke pas les données et ne met pas les transferts en attente pour les appareils hors ligne.

Un premier pas

Votre premier coffre local.

Il vous faut Rust 1.88 ou plus et une chaîne de compilation C pour SQLite intégré. Ces exemples suivent le README du dépôt.

  1. Installer depuis les sources

    Clonez le dépôt et installez la CLI Rust depuis sa racine.

    Terminal
    git clone https://github.com/mbcc2006/memories.git
    cd memories
    cargo install --path crates/cli --locked
  2. Démarrer le démon local

    Laissez-le tourner dans un terminal séparé. Utilisez un nouveau répertoire de données dédié : --home restreint ses permissions. N’utilisez jamais un dossier général existant.

    Terminal A · laisser actif
    memories --home ./memories-demo daemon
  3. Créer, écrire, rechercher

    Ouvrez un autre terminal dans le même répertoire. Remplacez VAULT_ID par l’identifiant renvoyé à la création du coffre et préparez un fichier notes.md avant l’import.

    Terminal B · même répertoire
    memories --home ./memories-demo init --name laptop
    memories --home ./memories-demo vault create Personal
    memories --home ./memories-demo memory put VAULT_ID \
      --title "Project notes" --input notes.md
    memories --home ./memories-demo memory search VAULT_ID "project"
    memories --home ./memories-demo lock

Paquets précompilés

Téléchargez une version.

Les paquets sont servis par r2.ivjn.us. Vérifiez le SHA-256 avant toute exécution. Les versions macOS sont actuellement réservées à Apple Silicon (arm64).

v0.1.7 · 14 octobre 2026 : les paquets Windows, Linux et Android sont reconstruits depuis 7647166. Ils comprennent les modèles de fiches et champs personnalisés, l’édition des contenus hébergés et la commande de bureau memories file exec pour lancer des programmes avec des fichiers de configuration du coffre. Android corrige aussi le démarrage des versions optimisées, conserve la signature existante et utilise le build 8. Le correctif source est lié ci-dessous. macOS reste en v0.1.3. Vérifiez le BUILD-INFO.json et le SHA-256 de chaque paquet avant installation.

MEMORIES WEB

Votre Center dans votre navigateur.

Gérez souvenirs, fiches et fichiers avec votre autorisation Center existante. Aucune installation requise.

Ouvrir l’application web

Linux x86_64

v0.1.7

Archive GNU/Linux (~43 MiB) : CLI, relais, FFI, documentation et exemple de configuration. Compilée avec glibc 2.39 et OpenSSL 3. Commit 7647166.

SHA-256 2a58ab5702e82baa4dc7fcc30a42b4ca01811d3a9312facf5429d444b0f64b7d

Windows x86_64

v0.1.7

ZIP Windows (~49 MiB), avec l’utilitaire de notification. Commit 7647166.

SHA-256 755663b54323bfcf4ba9bef474c10599542372416ac6b50dcc4bd0d3f75fdcad

macOS arm64

v0.1.3

ZIP Apple Silicon (~53 MiB) contenant Memories.app non signée.

SHA-256 0902ab07e4822a037eb729f3c52186aad41895427d2e360826e1164484031272

Android arm64 / x86_64

v0.1.7

APK signé (~140 MiB), build 8 : client Center hébergé, association QR et synchronisation E2E entre appareils. Commit 7647166.

SHA-256 74256790a248ea17b0f9ad60aa74be311da7ef77b243023fa8d4490b76a1d24d

Quelques points à connaître

Des limites claires.
Des réponses utiles.

Lire la documentation
Qu’est-ce qui est chiffré localement ?

Souvenirs, fichiers privés, identifiants et clés privées sont chiffrés dans le stockage local. Les clés restent sur les appareils des utilisateurs. Les clés publiques des appareils et leurs empreintes sont volontairement visibles. Une fois le coffre déverrouillé, les clients autorisés peuvent accéder au contenu permis. Le chiffrement local ne protège pas un appareil compromis.

Que peut voir le relais ?

La synchronisation entre appareils (/v1/channel) est chiffrée de bout en bout : le relais voit le texte chiffré et les métadonnées du trafic, pas les données en clair. Le Relay RPC du démon distant est différent : son JSON authentifié n’est pas chiffré de bout en bout. L’opérateur du relais ou le point de terminaison TLS peut lire le jeton d’écoute partagé et les requêtes et réponses. Utilisez un relais de confiance pour le RPC. Le relais fourni ne conserve ni données ni files hors ligne, mais un opérateur pourrait enregistrer le trafic ou bloquer des connexions. Vérifiez les empreintes des appareils lors de la synchronisation.

Faut-il un relais ou un Center ?

Non. Un coffre local et un démon suffisent pour commencer. Le relais permet le transfert chiffré en ligne entre appareils, le démon distant fournit un accès authentifié par jeton et le Center émet les tickets d’inscription et d’autorisation ou héberge un coffre. Chacun est facultatif et a son propre rôle.

L’IA peut-elle lire mes identifiants ?

L’accès MCP ordinaire est limité par les autorisations explicites des coffres. Il traite les souvenirs et fiches ordinaires autorisés, sans renvoyer les valeurs des identifiants enregistrés ou le contenu explicitement privé, et sans hériter de l’élévation du terminal. Le mode mcp serve-unattended, inscrit séparément, peut volontairement renvoyer sur demande identifiants en clair, contenus privés et fichiers des coffres sélectionnés. Activez-le uniquement pour des clients de confiance après consentement explicite. L’injection de skills ne change les limites d’accès d’aucun des deux modes.

Quel est l’état du développement ?

C’est une version de développement au format de stockage v1, avec du code exécutable et des tests de régression de sécurité. Elle n’a pas fait l’objet d’un examen indépendant de cryptographie ou de sécurité applicative. Consultez les types de fiches et champs et les notes de sécurité pour les garanties et limites actuelles.

Commencez avec ce qui vous appartient

Faites place à vos souvenirs.

Explorez le code, lisez les guides et essayez un coffre local.

Ouvrir la documentation