ashlr-plugin

Plugin de código abierto para Claude Code que reemplaza Read/Grep/Edit/Bash con versiones eficientes en tokens. Evaluado de forma independiente con una reducción del 57% de tokens en bases de código reales. 40 herramientas MCP.

Documentación

ashlr-plugin

Reduce el uso de tokens de Codex y Claude Code en un −57 % en bases de código reales. TS −62 % · Python −65 % · Rust −44 % — medido en vercel/ai, pandas y tokio. IC del 95 % reportado por el ejecutor de benchmarks. Reproducible con bun run scripts/run-benchmark.ts --compare. (metodología completa)

40 herramientas MCP que reemplazan flujos de trabajo de alto volumen de Read / Grep / Edit / Bash con versiones que devuelven menos sin perder lo que importa. Claude Code obtiene redirecciones automáticas de PreToolUse (ASHLR_HOOK_MODE=redirect); Codex obtiene empaquetado de plugin de primera clase, MCP, skills y hooks de nudge-first.

Requiere Bun ≥ 1.3 — los instaladores interactivos pueden ofrecer instalar Bun; las instalaciones por pipe/no interactivas omiten ese aviso y dependen del bootstrap de MCP si Bun falta. Verifica con bun --version primero.

curl -fsSL https://bun.sh/install | bash
# macOS / Linux
curl -fsSL https://plugin.ashlr.ai/install.sh | bash

# Windows (PowerShell)
irm https://raw.githubusercontent.com/ashlrai/ashlr-plugin/main/docs/install.ps1 | iex

Página de inicio: plugin.ashlr.ai · Docs: plugin.ashlr.ai/docs · Librería principal: @ashlr/core-efficiency · Licencia: MIT

Código abierto y benchmarks honestos. El titular de −57 % es reproducible en tu propio código con bun run scripts/run-benchmark.ts --compare (metodología). Cada cifra de ahorro de ashlr incluye un IC del 95 %. La telemetría está desactivada por defecto. Compara con alternativas cerradas y auto-benchmarkeadas con /ashlr-benchmark --compare.

CI — Linux CI — macOS CI — Windows

Probado en: Ubuntu 22.04 · macOS 14 (Sonoma) · Windows Server 2022 · Hooks de TypeScript (sin necesidad de bash)


Novedades en v1.36

  • Empaquetado de plugin nativo para Codex.codex-plugin/plugin.json, .mcp.json, skills de flujo de trabajo de Codex, guía de agentes explorador/trabajador de Codex y hooks portables de Codex se incluyen en el mismo paquete que el plugin de Claude Code.
  • Lanzamiento fiable de MCP para Codexashlr-mcp inicia el router directamente con ASHLR_MCP_HOST=codex-cli, comportamiento de cwd consciente del workspace y soporte de ASHLR_ALLOW_PROJECT_PATHS para directorios de lanzamiento que no son de plugin.
  • Hooks de nudge-first para Codex — Los hooks de Codex ahora inyectan guía de herramientas compactas para Bash, apply_patch, Read/Grep/Glob, Edit/MultiEdit, Write y llamadas MCP de Ashlr de alto valor sin forzar redirecciones por defecto.
  • Flujos de trabajo CLI neutrales al hostashlr codex-doctor, ashlr codex-install --dry-run, ashlr codex-start, ashlr codex-resume, ashlr codex-end y ashlr genome-refresh dan a los usuarios de Codex la misma superficie operativa sin escribir configuración de Claude.
  • Cuatro skills de disciplina/ashlr-search, /ashlr-lean-tools, /ashlr-genome-author, /ashlr-cost-refactor. Cada una impone un patrón específico anti-desperdicio; cada una persiste en ~/.ashlr/<name>.json. Actívalas con /ashlr-<name> on/off.
  • /ashlr-efficient — remodelador de estructura de salida. Impone respuesta-primero (pirámide invertida), código en línea para todos los identificadores, tablas para comparaciones de 3+ elementos y sin relleno transicional. Funciona solo o junto a /ashlr-brief.
  • Dos hooks de ciclo de vidaSubagentStop acumula los ahorros de subagentes en el registro de sesión y dispara la consolidación del genoma en segundo plano; Stop finaliza las estadísticas de sesión con un guard de idempotencia. (La reorientación después de la compactación de contexto la maneja el hook de compactación SessionStart, el único evento que puede inyectar contexto).
  • Modo de ahorro medido por API — cuando ANTHROPIC_API_KEY está configurado, los conteos de tokens se actualizan de (est.) a (API-measured) una vez que se han verificado ≥10 llamadas a través de la API de Anthropic. Fire-and-forget; caché SHA-256; nunca bloquea una llamada de herramienta.
  • Transparencia de benchmarksscripts/run-benchmark.ts ahora reporta un intervalo de confianza bootstrap del 95 % junto al titular. Nuevas banderas: --compare (tabla A/B), --validate-tokenizer (verificación puntual de API de la heurística chars/4). Ver metodología de benchmarks.
