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, 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 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 --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

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.

CI (Linux · macOS · 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 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-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 host — ashlr-plugin codex-doctor, ashlr-plugin codex-install --dry-run, ashlr-plugin codex-start, ashlr-plugin codex-resume, ashlr-plugin codex-end y ashlr-plugin 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 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 — SubagentStop 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 una protección 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 mediante la API de Anthropic. Fire-and-forget; caché SHA-256; nunca bloquea una llamada de herramienta.
  • Transparencia de benchmarks — scripts/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 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_usage para 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 discovery automáticamente desde tu historial de commits.
  • Prefetch predictivo (Pro/Team) — caché cálida en segundo plano en cada ashlr__read reduce la latencia de hits repetidos.
  • Recuperación de PR e issues — ashlr__grep --include-prs --include-issues --since-days extrae 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 MCPDescripción
ashlr__readsnipCompact + 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__grepRAG consciente del genoma cuando existe .ashlrcode/genome/ o genoma en la nube; respaldo con ripgrep y resumen LLM.
ashlr__editBúsqueda/reemplazo en el lugar — devuelve solo el resumen del diff, no el archivo completo. Candidatos Levenshtein en caso de fallo.
ashlr__edit_structuralRenombrado 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_editProcesa múltiples ediciones de búsqueda/reemplazo en una sola llamada.
ashlr__savingsDashboard en vivo de ahorro de tokens: sesión + tiempo de 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 los timeouts mediante SIGKILL del 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 ejecución. 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. 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__logsTail con filtro de nivel + deduplicación + 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 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 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 del codebase: 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 programas.
ashlr__issue / ashlr__prOperaciones de lectura de issues y PRs de GitHub.
ashlr__issue_create / ashlr__issue_closeOperaciones 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_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.

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ónQué hace
Estadísticas entre máquinasAgrega el ahorro de tokens en todas tus máquinas. GET /v1/stats/aggregate devuelve machine_count + totales combinados de tiempo de vida.
Resumidor alojadoPOST 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 equipoSincronizació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

ComandoDescripción
/ashlr-helpLista todos los comandos de barra de ashlr agrupados por propósito (Onboarding / Medidor de tokens / Genoma / Actualización / Diagnóstico)
/ashlr-allowAprueba 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-statusSalud del plugin + accesibilidad del servidor MCP + detección de 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, accesibilidad MCP, hooks, configuraciones
/ashlr-tourRecorrido guiado de 60 segundos en tu proyecto actual
/ashlr-benchmarkBenchmark de ahorro de tokens contra tu proyecto actual
/ashlr-genome-initInicializa .ashlrcode/genome/ para la ruta de grep −84%
/ashlr-ollama-setupDiagnostica Ollama para --summarize; descarga el modelo 3B recomendado
/ashlr-settingsVer o cambiar las alternancias del plugin
/ashlr-updategit 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.