@pandi-coding-agent/pandi-auto-compact

Extensión de Pi que auto-compacta el contexto cuando el uso supera un umbral configurable.

Packages

Package details

extension

Install @pandi-coding-agent/pandi-auto-compact from npm and Pi will load the resources declared by the package manifest.

$ pi install npm:@pandi-coding-agent/pandi-auto-compact
Package
@pandi-coding-agent/pandi-auto-compact
Version
0.2.8
Published
Jul 16, 2026
Downloads
1,434/mo · 606/wk
Author
andrestobelem
License
MIT
Types
extension
Size
58.7 KB
Dependencies
0 dependencies · 2 peers
Pi manifest JSON
{
  "extensions": [
    "./index.ts"
  ]
}

Security note

Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.

README

@pandi-coding-agent/pandi-auto-compact

Las sesiones largas de Pi se quedan sin contexto, y un /compact manual puede perder silenciosamente datos que todavía necesitabas. Esta extensión vigila el uso de contexto y compacta sola cuando cruza un umbral (por defecto 50%), con una barra en el footer para anticiparlo, un hook de resumen rápido y acotado (Sonnet 5 por defecto, openai-codex/gpt-5.6-sol en sesiones Codex) y una instantánea en disco para que un resumen con pérdida nunca quede irrecuperable.

Inicio rápido

pi install npm:@pandi-coding-agent/pandi-auto-compact
/auto-compact                 # abre el menú interactivo (sesión con UI)
/auto-compact status          # muestra el umbral, la barra, el resumen, las instantáneas y el estado de clear-tools
/auto-compact 50              # sobrescribe el umbral predeterminado sensible al modelo
/auto-compact summary off     # vuelve al resumen nativo de compactación de Pi
/auto-compact clear-tools on  # también elide la salida vieja de tools en cada llamada al LLM

Otros modos de instalación: pi install ./extensions/pandi-auto-compact (global), agregar -l (proyecto local) o pi --no-extensions -e ./extensions/pandi-auto-compact (prueba puntual). La compactación corre sola después del turno de un agente cuando el uso supera el umbral.

Comandos

Comando Qué hace
/auto-compact Sin argumentos, en una sesión con UI abre un menú interactivo; si no, muestra el estado.
/auto-compact status Muestra la configuración actual.
/auto-compact on|off Activa o desactiva la auto-compactación (enable/disable también funcionan).
/auto-compact run Compacta el contexto ahora (compact también funciona).
/auto-compact <1-99> Define el porcentaje de umbral de compactación.
/auto-compact bar [on|off] Muestra, oculta o alterna la barra de progreso del footer; por ejemplo compact ▰▰▱▱▱▱▱▱ 9%/50%.
/auto-compact summary [on|off] Alterna el hook de resumen rápido y acotado de compactación.
/auto-compact snapshot [on|off] Alterna las instantáneas recuperables antes de compactar.
/auto-compact snapshots Lista las rutas de instantáneas recientes de la sesión actual.
/auto-compact clear-tools [on|off] Alterna la elisión de salidas viejas y grandes de tools por llamada al LLM.

Cómo funciona

Resumen rápido (activado por defecto): antes de que Pi escriba una entrada de compactación, la extensión intenta resumir con un prompt operativo acotado y un modelo elegido para la sesión actual: anthropic/claude-sonnet-5 normalmente, openai-codex/gpt-5.6-sol en sesiones Codex. Se puede sobrescribir con PI_AUTO_COMPACT_SUMMARY_MODEL=provider/model o desactivar con /auto-compact summary off. Si falla la búsqueda del modelo, la autenticación o el resumen, Pi vuelve a su compactor nativo.

Instantáneas (a prueba de fallos, en .gitignore): en cualquier camino de compactación (manual, por umbral, recuperación de overflow), las entradas crudas se escriben en <cwd>/.pi/compaction-snapshots/<sessionId>/<timestamp>-<reason>.json y después se parchean con el resumen — un error de escritura nunca bloquea la compactación. Se separan de .pi/memory/ (hechos curados, no transcripciones crudas).

Limpieza de tool-result (desactivada por defecto, efímera, no destructiva y más barata que compactar completo): antes de cada llamada al LLM, recorta el texto voluminoso de tool results viejos y ya consumidos, conservando un fragmento inicial y final. Solo toca el texto de toolResult (toolCallId/toolName/isError/imágenes se preservan); los resultados recientes y los de error nunca se limpian; al desactivarla, restaura de inmediato los originales completos, independientemente del umbral de compactación.

Detalles

Valores iniciales, sobrescribibles mediante variables de entorno:

Variable Predeterminado Significado
PI_AUTO_COMPACT_PERCENT 50 Porcentaje de umbral de compactación.
PI_AUTO_COMPACT_BAR on Visibilidad de la barra de progreso del footer.
PI_AUTO_COMPACT_FAST_SUMMARY on Usa el resumen personalizado rápido y acotado de compactación.
PI_AUTO_COMPACT_SUMMARY_MODEL sensible al modelo (anthropic/claude-sonnet-5, Codex → openai-codex/gpt-5.6-sol) Sobrescribe el modelo de resumen como provider/model.
PI_AUTO_COMPACT_SUMMARY_MAX_TOKENS 4096 Máximo de tokens de salida para la llamada de resumen.
PI_AUTO_COMPACT_SUMMARY_MAX_INPUT_CHARS 80000 Máximo de caracteres de entrada serializada enviados al prompt de resumen.
PI_AUTO_COMPACT_SNAPSHOT on Instantáneas recuperables antes de compactar.
PI_AUTO_COMPACT_SNAPSHOT_KEEP 20 Presupuesto de retención de instantáneas por sesión.
PI_AUTO_COMPACT_CLEAR_TOOL_RESULTS off Limpieza de tool-result.
PI_AUTO_COMPACT_CLEAR_KEEP_RECENT 3 Cantidad de tool results más recientes que se conservan intactos.
PI_AUTO_COMPACT_CLEAR_MIN_CHARS 2000 Solo elide texto de tool-result más largo que este valor.

Relacionado

Para instalar el paquete completo de extensiones y skills, instalá la raíz del repositorio.