# Proyectos

Lleve los hechos del proyecto, las decisiones y las notas de entrega a través de los clientes aprobados sin copiarlos entre chats.

- Canonical: https://docs.xmemo.dev/es/docs/concepts/projects
- Locale: es-ES
- Content-Locale: es-ES
- Canonical-Content-Digest: e82c162591e96921f73cb208323c4238c42240cf414ab2fbfcb253a4c872a206
- Edition-Digest: 6bba2a57019fd1c265f8115f14ea053864438284c53bd3faa5f5147a7af8ad02
- Source-Revision: sha256:d8d00f958675bca9a3263744deaa85017c659638f29847b5dc3b83ba37f78fc5

## Espacios de trabajo de proyecto en Memory Console

Los Project Workspaces proporcionan límites contextuales estructurados para agrupar recuerdos, rastrear decisiones operativas y administrar tareas activas entre sesiones de clientes. En la Memory Console en https://xmemo.dev/me#projects, la sección de navegación de espacios de trabajo aloja el panel Projects, diseñado para "Browse project workspaces, context, and project memories."

- Métricas del espacio de trabajo: La consola muestra estadísticas de nivel superior en todos sus espacios de trabajo, incluidos Total Projects, Active, Attention Needed y Archived.
- Aprovisionamiento de espacios de trabajo: Al seleccionar Create New Project se abre un modal guiado que requiere un Project Name ("Required, 1-128 characters."). La interfaz representa una vista previa en tiempo real del identificador de proyecto ("Non-authoritative preview. The backend server assigns the authoritative project key.") y acepta una Description opcional de hasta 2000 caracteres.
- Límite personal: Los proyectos son solo personales por el momento. El servicio backend rechaza la creación de espacios de trabajo con team_id (HTTP 400). La documentación no promete soporte para proyectos de equipo.
- Sin límites numéricos: Los espacios de trabajo de proyectos no tienen cuotas de plan numéricas ni límites artificiales de creación. Las cuentas aprovisionan espacios de trabajo en función de las necesidades de flujo de trabajo en lugar de cuotas de plan.

## Asociaciones de memoria, estados de ciclo de vida y eliminación no destructiva

Las memorias se asignan a un proyecto para proporcionar un contexto con alcance para los agentes conectados y la revisión del panel. La vista de detalles del proyecto agrega métricas de salud del proyecto y proporciona una inspección detallada de los registros vinculados:

- Estadísticas destacadas del proyecto: Cada barra destacada del espacio de trabajo resalta agregados en tiempo real para Memories:, Open TODOs: y Decisions:.
- Filtrado por ciclo de vida de la memoria: El explorador de memoria clasifica los registros por estado de ciclo de vida: Active, Superseded, Expired y Archived.
- Desvinculación no destructiva: Eliminar un registro de memoria de un espacio de trabajo de proyecto desvincula la asociación sin destruir la memoria subyacente. El cuadro de diálogo de confirmación afirma: "This memory will be disassociated from this project workspace. The memory content remains in your personal memory archive, but will no longer appear in this project context."
- Aislamiento de diagnóstico: Los elementos con referencias canónicas faltantes o conflictos de espacio de nombres se ponen en cuarentena bajo Diagnostic Isolated Items con la insignia Unindexed - Troubleshooting Only, evitando que el contexto corrupto se filtre al recall del agente.

## Particiones de Knowledge frente a Working y vista Attention Needed

Los espacios de trabajo de proyecto admiten la partición contextual de la memoria si está habilitada para su cuenta (el modo de evaluación de convergencia está desactivado de forma predeterminada):

- Partición de Knowledge: Contiene datos de referencia duraderos, decisiones arquitectónicas a largo plazo y convenciones de proyecto destinadas a un recall persistente.
- Partición de Working memory: Contiene el estado de tareas transitorias, sesiones de trabajo en curso y contexto de borrador que se pueden retirar tras completar un hito.
- Vista Attention Needed: Destaca candidatos no asignados, presuntos duplicados o registros pendientes de atribución cuando la curación particionada está activa para su cuenta.
- Diferencia con las Knowledge Bases: Una partición de Knowledge de proyecto clasifica la memoria conversacional episódica dentro del límite de un proyecto. Por el contrario, una Knowledge Base proporciona documentos de referencia seleccionados con múltiples revisiones administrados mediante almacenamiento independiente. Para obtener documentación seleccionada, consulte la guía de conceptos de Knowledge Bases en /docs/concepts/knowledge-bases.

## Un proyecto combina un scope con una convención de path

Para el alcance básico de la memoria, XMemo no requiere un objeto de proyecto independiente: un proyecto se expresa mediante el scope bajo el cual se escribe una memoria y el espacio de nombres de ruta lógica dentro de él, por lo que una misma cuenta puede contener muchos proyectos sin contaminación cruzada. Sobre ese límite de memoria, Project Workspaces superpone el estado estructurado del proyecto (API de proyecto, seguimiento de TODO y decisiones registradas) para la colaboración entre clientes.

