# Instrucciones para el agente: Lossless Claw: conserva historial y recupera detalles compactados

Pega este texto a tu agente (Claude Code, Codex, OpenCode, Hermes o el que uses) y dile «ayúdame a montarlo». Son los pasos para ponerlo en marcha; el porqué de cada pieza está en la guía completa.

- Dificultad: principiante
- Proyecto: https://github.com/Martian-Engineering/lossless-claw (licencia MIT)
- Guía completa: https://lab.wisd.ai/hub/lossless-claw

---

## Para el agente: cómo acompañar al usuario

1. Pregunta primero para qué lo quiere. Si su objetivo no necesita algún paso, sáltalo.
2. Antes de instalar, comprueba lo que ya tiene (versiones, claves, sistema operativo).
3. Avanza un paso cada vez: explica en una frase qué vas a hacer y deja que el usuario lo ejecute o lo apruebe.
4. Tras cada paso, comprueba que funcionó antes de seguir. Si falla, para y explica el error.
5. No inventes comandos ni opciones: si la documentación del proyecto contradice estos pasos, manda la documentación.
6. Al terminar, haz una prueba real con el objetivo del usuario y dile dónde profundizar.

---

## Pasos de configuración

Comprueba que usas OpenClaw ≥2026.9.2 y su intervalo de Node compatible. El plugin pide ≥22, pero el [manifiesto actual de OpenClaw](https://github.com/openclaw/openclaw/blob/main/package.json) exige `>=24.22.1 <25 || >=26.12.1`; comprueba `node --version` contra ese intervalo si instalas la revisión actual. Necesitas npm/npx y un proveedor de resúmenes configurado. Instala el plugin con el comando oficial:

```bash
openclaw plugins install @martian-engineering/lossless-claw@latest
```

En la configuración de OpenClaw, confirma `plugins.slots.contextEngine: "lossless-claw"` y `plugins.entries.lossless-claw.hooks.allowConversationAccess: true`, conforme a [Configure OpenClaw](https://github.com/Martian-Engineering/lossless-claw#configure-openclaw). Si usas `plugins.allow`, incluye el identificador `lossless-claw` sin quitar los demás plugins activos. Reinicia OpenClaw después de cambiar la configuración. No migres sesiones sin leer antes el modo de simulación del migrador.

## Comprobación

El paquete declara el ejecutable `lcm`. Se invoca mediante npm/npx para que la comprobación no dependa de que la instalación del plugin añada su carpeta de binarios al PATH:

```bash
npx --package @martian-engineering/lossless-claw@latest lcm status
```

`status` comprueba el estado del motor y su base; no demuestra recuperación. Haz además esta prueba en una conversación desechable con el motor seleccionado:

1. Envía el dato de ensayo «LCM-AUD3: la clave de entrega es ventana turquesa 7319» y guarda tú una copia del mensaje original fuera del contexto del agente, en `control-lcm.txt`. Anota la clave real de la sesión.
2. Identifica su conversación con la orden de lectura del README, sustituyendo la clave de ejemplo:

   ```bash
   npx --package @martian-engineering/lossless-claw@latest lcm conversations show --session-key 'CLAVE_REAL_DE_SESION'
   ```

   Anota el identificador numérico devuelto. Con ese valor, sustituyendo `42`, comprueba el mensaje fuente:

   ```bash
   npx --package @martian-engineering/lossless-claw@latest lcm messages tail --conversation-id 42
   ```

3. Continúa la conversación de prueba hasta que el mensaje de control salga del tramo reciente y forme parte de un resumen. Puedes solicitar `/compact` cuando el entorno admita [compactación manual](https://github.com/openclaw/openclaw/blob/main/docs/concepts/compaction.md#manual-compaction). Una sesión corta puede conservar el mensaje reciente: no lo confundas con recuperación desde un resumen. Consulta los resúmenes con el identificador real:

   ```bash
   npx --package @martian-engineering/lossless-claw@latest lcm summaries list --conversation-id 42 --depth 0 --recency 7d
   ```

4. Pide al agente usar `lcm_grep` con `pattern: "LCM-AUD3"`, `scope: "messages"` y `conversationId` igual al identificador real. Conserva el identificador y la fecha del mensaje. Con un identificador `sum_...` real de la lista, pide `lcm_describe` (`id` y `conversationId`) e inspecciona su rango temporal y estructura. Elige un resumen cuyo rango incluya el mensaje; la expansión siguiente debe confirmar el vínculo con la fuente, no solo una coincidencia de fechas.
5. Pide: «Recupera el dato de entrega LCM-AUD3 desde el resumen identificado mediante `lcm_expand_query`, restringido a esta conversación; cita el mensaje original. No leas control-lcm.txt ni respondas solo desde el contexto reciente». Usa el identificador real en `summaryIds`, el identificador de conversación en `conversationId` y la petición en `prompt`. Esa herramienta delega la expansión; `lcm_expand`, con `includeMessages: true`, es la herramienta de expansión de fuentes del subagente, no una orden de shell.
6. Contrasta la respuesta y su cita con `control-lcm.txt` y con el identificador del mensaje fuente. Debe recuperar «ventana turquesa 7319» y la expansión debe acreditar que ese mensaje pertenece al resumen elegido. No des la prueba por válida si solo muestra el resumen, repite un dato aún reciente o no cita la fuente.

Las operaciones de lectura proceden del [README](https://github.com/Martian-Engineering/lossless-claw#commands-and-skill); los parámetros de las herramientas están en [lcm_grep](https://github.com/Martian-Engineering/lossless-claw/blob/main/src/tools/lcm-grep-tool.ts), [lcm_describe](https://github.com/Martian-Engineering/lossless-claw/blob/main/src/tools/lcm-describe-tool.ts) y [lcm_expand_query](https://github.com/Martian-Engineering/lossless-claw/blob/main/src/tools/lcm-expand-query-tool.ts). No hace falta migrar sesiones para esta prueba.

## Si algo falla

Revisa compatibilidad de OpenClaw, selección del motor y proveedor de resúmenes. Si no hay resumen que abarque el mensaje o no están disponibles las herramientas de recuperación, detente y registra la comprobación como pendiente; `status` no la sustituye. La receta se ha contrastado documentalmente, sin ejecutar la instalación ni la prueba.