destacados de v1.33
  • Proyección de ahorro en la primera llamada — ve tu ahorro anual extrapolado en tu primera llamada de ashlr.
  • MCP multi-host — funciona en Codex, Claude Code, Cline, Claude Desktop, Cursor, Goose y hosts MCP genéricos (variable de entorno ASHLR_MCP_HOST).
  • /ashlr-orchestrate-status — inspecciona ejecuciones de orquestación pasadas con tiempos y tokens por nodo.
  • Presupuesto de reintento y traspaso de orquestación — reintento por nodo con backoff; HANDOFF_PAYLOAD limitado a 8 KB.
  • Contabilidad central de cuotas de orquestación — tabla orchestration_usage para soft-throttle de nivel Team.
  • Prerrequisito de Bun ≥ 1.3 resaltado + reinicio forzado del asistente — cierra 2 acantilados fatales de primer contacto.
  • Bench de overhead de orquestador — medido ~5-30 ms/nodo, 2.8× de aceleración paralela vs secuencial.
  • Errores preexistentes de tsc corregidos + corrección permanente de deriva de fecha en el dashboard mediante inyección de reloj.

Novedades en v1.33 (archivado)

destacados de v1.32
  • /ashlr-orchestrate — grafos de tareas multi-agente con ejecución paralela, renderizador de dry-run y cableado de subprocesos con niveles.
  • /ashlr-orchestrate-status — inspecciona ejecuciones de orquestación pasadas con telemetría por nodo y 2.8× de aceleración paralela medida.
  • Genoma en vivo — secciones conscientes de PR y commits mediante hook post-commit de git y sincronización delta de webhook de GitHub.
  • Descubrimientos nativos de IA — el LLM sintetiza secciones de discovery automáticamente desde tu historial de commits.
  • Prefetch predictivo (Pro/Team) — warm-cache en segundo plano en cada ashlr__read reduce la latencia de hits repetidos.
  • Recuperación de PR e issuesashlr__grep --include-prs --include-issues --since-days trae contexto en vivo de GitHub.
  • Insignias de frescura en la recuperación del genoma muestran la obsolescencia para que confíes en la respuesta.
  • Bench multiplataforma: TS −61.3 % · Python −63.1 % · Rust −46.8 % (el titular multiplataforma -57.1% se mantiene).
  • Dashboard WAD-D del fundador en /admin/wad-d — registros activos diarios + desglose por segmento + propagación de descubrimientos.

MCP multi-host

Funciona con Codex, Claude Code (por defecto), Cline, Claude Desktop, Cursor, Goose y hosts MCP genéricos. Las 40 herramientas MCP, la contabilidad de estadísticas y la recuperación del genoma son independientes del host; los ahorros y la contabilidad se aplican cuando el host llama a las herramientas MCP de Ashlr. El soporte de Codex se empaqueta a través de .codex-plugin/plugin.json, .mcp.json, skills de Codex y hooks/codex-hooks.json en modo nudge. Los extras exclusivos de Claude permanecen etiquetados explícitamente: redirecciones automáticas, línea de estado, comandos de barra y bootstrap OAuth. Ver plugin.ashlr.ai/docs o docs/multi-host-mcp.md para fragmentos de configuración.