- Escriba los hechos del proyecto en una ruta estable como projects/<name>/decisions.
- Pase el scope del proyecto tanto en la escritura como en la lectura para que la recuperación se mantenga delimitada.
- Project Workspaces superpone el estado estructurado del proyecto (incluidas las API de proyecto, los TODO duraderos y las decisiones registradas) sobre el límite de memoria subyacente.
- Los proyectos siguen siendo solo personales hoy en día; los espacios de trabajo de proyecto con alcance de equipo son rechazados por la API.

## Escribir una decisión de proyecto

Adjunte el registro a la ruta y al scope del proyecto en el momento de la escritura; no es necesario configurar nada más primero.

```ts
await client.recordDecision(
  "Remote agents should use network MCP, not SSH stdio",
  { source: "codex", scope: "memory-os" },
);
```

## Continuar un proyecto en otro cliente

Un segundo cliente invoca el mismo scope y recupera el contexto del proyecto sin que el usuario tenga que volver a explicarlo.

```ts
const context = await client.recallContext("recent agent integration progress", {
  scope: "memory-os",
  maxItems: 6,
  maxTokens: 1200,
});
```

## Herramientas de agente y acceso al perfil de cliente

Los agentes autorizados interactúan con los proyectos a través de herramientas definidas en config/mcp-documentation-contract.json en perfiles de cliente específicos:

- chatgpt-public, generic-public y public-only: Exponen project, get_project_summary y open_project_workspace.
- claude-plugin: Expone project y get_project_context.
- cursor-plugin y ordinary-full: Exponen get_project_context, update_project_todo y update_project_decision.
- Distinción del widget en el chat: El widget de ChatGPT Project Workspace abierto a través de open_project_workspace es una interfaz de tarjeta interactiva dentro del chat; es distinto de la Memory Console completa basada en web en https://xmemo.dev/me#projects.

## Usuario de ChatGPT

Dale a ChatGPT acceso duradero a tus preferencias de XMemo, datos de proyecto, decisiones y TODOs sin pegar fichas bearer en un chat.

Conecte el servidor XMemo MCP alojado a través de la aplicación ChatGPT/OpenAI OAuth flow, luego apruebe la subvención de memoria:read y memoria:write para su cuenta XMemo.

Guarde una nota de preferencia sintética o de proyecto, inicie un nuevo chat y luego pida a ChatGPT que la recuerde a través de XMemo antes de continuar el trabajo.

Si OAuth falla o las herramientas no aparecen, salir del servidor MCP en la aplicación host, volver a conectar la URL del servidor XMemo y volver a probar antes de crear tokens directos.

## Copiloto / Codex desarrollador

Lleve decisiones de repo, convenciones de codificación, notas de corrección de errores e historial de tareas entre los agentes IDE y CLI.

Use OAuth para VS Code / GitHub Copilot y Gemini CLI cuando esté disponible. Para Copilot CLI, Codex, Cursor u otros clientes MCP directos, mantenga XMEMO_KEY en el entorno local o en el almacén de secretos y establezca un XMEMO_AGENT_INSTANCE_ID estable.

Grabe una decisión de base de código o corrección de errores, y luego pida al siguiente agente IDE o CLI que recuerde el contexto XMemo relevante antes de editarlo.

Si las memorias están vacías, verifique la ruta de configuración MCP seleccionada, la variable de entorno XMEMO_KEY para clientes directos y cualquier credencial OAuth rancio en la aplicación host.

## Equipo / propietario del piloto de la empresa

Evalúe la memoria compartida con controles de cuenta, atribución de origen, flujos de trabajo export/delete y pruebas de configuración seguras para los revisores.

Cree o introduzca el espacio de trabajo protegido de XMemo, invite a usuarios aprobados, luego conecte a cada cliente a través de OAuth o una credencial directa con alcance de acuerdo con las insignias de preparación.

Haga que un miembro piloto guarde una memoria sintética del equipo, confirme la atribución de origen en XMemo, luego revise delete/export y las rutas de soporte.

Si un miembro no puede conectarse, compruebe los permisos de rol, la aprobación de OAuth, el estado de preparación del cliente y la orientación de soporte antes de emitir un nuevo token.

## Operador de agente autónomo

Deje que los agentes sin cabeza o programados registren el progreso, recuperen decisiones previas y mantengan una identidad estable de instancia no secreta.

Obtener /api/v1/mcp/config/autonomous-agent. Preferir auth_modes.oauth cuando el runner soporta OAuth + cabeceras personalizadas; utilice auth_modes.xmemo_key con XMEMO_KEY de una tienda secreta sólo para runners totalmente sin cabeza.

Ejecute una tarea sintética que escriba el progreso a XMemo, reinicie el runner y confirme que recuerda que el progreso usando el mismo XMEMO_AGENT_INSTANCE_ID.

Si la atribución cambia o recuerda dividida entre instancias, persistir XMEMO_AGENT_INSTANCE_ID fuera de git y verificar que el runner no lo esté regenerando en cada inicio.
