HERMES AGENT

Hermes Agent es un framework de agentes IA open-source y agnóstico al proveedor. ChainMemory se integra por dos vías: el servidor MCP (herramientas nativas dentro del chat) o el wrapper cm.py CLI (control total desde terminal).

Requisitos previos

  • Hermes Agent instalado (Windows, macOS, Linux, WSL)
  • Cuenta ChainMemory con API key (formato: aic_...)
  • Python 3.10+ (para wrapper cm.py)

Obtener tu API Key

Las cuentas ChainMemory se crean exclusivamente desde la Extensión Chrome:

  1. Instalá la Extensión ChainMemory
  2. Abrí el popup desde la barra del navegador
  3. Elegí "Generar API Key automáticamente" (wallet gratis + 1 AIC) o "Ya tengo una key"
  4. Andá a Configuración → Conexión y hacé clic en "Ver" para copiar tu key

Importante: El Faucet (faucet.chainmemory.ai) solo distribuye tokens AIC para operaciones on-chain, no emite API keys. La API key se obtiene únicamente desde la Extensión.

Opción A: Servidor MCP (Flujo de chat)

El servidor MCP expone ChainMemory como herramientas nativas dentro del chat de Hermes. Después de configurar, podés decir cosas como "Recordá: decidimos usar PostgreSQL" y Hermes llamará la herramienta automáticamente.

Configuración

Editá ~/.hermes/config.yaml y agregá:

YAML — ~/.hermes/config.yaml
mcp_servers:
  chainmemory:
    command: "python"
    args: ["C:\\Users\\<usuario>\\.hermes\\skills\\chainmemory-mcp\\chainmemory_mcp_server.py"]
    env:
      CHAINMEMORY_API_KEY: "aic_..."
      CHAINMEMORY_BASE_URL: "https://api.chainmemory.ai/v1"
      CHAINMEMORY_DEFAULT_PROJECT: "default"

Reiniciá Hermes después de editar. Las herramientas aparecen como mcp_chainmemory_* en el chat.

Herramientas MCP Disponibles

HerramientaQué hace
mcp_chainmemory_save_memoryGuardar una memoria
mcp_chainmemory_list_memoriesListar / buscar memorias
mcp_chainmemory_get_profileInfo de cuenta (tier, contadores)
mcp_chainmemory_list_projectsListar todos tus proyectos
mcp_chainmemory_get_balanceSaldo AIC + URL del faucet
mcp_chainmemory_get_blockchain_statsAltura de chain, total de anclajes
mcp_chainmemory_update_memory_tagsRetaguear una memoria
mcp_chainmemory_archive_memoryArchivar / desarchivar

Opción B: Wrapper cm.py (CLI / Scripts)

cm.py es un CLI Python que envuelve la API REST. Maneja headers de auth, pacing y reintentos. Instalalo via el skill de ChainMemory:

bash
hermes skills install chainmemory

Luego configurá tu key:

bash
chmod 600 ~/.hermes/chainmemory.env

Comandos

ComandoQué hace
cm whoamiMostrar cuenta, tier, cuota
cm projectsListar todos los proyectos
cm save "texto" --project mi-appGuardar una memoria
cm recall --project mi-appRecuperar memorias recientes
cm search "query" --project mi-appBúsqueda semántica
cm state mi-appProject State (decisiones, riesgos, hitos, stack)
cm seal mi-appAnclar estado on-chain (irreversible)
cm verify mi-appVerificación pública (sin auth)

Opción C: API REST Directa

Cualquier cliente HTTP funciona. URL base: https://api.chainmemory.ai/v1. Header de auth: x-api-key: aic_... (no Authorization: Bearer).

Notas importantes

  • Header de auth: Usá x-api-key, no Authorization: Bearer.
  • Rate limits: 30–600 req/min según plan.
  • El estado no se construye solo: no hay consolidación en el backend ni disparador automático. El Project State cambia únicamente cuando un cliente propone operaciones vía update_project_state (MCP) o POST /v1/project/:name/state/ops (API). Esperar no va a producir un estado — pedirlo, sí.
  • Qué significa "seal" acá: en la API y el servidor MCP de ChainMemory, seal vuelve permanentemente inmutable una sola memoria (POST /v1/seal/:id, que toma tu número de memoria). El Project State se ancla como parte de la consolidación, no sellando. cm.py es un wrapper de terceros y puede mapear sus comandos de otra forma.
  • Paths en Windows: En config.yaml, usá doble backslash: C:\\Users\\<usuario>\\...

Verificar la configuración

bash
# vía MCP (en chat)
"Guardá esto: decidimos usar PostgreSQL para la base primaria"

# vía CLI
cm whoami
cm save "Decidimos usar PostgreSQL para DB primaria" --project mi-app --tags decision,stack
cm state mi-app
cm verify mi-app