Permisos — detén los avisos primero

Ejecuta esto una vez después de la instalación para que Claude Code deje de preguntar en cada llamada de herramienta:

/ashlr-allow

Eso agrega comodines MCP de ashlr a permissions.allow en ~/.claude/settings.json. Es idempotente. Ejecuta /reload-plugins después de cambiar permisos, o cierra y reinicia completamente Claude Code si la recarga no está disponible.


Demo de 10 segundos

# 1. Install
curl -fsSL https://plugin.ashlr.ai/install.sh | bash
# Inside Claude Code:
/plugin marketplace add ashlrai/ashlr-plugin
/plugin install ashlr@ashlr-marketplace

# 2. Use — read a large file (raw would be ~8,400 tokens)
ashlr__read  { "path": "src/server.ts" }
# Returns snipCompact view: head + tail, elided middle — ~1,700 tokens

# 3. Check savings
/ashlr-savings
Session savings  ·  ashlr-plugin v1.36.0
────────────────────────────────────────
  ashlr__read      6 calls    −42,180 tok   $0.13
  ashlr__grep      3 calls    −11,040 tok   $0.03
  ashlr__edit      2 calls     −3,200 tok   $0.01
  ─────────────────────────────────────────────
  Session total               −56,420 tok   $0.17
  Lifetime total             −284,900 tok   $0.86
  7-day sparkline   ▁▂▃▃▅▆█

Lo que obtienes

Herramientas de eficiencia central (reemplazan los built-ins con equivalentes de menos tokens):

Herramienta MCPDescripción
ashlr__readsnipCompact + resumen LLM en archivos > 16 KB (Anthropic Haiku 4.5 por defecto, fallback ONNX/local). Media −82.1 % en el bench v1.22. Números de línea preservados en archivos de código.
ashlr__grepRAG consciente del genoma cuando existe .ashlrcode/genome/ o genoma en la nube; fallback de ripgrep con resumen LLM.
ashlr__editBúsqueda/reemplazo en el lugar — devuelve solo el resumen del diff, no el archivo completo. Candidatos de Levenshtein en fallo.
ashlr__edit_structuralRenombrado consciente de AST (identificadores Unicode: café, π, CJK) + renombrado entre archivos con anchorFile + maxFiles + guard de sombreado + dryRun + extracción de función con detección de valor de retorno (0 / 1 / N salidas). .ts/.tsx/.js/.jsx.
ashlr__multi_editProcesa múltiples ediciones de búsqueda/reemplazo en una sola llamada.
ashlr__savingsDashboard de ahorro de tokens en vivo: sesión + total de por vida + desglose por herramienta.

Herramientas de shell, datos y web:

Herramienta MCPDescripción
ashlr__bashShell con auto-compresión + registro de resumidores conectables (servers/_bash-summarizers-registry.ts) que cubre git log/git diff/git show, ls, ps, npm ls, salida unificada de test-runner, tsc e instalaciones de npm/bun/yarn/pnpm. Los comandos de larga duración sobreviven a timeouts mediante SIGKILL de grupo de procesos.
ashlr__bash_start / _tail / _stop / _listPlano de control de comandos en segundo plano de larga duración.
ashlr__sqlSQLite + Postgres de una sola vez. Modos explain y schema. Resumen LLM en resultados de 100+ filas.
ashlr__httpFetch HTTP con extracción legible (HTML), elisión de arrays (JSON) y seguridad de hosts privados.
ashlr__webfetchFetch + extracción de páginas web con presupuesto de tokens. La resumición LLM se activa a los 4 KB (el contenido web es más denso que el código), límite duro de 100 KB.
ashlr__logsTail con filtro de nivel + dedupe + resumen LLM.
ashlr__diffDiff git adaptativo (stat/summary/full) con resumen LLM en diffs grandes.
ashlr__diff_semanticDiff semántico con agrupación de cambios consciente del significado.
ashlr__testParser de salida de test-runner estructurado — bun/vitest/jest/pytest/go test. Comprime el ruido del runner en un bloque de fallo por fallo.

