Objectif de l'utilisateur
Établissez un espace de travail de projet dédié pour organiser les mémoires contextuelles, suivre les décisions opérationnelles et les tâches actives, récupérer le contexte ciblé du projet dans les agents connectés et vérifier que la suppression des associations de projet laisse intactes les mémoires personnelles fondamentales.
Disponibilité et prérequis
Les espaces de travail de projet sont disponibles pour tous les comptes personnels dans la Memory Console sur https://xmemo.dev/me#projects et via les profils de client MCP pris en charge :
- Frontière personnelle : les projets sont strictement personnels aujourd'hui ; toute tentative de création d'un projet avec team_id est rejetée par le serveur (HTTP 400). La documentation ne garantit aucune prise en charge des projets d'équipe.
- Quotas non plafonnés : la création d'espaces de travail n'est limitée par aucun quota numérique de forfait ni aucune contrainte artificielle de projet. Les comptes créent des espaces selon leurs besoins.
- Vue partitionnée : la vue "Attention requise" (Attention Needed) et les partitions de mémoire de connaissances (Knowledge) par rapport à la mémoire de travail (Working) fonctionnent si elles sont activées pour votre compte (le mode d'évaluation de la convergence est désactivé par défaut).
- Connectivité des agents : les agents connectés accèdent aux outils de projet correspondant à leur profil client, conformément à config/mcp-documentation-contract.json.
1. Accéder aux Projets dans la Memory Console
Connectez-vous à votre tableau de bord personnel et ouvrez https://xmemo.dev/me#projects. Dans la navigation de gauche, sélectionnez la section Workspace et cliquez sur Projects. L'en-tête du volet indique "Browse project workspaces, context, and project memories." et affiche des métriques globales pour Total Projects, Active, Attention Needed et Archived.
https://xmemo.dev/me#projects
Workspace -> Projects -> Total Projects (0) | Active (0) | Attention Needed (—) | Archived (0)2. Allouer un nouvel espace de travail de projet personnel
Cliquez sur Create New Project dans la zone d'action supérieure pour ouvrir la fenêtre de dialogue :
- Nom du projet : saisissez un nom de projet descriptif (par exemple "Incident Response Automation"). Le champ indique "Required, 1-128 characters." et vérifie l'absence de caractères de contrôle et de séparateurs de chemin (/ ou \).
- Aperçu de l'identifiant du projet : vérifiez l'identifiant d'aperçu (#incident-response-automation). Le texte d'aide confirme : "Non-authoritative preview. The backend server assigns the authoritative project key."
- Description : saisissez éventuellement une description de périmètre jusqu'à 2000 caractères (par exemple "Operational runbooks, triage checklists, and automated incident response workflows.").
- Soumission : cliquez sur Create Project. Le serveur attribue l'identifiant canonique et ouvre la vue détaillée du projet.
3. Associer des mémoires, des TODOs et des décisions
Une fois l'espace de travail alloué, enrichissez-le de contexte ciblé, de tâches en attente et de décisions d'architecture :
- Associer une mémoire : écrivez une mémoire synthétique de runbook opérationnel délimitée au projet (scope: "incident-response-automation") : "Runbook policy: P0 production outages trigger immediate secondary on-call escalation after 15 minutes of unacknowledged alerts."
- Consigner un TODO : dans la vue détaillée du projet ou via un agent, ajoutez une tâche : "Draft post-incident review template for payment gateway timeouts."
- Consigner une décision : enregistrez une décision d'architecture : "Use PagerDuty webhook adapter for primary incident ingestion."
- Inspecter les indicateurs clés : la barre d'en-tête reflète les totaux en direct : Memories: 1, Open TODOs: 1, Decisions: 1.
await client.remember(
"Runbook policy: P0 production outages trigger immediate secondary on-call escalation after 15 minutes of unacknowledged alerts.",
{
path: "projects/incident-response-automation/runbooks/p0-escalation",
scope: "incident-response-automation",
},
);4. Vérifier le rappel contextuel des agents
Connectez un client agent autorisé pour vérifier que la récupération du projet renvoie les enregistrements délimités sans interférences avec d'autres projets :
- Cursor ou Ordinary Full : les agents invoquent get_project_context(project_id="incident-response-automation") pour récupérer les mémoires actives, les TODOs en attente et les décisions consignées.
- ChatGPT ou Generic Public : les agents invoquent get_project_summary(project_id="incident-response-automation") ou open_project_workspace pour inspecter le statut récapitulatif.
- Widget interactif ChatGPT : le widget interactif dans le chat ouvert par open_project_workspace fournit des fiches de tâches directement dans la conversation ; il est distinct de la Memory Console web complète sur https://xmemo.dev/me#projects.
{
"project_id": "incident-response-automation",
"status": "active",
"memories_count": 1,
"open_todos": 1,
"decisions": 1,
"summary": "Operational runbooks, triage checklists, and automated incident response workflows."
}5. Dissocier la mémoire et vérifier la suppression non destructive
Vérifiez que la suppression d'une mémoire de projet dissocie la liaison avec l'espace de travail tout en préservant l'enregistrement de mémoire personnelle sous-jacent :
- Ouvrir le panneau de mémoire : dans la liste des mémoires du projet, sélectionnez le runbook opérationnel pour afficher le panneau de détails.
- Lancer la suppression : cliquez sur Remove from Project dans les actions du panneau.
- Confirmer la dissociation : la boîte de dialogue s'ouvre avec le titre "Remove from Project" et le sous-titre "This memory will be disassociated from this project workspace.". Notez l'avertissement : "The memory content remains in your personal memory archive, but will no longer appear in this project context."
- Exécuter la confirmation : cliquez sur Remove. Le compteur de mémoire du projet diminue à 0.
- Vérifier la persistance globale : accédez à votre archive de mémoire personnelle (/me#memory) et confirmez que la mémoire du runbook reste intacte et consultable.
Résultat observable
Au terme de ce flux de travail, votre espace démontre un isolement opérationnel complet :
- Statut de l'espace de travail : le projet figure sous les projets actifs (Active) avec le slug canonique #incident-response-automation.
- Isolement contextuel : les agents connectés interrogent le contexte du projet et reçoivent des faits délimités sans contamination par des projets non liés.
- Sécurité des données : la dissociation des enregistrements de mémoire d'un espace de travail décrémente avec succès les agrégats du projet tout en conservant définitivement les mémoires personnelles dans votre archive.
Ce à quoi les agents peuvent accéder
La disponibilité des outils pour agents dépend strictement du profil client configuré dans config/mcp-documentation-contract.json :
- Profils chatgpt-public, generic-public et public-only : exposent project, get_project_summary et open_project_workspace.
- Profil claude-plugin : expose project et get_project_context.
- Profils cursor-plugin et ordinary-full : exposent get_project_context, update_project_todo et update_project_decision.
- Limites des profils : les autres profils clients n'exposent pas d'outils de projet. Toute tentative d'appel d'outils hors contrat entraînera des rejets de détection d'outils.
Limites de partage et de cycle de vie
Les espaces de travail de projet appliquent des limites opérationnelles et de données strictes :
- Frontière personnelle : tous les espaces de travail sont strictement personnels aujourd'hui. Les espaces de travail d'équipe ne sont pas pris en charge et les requêtes fournissant team_id échouent à la validation.
- États du cycle de vie : l'explorateur de mémoires classe les enregistrements selon les statuts Active, Superseded, Expired et Archived.
- Partitions de curation : si activées pour votre compte, les espaces de travail proposent des partitions de mémoire de connaissances (Knowledge) et de travail (Working). La partition Knowledge conserve les conventions persistantes ; la partition Working stocke l'état transitoire de session.
- Distinction avec les bases de connaissances : les partitions de projet organisent les mémoires conversationnelles épisodiques. À l'inverse, les bases de connaissances assurent une gestion formelle et versionnée de documents avec des instantanés multi-révisions. Pour la documentation structurée, consultez /docs/concepts/knowledge-bases.
- Limite de quota : les espaces de travail de projet personnels ne sont soumis à aucun quota numérique.
Récupération en cas d'échec
Cas limites courants et actions de récupération :
- Nom de projet en doublon (HTTP 409) : le serveur refuse les doublons avec "A project with this name or identifier already exists in your workspace.". Fournissez un nom de projet distinct.
- Nom de projet non valide (HTTP 400) : les noms de projet ne peuvent pas contenir de barres obliques (/ ou \), dépasser 128 caractères ni utiliser de jetons réservés (_project, ., ..). Corrigez le nom dans la fenêtre de création.
- Inadéquation des outils du profil client : si un agent ne trouve pas get_project_context, vérifiez le profil client actif. Le profil chatgpt-public expose get_project_summary, tandis que get_project_context est exposé sous cursor-plugin et ordinary-full.
- Conflit de versions (HTTP 409) : si une autre session modifie simultanément le projet ou la mémoire, le panneau affiche "Modified elsewhere, please reload" à côté d'un bouton Reload. Cliquez sur Reload pour rafraîchir l'état.
Référence connexe
Pour découvrir des fonctionnalités complémentaires et des références techniques, consultez :
- Référence du concept de projets : détails d'architecture et conventions de portée sur /docs/concepts/projects.
- Guide de la Memory Console : visite complète de la console web sur /docs/guides/memory-console.
- Guide des bases de connaissances : gestion documentaire de référence sur /docs/concepts/knowledge-bases.
- API REST des projets : points de terminaison programmatiques authentifiés sur /docs/api/projects.
Flux par rôle
Utilisateur de ChatGPT
Donnez à ChatGPT un accès durable à vos préférences XMemo, faits de projet, décisions et TODOs sans coller de jetons bearer dans un chat.
Enregistrez une préférence synthétique ou une note de projet, démarrez un nouveau chat, puis demandez à ChatGPT de la rappeler via XMemo avant de poursuivre le travail.
Développeur Copilot / Codex
Transmettez les décisions du dépôt, les conventions de codage, les notes de correctifs et l'historique des tâches entre les agents IDE et CLI.
Enregistrez une décision relative au code ou un correctif, puis demandez au prochain agent de l'IDE ou de la CLI de rappeler le contexte XMemo pertinent avant toute modification.
Responsable de projet pilote d'équipe / entreprise
Évaluez la mémoire partagée avec les contrôles de compte, l'attribution des sources, les flux d'exportation/suppression et des preuves de configuration sécurisées pour les évaluateurs.
Demandez à un membre du projet pilote d'enregistrer une mémoire d'équipe synthétique, confirmez l'attribution de la source dans XMemo, puis examinez les chemins de suppression/exportation et de support.
Source : Guide des projets