# Hermes

Conecte Hermes Agent a través de su complemento de memoria nativo en PyPI con puntos de control de sesión, captura automática y memoria de proyecto duradera.

- Canonical: https://docs.xmemo.dev/es/docs/connect/hermes
- Locale: es-ES
- Content-Locale: es-ES
- Canonical-Content-Digest: bc9df4e1a62a317f42328c5fb35b354a1666ef85ea9f18ff6c96dbf5dccbdd9f
- Edition-Digest: 23745b221dc693f31b69c65d99877c06c2fcefdd943bd1e53e2d5eabab492457
- Source-Revision: sha256:c1c2001f12dcea28dab430debe91620cc57ef3d7fced5162a27e2afa3fe87072

## A quién va dirigido e interfaz concreta

Esta guía conecta Hermes Agent con la memoria persistente de XMemo. Hermes se integra mediante el paquete de plugin de memoria nativo y mantenido hermes-xmemo (versión 1.1.3) en PyPI, anclado al repositorio activo yonro/hermes-xmemo-plugin @ 30fe1bc20a (https://github.com/yonro/hermes-xmemo-plugin/blob/30fe1bc20a/README.md). Tenga en cuenta que el repositorio archivado yonro/xmemo-hermes-plugin @ eb47797a08 es únicamente una referencia de migración heredada; todas las nuevas instalaciones utilizan hermes-xmemo.

## Requisitos previos

Asegúrese de contar con las siguientes dependencias de tiempo de ejecución y herramientas antes de realizar la conexión:

- CLI y entorno de ejecución de Hermes Agent instalados (Python 3.10+).
- Instalador de paquetes de Python (pip).
- Cuenta válida de XMemo en https://xmemo.dev.
- Acceso de red a https://xmemo.dev/mcp a través de HTTPS.

## Instalación

Instale el proveedor XMemo de Hermes desde el mercado oficial de plugins de Hermes. Si su versión de Hermes no incluye el comando de mercado de plugins, use la alternativa fijada de PyPI.

```bash
hermes plugins install xmemo

# Fallback for older Hermes versions
pip install hermes-xmemo
hermes memory setup xmemo
```

## Autorización y configuración de credenciales

Configure la autenticación mediante una variable de entorno o en la configuración de Hermes. Nunca confirme tokens de portador sin procesar en el control de versiones:

- Variable de entorno (recomendado): Defina XMEMO_KEY en el shell o entorno que inicia Hermes (export XMEMO_KEY='<your-xmemo-token>').
- Asistente de configuración de Hermes: Ejecutar hermes memory setup xmemo solicita credenciales y configura ~/.hermes/config.yaml.
- Comprobación de configuración: Verifique que ~/.hermes/config.yaml contenga memory.provider establecido en xmemo.

## Comportamiento de carga y reinicio

Los procedimientos de reinicio del daemon o recarga de sesiones no están documentados explícitamente en el README del plugin hermes-xmemo (https://github.com/yonro/hermes-xmemo-plugin/blob/30fe1bc20a/README.md); consulte la documentación del host de Hermes Agent o reinicie su sesión de terminal activa de Hermes.

## Comprobación de conexión (sólo lectura)

Verifique la conectividad con una solicitud de recuperación de sólo lectura antes de escribir datos duraderos. Esta comprobación no modifica el estado de la memoria:

- Comprobación: Inicie una sesión de prueba de Hermes y emita una consulta de recuperación activa de sólo lectura para el contexto de proyecto existente.
- Señal de éxito: Hermes devuelve resultados de memoria estructurados con campos Reference y Location válidos desde el espacio de trabajo autorizado.

## Primera tarea útil: Ciclo de vida de la memoria sintética

Verifique la persistencia de la memoria, la transición de sesión sin estado, la recuperación atribuida al origen y la corrección:

- 1. Guardar hecho sintético: Almacene una convención de proyecto ("Hermes demo conventions: UTC logging with ISO 8601 timestamps.") en "projects/demo-hermes/conventions".
- 2. Transición sin estado: Finalice la conversación actual de Hermes e inicie una nueva sesión.
- 3. Recuperación con atribución de origen: Consulte "demo conventions timestamp format". Confirme los campos Reference y Location devueltos.
- 4. Corregir memoria: Actualice la convención recordada mediante update_memory con reglas de formato actualizadas.
- 5. Limpieza opcional: Realice un borrado suave (forget) de la convención de demostración cuando termine la verificación inicial.

## Captura automática y prevención de duplicados

Hermes Agent proporciona captura automática de contexto a través de los límites de ejecución:

- Puntos de control de sesión: Cuando está habilitado en ~/.hermes/config.yaml, Hermes captura resúmenes de sesión y decisiones clave en los hitos limítrofes de la sesión.
- Prevención de duplicados: La desduplicación integrada por hash de contenido garantiza que los hechos y decisiones idénticos no se escriban repetidamente en bucles de ejecución iterativos.
- Límite de ámbito: Cada memoria capturada queda estrictamente aislada en el espacio de trabajo del usuario autenticado y en el ámbito del proyecto activo.

## Conflictos de proveedores y límites de almacenamiento

Comprenda el aislamiento en tiempo de ejecución y la propiedad del almacenamiento:

- Conflictos de proveedores: No habilite varios proveedores de memoria simultáneamente en ~/.hermes/config.yaml. La ejecución de proveedores superpuestos provoca problemas de memoria dividida (split-brain).
- Propiedad del almacenamiento: Todas las memorias duraderas residen en el backend en la nube de XMemo propiedad del usuario. Hermes mantiene únicamente una caché local de corta duración para la capacidad de respuesta de la sesión.
- Límites sin conexión y de reproducción: Las interrupciones transitorias de red son gestionadas por un búfer de escritura local delimitado; las escrituras sin conexión fallan al alcanzar el límite del búfer o la expiración del token, y las acciones no confirmadas no se replican en otros agentes hasta reconectarse.

## Recuperación, actualización y eliminación

Procedimientos de solución de problemas, actualización y eliminación para Hermes:

- Recuperación (401 invalid_token): Verifique que XMEMO_KEY esté configurado en el entorno de shell actual o en la configuración de Hermes.
- Actualización: Los comandos de actualización del plugin no están documentados en el README del plugin hermes-xmemo (https://github.com/yonro/hermes-xmemo-plugin/blob/30fe1bc20a/README.md); ejecute pip install --upgrade hermes-xmemo o consulte la documentación del host de Hermes.
- Eliminación (README línea 292): Para deshabilitar el proveedor de memoria en Hermes, ejecute el comando de eliminación documentado: hermes config set memory.provider "".
- Eliminación local frente a remota: Deshabilitar el proveedor local no elimina las memorias remotas almacenadas ni revoca las credenciales API; elimine memorias o revoque claves en https://xmemo.dev/me.

```bash
hermes config set memory.provider ""
```