Navegación de base de código:

Herramienta MCPDescripción
ashlr__treeÁrbol de directorios consciente de gitignore con truncamiento por directorio + modos de tamaño/LOC.
ashlr__globGlob de archivos consciente de gitignore con metadatos de tamaño/LOC.
ashlr__lsListado de directorios con metadatos de tamaño.
ashlr__orientOrientación de base de código: puntos de entrada, archivos clave, grafo de dependencias.

Genoma + GitHub:

Herramienta MCPDescripción
ashlr__genome_propose / _consolidate / _statusBucle activo de escriba del genoma — mantiene .ashlrcode/genome/ actualizado mientras codificas.
ashlr__issue / ashlr__prOperaciones de lectura de issues y PRs de GitHub.
ashlr__issue_create / ashlr__issue_closeOperaciones de escritura de issues de GitHub. Guard de auto-aprobación + confirmación opt-in de ASHLR_REQUIRE_GH_CONFIRM=1.
ashlr__pr_comment / ashlr__pr_approveOperaciones de escritura de PRs de GitHub. pr:"current" se resuelve mediante gh pr view. Sin operaciones destructivas (sin merge/close/delete).
ashlr__askHaz una pregunta, obtén una respuesta estructurada con citas.

Ver docs/architecture.md para el registro completo de herramientas y el diseño del router.


Pro cloud

ashlr Pro se conecta a un backend alojado en https://api.ashlr.ai, desbloqueando funciones que requieren estado del lado del servidor:

FunciónQué hace
Estadísticas entre máquinasAgrega ahorros de tokens en todas tus máquinas. GET /v1/stats/aggregate devuelve machine_count + totales combinados de por vida.
Resumidor alojadoPOST https://api.ashlr.ai/llm/summarize — inferencia en la nube mediante xAI Grok 4.3. Cae a resumición local o snipCompact cuando no está disponible.
Genoma de equipoSincronización de genoma cifrado entre compañeros. DEKs envueltos con X25519 — solo los titulares de claves pueden descifrar (/ashlr-genome-team-init).

Privacidad: la telemetría está desactivada por defecto y es solo opt-in explícito (ASHLR_TELEMETRY=on). El sessionId es un valor hex opaco de 16 caracteres por sesión — nunca tu identidad de usuario — y se almacena en el servidor como hash SHA-256. Las rutas de archivo y el contenido nunca se envían. Ver plugin.ashlr.ai/docs para el contrato de privacidad completo (interno: docs/telemetry.md).

URL de producción: https://api.ashlr.ai

El comando /ashlr-doctor incluye una verificación de nube que hace ping a /healthz con un timeout de 3 segundos y reporta latencia. Configura ASHLR_API_URL_DISABLE=1 para suprimirlo en entornos sin conexión.


Línea de estado

La barra de estado muestra ahorros de sesión en vivo con un sparkline Braille de 7 días:

┌─────────────────────────────────────────────┐
│  ashlr  −0 tok  $0.00  ▁▁▁▁▁▁▁  idle       │
└─────────────────────────────────────────────┘

┌─────────────────────────────────────────────┐
│  ashlr  −12,480 tok  $0.04  ▁▂▃▄▅▆█  ██    │
└─────────────────────────────────────────────┘

┌─────────────────────────────────────────────┐
│  ashlr  −48,200 tok  $0.14  ▁▃▅▆██  ▓▓▓ !! │
└─────────────────────────────────────────────┘

!! aparece cuando la presión de contexto es alta. Instala:

bun run ~/.claude/plugins/cache/ashlr-marketplace/ashlr/<version>/scripts/install-status-line.ts

Instalación

