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,pandasytokio. IC del 95 % reportado por el ejecutor de benchmarks. Reproducible conbun 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 --versionprimero.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.
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 Codex —
ashlr-mcpinicia el router directamente conASHLR_MCP_HOST=codex-cli, comportamiento decwdconsciente del workspace y soporte deASHLR_ALLOW_PROJECT_PATHSpara 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 host —
ashlr codex-doctor,ashlr codex-install --dry-run,ashlr codex-start,ashlr codex-resume,ashlr codex-endyashlr genome-refreshdan 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 vida —
SubagentStopacumula los ahorros de subagentes en el registro de sesión y dispara la consolidación del genoma en segundo plano;Stopfinaliza 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ónSessionStart, el único evento que puede inyectar contexto). - Modo de ahorro medido por API — cuando
ANTHROPIC_API_KEYestá 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 benchmarks —
scripts/run-benchmark.tsahora 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_usagepara 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
discoveryautomáticamente desde tu historial de commits. - Prefetch predictivo (Pro/Team) — warm-cache en segundo plano en cada
ashlr__readreduce la latencia de hits repetidos. - Recuperación de PR e issues —
ashlr__grep --include-prs --include-issues --since-daystrae 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 MCP | Descripción |
|---|---|
ashlr__read | snipCompact + 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__grep | RAG consciente del genoma cuando existe .ashlrcode/genome/ o genoma en la nube; fallback de ripgrep con resumen LLM. |
ashlr__edit | Búsqueda/reemplazo en el lugar — devuelve solo el resumen del diff, no el archivo completo. Candidatos de Levenshtein en fallo. |
ashlr__edit_structural | Renombrado 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_edit | Procesa múltiples ediciones de búsqueda/reemplazo en una sola llamada. |
ashlr__savings | Dashboard de ahorro de tokens en vivo: sesión + total de por vida + desglose por herramienta. |
Herramientas de shell, datos y web:
| Herramienta MCP | Descripción |
|---|---|
ashlr__bash | Shell 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 / _list | Plano de control de comandos en segundo plano de larga duración. |
ashlr__sql | SQLite + Postgres de una sola vez. Modos explain y schema. Resumen LLM en resultados de 100+ filas. |
ashlr__http | Fetch HTTP con extracción legible (HTML), elisión de arrays (JSON) y seguridad de hosts privados. |
ashlr__webfetch | Fetch + 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__logs | Tail con filtro de nivel + dedupe + resumen LLM. |
ashlr__diff | Diff git adaptativo (stat/summary/full) con resumen LLM en diffs grandes. |
ashlr__diff_semantic | Diff semántico con agrupación de cambios consciente del significado. |
ashlr__test | Parser 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 MCP | Descripción |
|---|---|
ashlr__tree | Árbol de directorios consciente de gitignore con truncamiento por directorio + modos de tamaño/LOC. |
ashlr__glob | Glob de archivos consciente de gitignore con metadatos de tamaño/LOC. |
ashlr__ls | Listado de directorios con metadatos de tamaño. |
ashlr__orient | Orientación de base de código: puntos de entrada, archivos clave, grafo de dependencias. |
Genoma + GitHub:
| Herramienta MCP | Descripción |
|---|---|
ashlr__genome_propose / _consolidate / _status | Bucle activo de escriba del genoma — mantiene .ashlrcode/genome/ actualizado mientras codificas. |
ashlr__issue / ashlr__pr | Operaciones de lectura de issues y PRs de GitHub. |
ashlr__issue_create / ashlr__issue_close | Operaciones 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_approve | Operaciones de escritura de PRs de GitHub. pr:"current" se resuelve mediante gh pr view. Sin operaciones destructivas (sin merge/close/delete). |
ashlr__ask | Haz 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ón | Qué hace |
|---|---|
| Estadísticas entre máquinas | Agrega ahorros de tokens en todas tus máquinas. GET /v1/stats/aggregate devuelve machine_count + totales combinados de por vida. |
| Resumidor alojado | POST 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 equipo | Sincronizació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
| Comando | Descripción |
|---|---|
/ashlr-help | Enumera todos los comandos de barra de ashlr agrupados por propósito (Onboarding / Medidor de tokens / Genome / Upgrade / Diagnostics) |
/ashlr-allow | Aprueba 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-status | Salud del plugin + alcance del servidor MCP + detección del genoma |
/ashlr-savings | Panel en vivo: sesión + tiempo de vida + por herramienta + gráfico de chispa de 7 días |
/ashlr-doctor | Diagnóstico de 11 comprobaciones: dependencias, alcance de MCP, hooks, configuración |
/ashlr-tour | Recorrido guiado de 60 segundos en tu proyecto actual |
/ashlr-benchmark | Comparativa de ahorro de tokens con tu proyecto actual |
/ashlr-genome-init | Inicializa .ashlrcode/genome/ para la ruta grep de −84 % |
/ashlr-ollama-setup | Diagnostica Ollama para --summarize; descarga el modelo 3B recomendado |
/ashlr-settings | Ver o cambiar alternativas del plugin |
/ashlr-update | git 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.