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 en Codex y Claude Code en un −57% en repositorios 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 recibe redirecciones automáticas de PreToolUse (ASHLR_HOOK_MODE=redirect); Codex obtiene empaquetado de plugins 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 esa solicitud y dependen del bootstrap de MCP si Bun no está presente. 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
El paquete npm expone ashlr-plugin para flujos de trabajo CLI y ashlr-mcp para hosts MCP. Requiere Bun. Desde v1.36.4, usa ashlr-plugin stats, ashlr-plugin tools y otros comandos de Plugin en lugar del antiguo alias ashlr; ashlr sigue disponible para Ashlr Hub. Los nombres de registro del servidor MCP y los nombres de las herramientas no cambian.
Página de inicio: plugin.ashlr.ai · Documentación: plugin.ashlr.ai/docs · Librería principal: @ashlr/core-efficiency · Licencia: MIT
Código abierto y benchmarks honestos. El titular del −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-evaluadas 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 plugins 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. - Inicio MCP fiable de 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-plugin codex-doctor,ashlr-plugin codex-install --dry-run,ashlr-plugin codex-start,ashlr-plugin codex-resume,ashlr-plugin codex-endyashlr-plugin 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 aplica un patrón específico contra el desperdicio; cada una persiste en~/.ashlr/<name>.json. Actívalas con/ashlr-<name> on/off. /ashlr-efficient— remodelador de estructura de salida. Aplica 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 una protección 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 mediante 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 por API de la heurística chars/4). Consulta la 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 8KB.
- Contabilidad central de cuotas de orquestación — tabla
orchestration_usagepara el soft-throttle del nivel Team. - Prerrequisito de Bun ≥ 1.3 visible + reinicio forzado del asistente — cierra 2 cliffs fatales del primer contacto.
- Benchmark de sobrecarga del orquestador — medido ~5-30ms/nodo, 2.8× de aceleración paralela vs secuencial.
- Errores preexistentes de tsc corregidos + corrección permanente del desfase de fecha del 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 por 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 de commits mediante hook post-commit de git y sincronización delta por webhook de GitHub.
- Descubrimientos nativos de IA — el LLM sintetiza secciones de
discoveryautomáticamente desde tu historial de commits. - Prefetch predictivo (Pro/Team) — caché cálida 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-daysextrae contexto en vivo de GitHub. - Insignias de frescura en la recuperación del genoma muestran la obsolescencia para que confíes en la respuesta.
- Benchmark entre lenguajes: TS −61.3% · Python −63.1% · Rust −46.8% (el titular entre lenguajes
-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 mediante .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. Consulta plugin.ashlr.ai/docs o docs/multi-host-mcp.md para fragmentos de configuración.
Permisos — detén las solicitudes 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 añade 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 centrales (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, respaldo ONNX/local). Media −82.1% en el benchmark 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; respaldo con ripgrep y resumen LLM. |
ashlr__edit | Búsqueda/reemplazo en el lugar — devuelve solo el resumen del diff, no el archivo completo. Candidatos Levenshtein en caso de fallo. |
ashlr__edit_structural | Renombrado consciente de AST (identificadores Unicode: café, π, CJK) + renombrado entre archivos con anchorFile + maxFiles + protección de shadowing + 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 en vivo de ahorro de tokens: sesión + tiempo de 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 los timeouts mediante SIGKILL del 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 ejecución. 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. El resumen 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 + deduplicación + 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 estructurado de salida de test-runner — bun/vitest/jest/pytest/go test. Comprime el ruido del runner en un bloque de fallo por fallo. |
Navegación del codebase:
| 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 del codebase: 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 programas. |
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. Protección 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. |
Consulta 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 el ahorro de tokens en todas tus máquinas. GET /v1/stats/aggregate devuelve machine_count + totales combinados de tiempo de vida. |
| Resumidor alojado | POST https://api.ashlr.ai/llm/summarize — inferencia en la nube mediante xAI Grok 4.3. Vuelve al resumen local o a snipCompact cuando no está disponible. |
| Genoma de equipo | Sincronización cifrada del genoma entre compañeros. Los DEKs se envuelven 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 hexadecimal 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 archivos y el contenido nunca se
envían. Consulta 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 la latencia. Configura
ASHLR_API_URL_DISABLE=1 para suprimirlo en entornos sin conexión.
Línea de estado
La barra de estado muestra el ahorro 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 por tubería/no interactivas omiten esa indicación y dependen del arranque de MCP si falta Bun. Verifica primero con bun --version, o instala: curl -fsSL https://bun.sh/install | bash. No se requiere cuenta ni clave 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 | Lista todos los comandos de barra de ashlr agrupados por propósito (Onboarding / Medidor de tokens / Genoma / Actualización / Diagnóstico) |
/ashlr-allow | Aprueba automáticamente todas las herramientas MCP de ashlr — cubre los nombres canónicos de mcp__plugin_ashlr_ashlr__ashlr__*, ejecuta una vez después de la instalación |
/ashlr-status | Salud del plugin + accesibilidad del servidor MCP + detección de 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, accesibilidad MCP, hooks, configuraciones |
/ashlr-tour | Recorrido guiado de 60 segundos en tu proyecto actual |
/ashlr-benchmark | Benchmark de ahorro de tokens contra tu proyecto actual |
/ashlr-genome-init | Inicializa .ashlrcode/genome/ para la ruta de grep −84% |
/ashlr-ollama-setup | Diagnostica Ollama para --summarize; descarga el modelo 3B recomendado |
/ashlr-settings | Ver o cambiar las alternancias del plugin |
/ashlr-update | git pull + bun install + informa qué cambió |
Gratis vs Pro
El nivel gratuito es el producto: 40 herramientas MCP, 34 comandos de barra, el ciclo completo de escriba de genoma y todos los benchmarks incluidos. No se requiere cuenta.
Pro ($12/mes, prueba de 7 días) añade infraestructura en la nube para desarrolladores que la necesiten: 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 con actualización automática. Team ($24/usuario/mes, mínimo 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 comparación completa.
Arquitectura
Consulta plugin.ashlr.ai/docs/contributing/architecture para ver cómo encajan las herramientas, los hooks y el ciclo de escriba de genoma. Notas internas: docs/architecture.md.
Registro de cambios
Consulta CHANGELOG.md para el historial de versiones.
Licencia
MIT — LICENSE.