Requisitos previos: Bun ≥ 1.3 y al menos un host compatible: Codex CLI, Claude Code, Cursor, Goose u otro cliente compatible con MCP. Los instaladores interactivos pueden ofrecer instalar Bun; las instalaciones canalizadas/no interactivas omiten esa indicación y dependen del arranque de MCP si Bun no está presente. Verifica primero con bun --version, o instala: curl -fsSL https://bun.sh/install | bash. Sin cuenta, sin clave de API.

# Claude Code one-liner
curl -fsSL https://plugin.ashlr.ai/install.sh | bash

Para Codex:

git clone https://github.com/ashlrai/ashlr-plugin
cd ashlr-plugin && bun install
codex plugin marketplace add ashlrai/ashlr-plugin
codex plugin add ashlr@ashlr-marketplace
bun run scripts/cli.ts codex-doctor --json

Para Claude Code:

/plugin marketplace add ashlrai/ashlr-plugin
/plugin install ashlr@ashlr-marketplace
/reload-plugins

Verifica con /ashlr-status. Si /reload-plugins no está disponible o /ashlr-status no ve el plugin, cierra y reinicia Claude Code por completo.

Instalación manual:

git clone https://github.com/ashlrai/ashlr-plugin \
  ~/.claude/plugins/cache/ashlr-marketplace/ashlr
cd ~/.claude/plugins/cache/ashlr-marketplace/ashlr && bun install
# Then inside Claude Code:
# /plugin marketplace add ashlrai/ashlr-plugin
# /plugin install ashlr@ashlr-marketplace
# /reload-plugins

Comandos

ComandoDescripción
/ashlr-helpEnumera todos los comandos de barra de ashlr agrupados por propósito (Onboarding / Medidor de tokens / Genome / Upgrade / Diagnostics)
/ashlr-allowAprueba automáticamente todas las herramientas MCP de ashlr: cubre los nombres canónicos mcp__plugin_ashlr_ashlr__ashlr__*, ejecutar una vez tras la instalación
/ashlr-statusSalud del plugin + alcance del servidor MCP + detección del genoma
/ashlr-savingsPanel en vivo: sesión + tiempo de vida + por herramienta + gráfico de chispa de 7 días
/ashlr-doctorDiagnóstico de 11 comprobaciones: dependencias, alcance de MCP, hooks, configuración
/ashlr-tourRecorrido guiado de 60 segundos en tu proyecto actual
/ashlr-benchmarkComparativa de ahorro de tokens con tu proyecto actual
/ashlr-genome-initInicializa .ashlrcode/genome/ para la ruta grep de −84 %
/ashlr-ollama-setupDiagnostica Ollama para --summarize; descarga el modelo 3B recomendado
/ashlr-settingsVer o cambiar alternativas del plugin
/ashlr-updategit pull + bun install + informar qué cambió

Gratis vs Pro

El nivel gratuito es el producto: 40 herramientas MCP, 34 comandos de barra, el bucle completo de escriba del genoma y todas las comparativas incluidas. Sin necesidad de cuenta.

Pro ($12/mes, prueba de 7 días) añade infraestructura en la nube para desarrolladores que la necesitan: sincronización de estadísticas entre máquinas, recuperación de embeddings alojada, resumidor LLM en la nube (sin necesidad de Ollama local) y una insignia de ahorro en vivo de actualización automática. Team ($24/usuario/mes, mín. 3) añade genoma de equipo cifrado compartido, panel de ahorro de la organización, paquetes de políticas y SSO.

Ejecuta /ashlr-upgrade para actualizar, o consulta plugin.ashlr.ai/docs/pro/pricing para la comparativa completa.


Arquitectura

Consulta plugin.ashlr.ai/docs/contributing/architecture para saber cómo encajan las herramientas, los hooks y el bucle de escriba del genoma. Notas internas: docs/architecture.md.

Registro de cambios

Consulta CHANGELOG.md para el historial de versiones.

Licencia

MIT — LICENSE.