ashlr-plugin

Plugin de código aberto para Claude Code que substitui Read/Grep/Edit/Bash por versões eficientes em tokens. Benchmark independente mostra redução de 57% de tokens em bases de código reais. 40 ferramentas MCP.

Documentação

ashlr-plugin

Reduza o uso de tokens do Codex e do Claude Code em −57% em codebases reais. TS −62% · Python −65% · Rust −44% — medido em vercel/ai, pandas e tokio. IC de 95% relatado pelo executor de benchmark. Reproduza com bun run scripts/run-benchmark.ts --compare. (metodologia completa)

40 ferramentas MCP que substituem fluxos de trabalho de alto volume de Read / Grep / Edit / Bash por versões que retornam menos sem perder o que importa. O Claude Code recebe redirecionamentos automáticos de PreToolUse (ASHLR_HOOK_MODE=redirect); o Codex recebe empacotamento de plugin de primeira classe, MCP, skills e hooks de nudge primeiro.

Requer Bun ≥ 1.3 — instaladores interativos podem oferecer a instalação do Bun; instalações via pipe/não interativas pulam esse prompt e dependem do bootstrap MCP se o Bun estiver ausente. Verifique com bun --version primeiro.

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 inicial: plugin.ashlr.ai · Documentação: plugin.ashlr.ai/docs · Biblioteca principal: @ashlr/core-efficiency · Licença: MIT

Código aberto e benchmark honesto. O número de −57% é reproduzível no seu próprio código com bun run scripts/run-benchmark.ts --compare (metodologia). Cada número de economia do ashlr inclui um IC de 95%. A telemetria está desativada por padrão. Compare com alternativas fechadas e auto-benchmark com /ashlr-benchmark --compare.

CI — Linux CI — macOS CI — Windows

Testado em: Ubuntu 22.04 · macOS 14 (Sonoma) · Windows Server 2022 · Hooks TypeScript (sem necessidade de bash)


Novidades na v1.36

  • Empacotamento de plugin nativo para Codex — .codex-plugin/plugin.json, .mcp.json, skills de workflow do Codex, orientação de agente explorer/worker do Codex e hooks portáteis do Codex são enviados no mesmo pacote que o plugin do Claude Code.
  • Inicialização confiável do MCP do Codex — ashlr-mcp inicia o roteador diretamente com ASHLR_MCP_HOST=codex-cli, comportamento de cwd ciente do workspace e suporte a ASHLR_ALLOW_PROJECT_PATHS para diretórios de inicialização fora do plugin.
  • Hooks de nudge primeiro para Codex — os hooks do Codex agora injetam orientação de ferramentas compactas para Bash, apply_patch, Read/Grep/Glob, Edit/MultiEdit, Write e chamadas MCP Ashlr de alto valor sem forçar redirecionamentos por padrão.
  • Fluxos de trabalho CLI neutros em relação ao host — ashlr codex-doctor, ashlr codex-install --dry-run, ashlr codex-start, ashlr codex-resume, ashlr codex-end e ashlr genome-refresh dão aos usuários do Codex a mesma superfície operacional sem escrever configuração do Claude.
  • Quatro skills de disciplina — /ashlr-search, /ashlr-lean-tools, /ashlr-genome-author, /ashlr-cost-refactor. Cada uma impõe um padrão específico anti-desperdício; cada uma persiste em ~/.ashlr/<name>.json. Alterne com /ashlr-<name> on/off.
  • /ashlr-efficient — remodelador de estrutura de saída. Impõe resposta-primeiro (pirâmide invertida), código inline para todos os identificadores, tabelas para comparações de 3+ itens e sem preenchimento transicional. Funciona sozinho ou junto com /ashlr-brief.
  • Dois hooks de ciclo de vida — SubagentStop consolida as economias dos subagentes no log da sessão e dispara a consolidação do genoma em segundo plano; Stop finaliza as estatísticas da sessão com uma proteção de idempotência. (A reorientação após a compactação de contexto é tratada pelo hook de compactação SessionStart, o único evento que pode injetar contexto.)
  • Modo de economia medido pela API — quando ANTHROPIC_API_KEY está definido, as contagens de tokens são atualizadas de (est.) para (API-measured) depois que ≥10 chamadas forem verificadas via API da Anthropic. Fire-and-forget; cache SHA-256; nunca bloqueia uma chamada de ferramenta.
  • Transparência de benchmark — scripts/run-benchmark.ts agora relata um intervalo de confiança bootstrap de 95% junto com o número principal. Novas flags: --compare (tabela A/B), --validate-tokenizer (verificação pontual da API da heurística chars/4). Veja metodologia de benchmark.
destaques da v1.33
  • Projeção de economia na primeira chamada — veja sua economia anual extrapolada na sua primeira chamada ashlr.
  • MCP multi-host — funciona em Codex, Claude Code, Cline, Claude Desktop, Cursor, Goose e hosts MCP genéricos (variável de ambiente ASHLR_MCP_HOST).
  • /ashlr-orchestrate-status — inspecione execuções de orquestração passadas com tempos por nó + tokens.
  • Orçamento de nova tentativa e handoff de orquestração — nova tentativa por nó com backoff; HANDOFF_PAYLOAD limitado a 8KB.
  • Contabilidade central de cota de orquestração — tabela orchestration_usage para soft-throttle do nível Team.
  • Pré-requisito Bun ≥ 1.3 destacado + aplicação de reinício do assistente — fecha 2 falhas fatais de primeiro contato.
  • Benchmark de overhead do orquestrador — medido ~5-30ms/nó, aceleração paralela de 2,8× vs. sequencial.
  • Erros de tsc pré-existentes corrigidos + correção permanente de desvio de data no dashboard via injeção de relógio.

Novidades na v1.33 (arquivado)

destaques da v1.32
  • /ashlr-orchestrate — grafos de tarefas multiagente com execução paralela, renderizador dry-run e fiação de subprocessos com limite por nível.
  • /ashlr-orchestrate-status — inspecione execuções de orquestração passadas com telemetria por nó e aceleração paralela medida de 2,8×.
  • Genoma vivo — seções cientes de PR e de commit via hook pós-commit do git e sincronização delta via webhook do GitHub.
  • Descobertas nativas de IA — o LLM sintetiza seções discovery do seu histórico de commits automaticamente.
  • Pré-busca preditiva (Pro/Team) — warm-cache em segundo plano em cada ashlr__read reduz a latência de hits repetidos.
  • Recuperação de PR + issue — ashlr__grep --include-prs --include-issues --since-days puxa contexto ao vivo do GitHub.
  • Selos de frescor na superfície de recuperação do genoma indicam obsolescência para você confiar na resposta.
  • Benchmark entre linguagens: TS −61,3% · Python −63,1% · Rust −46,8% (o número principal entre linguagens -57.1% se mantém).
  • Dashboard WAD-D do fundador em /admin/wad-d — registros ativos diários + detalhamento por segmento + propagação de descobertas.

MCP multi-host

Funciona com Codex, Claude Code (padrão), Cline, Claude Desktop, Cursor, Goose e hosts MCP genéricos. As 40 ferramentas MCP, a contabilidade de estatísticas e a recuperação de genoma são agnósticas ao host; economias e contabilidade se aplicam quando o host chama as ferramentas MCP do Ashlr. O suporte ao Codex é empacotado via .codex-plugin/plugin.json, .mcp.json, skills do Codex e hooks/codex-hooks.json no modo nudge. Extras exclusivos do Claude permanecem explicitamente rotulados: redirecionamentos automáticos, linha de status, comandos de barra e bootstrap OAuth. Veja plugin.ashlr.ai/docs ou docs/multi-host-mcp.md para trechos de configuração.


Permissões — pare os prompts primeiro

Execute uma vez após a instalação para que o Claude Code pare de perguntar a cada chamada de ferramenta:

/ashlr-allow

Isso adiciona curingas MCP do ashlr a permissions.allow em ~/.claude/settings.json. É idempotente. Execute /reload-plugins após alterar permissões, ou saia e reinicie completamente o Claude Code se o recarregamento não estiver disponível.


Demonstração 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   ▁▂▃▃▅▆█

O que você obtém

Ferramentas principais de eficiência (substituem os built-ins por equivalentes de menor token):

Ferramenta MCPDescrição
ashlr__readsnipCompact + resumo LLM em arquivos > 16 KB (Anthropic Haiku 4.5 padrão, fallback ONNX/local). Média −82,1% no benchmark v1.22. Números de linha preservados em arquivos de código.
ashlr__grepRAG ciente do genoma quando .ashlrcode/genome/ ou genoma em nuvem existe; fallback ripgrep com resumo LLM.
ashlr__editBusca/substituição no local — retorna apenas o resumo do diff, não o arquivo completo. Candidatos Levenshtein em erro.
ashlr__edit_structuralRenomeação ciente de AST (identificadores Unicode: café, π, CJK) + renomeação entre arquivos com anchorFile + maxFiles + proteção de shadowing + dryRun + extração de função com detecção de valor de retorno (0 / 1 / N saídas). .ts/.tsx/.js/.jsx.
ashlr__multi_editLote de múltiplas edições de busca/substituição em uma única chamada.
ashlr__savingsDashboard ao vivo de economia de tokens: sessão + vitalício + detalhamento por ferramenta.

Ferramentas de shell, dados e web:

Ferramenta MCPDescrição
ashlr__bashShell com autocompressão + registro de sumarizadores plugáveis (servers/_bash-summarizers-registry.ts) cobrindo git log/git diff/git show, ls, ps, npm ls, saída unificada de test-runner, tsc e instalações npm/bun/yarn/pnpm. Comandos de longa duração sobrevivem a timeouts via SIGKILL de grupo de processos.
ashlr__bash_start / _tail / _stop / _listPlano de controle de comandos em segundo plano de longa duração.
ashlr__sqlSQLite + Postgres one-shot. Modos explain e schema. Resumo LLM em resultados com 100+ linhas.
ashlr__httpFetch HTTP com extração legível (HTML), elisão de arrays (JSON) e segurança para hosts privados.
ashlr__webfetchFetch + extração de páginas web com orçamento de tokens. Sumarização LLM entra em ação em 4 KB (conteúdo web é mais denso que código), limite rígido de 100 KB.
ashlr__logsTail com filtro de nível + dedupe + resumo LLM.
ashlr__diffDiff git adaptativo (stat/summary/full) com resumo LLM em diffs grandes.
ashlr__diff_semanticDiff semântico com agrupamento de mudanças ciente de significado.
ashlr__testParser estruturado de saída de test-runner — bun/vitest/jest/pytest/go test. Comprime o ruído do runner em um bloco de falha por falha.

Navegação no codebase:

Ferramenta MCPDescrição
ashlr__treeÁrvore de diretórios ciente de gitignore com truncamento por diretório + modos de tamanho/LOC.
ashlr__globGlob de arquivos ciente de gitignore com metadados de tamanho/LOC.
ashlr__lsListagem de diretórios com metadados de tamanho.
ashlr__orientOrientação no codebase: pontos de entrada, arquivos-chave, grafo de dependências.

Genoma + GitHub:

Ferramenta MCPDescrição
ashlr__genome_propose / _consolidate / _statusLoop ativo de escriba do genoma — mantém .ashlrcode/genome/ atualizado enquanto você codifica.
ashlr__issue / ashlr__prOperações de leitura de issues e PRs do GitHub.
ashlr__issue_create / ashlr__issue_closeOperações de escrita de issues do GitHub. Proteção de autoaprovação + confirmação opt-in ASHLR_REQUIRE_GH_CONFIRM=1.
ashlr__pr_comment / ashlr__pr_approveOperações de escrita de PRs do GitHub. pr:"current" resolve via gh pr view. Sem operações destrutivas (sem merge/close/delete).
ashlr__askFaça uma pergunta, obtenha uma resposta estruturada com citações.

Veja docs/architecture.md para o registro completo de ferramentas e o layout do roteador.


Pro cloud

O ashlr Pro conecta-se a um backend hospedado em https://api.ashlr.ai, desbloqueando recursos que exigem estado no lado do servidor:

RecursoO que faz
Estatísticas entre máquinasAgrega economia de tokens em todas as suas máquinas. GET /v1/stats/aggregate retorna machine_count + totais vitalícios combinados.
Sumarizador hospedadoPOST https://api.ashlr.ai/llm/summarize — inferência em nuvem via xAI Grok 4.3. Faz fallback para sumarização local ou snipCompact quando indisponível.
Genoma de equipeSincronização de genoma criptografado entre colegas. DEKs envolvidos com X25519 — apenas detentores de chave podem descriptografar (/ashlr-genome-team-init).

Privacidade: a telemetria está desativada por padrão e é apenas opt-in explícito (ASHLR_TELEMETRY=on). O sessionId é um valor hex opaco de 16 caracteres por sessão — nunca sua identidade de usuário — e é armazenado no lado do servidor como um hash SHA-256. Caminhos de arquivo e conteúdo nunca são enviados. Veja plugin.ashlr.ai/docs para o contrato completo de privacidade (interno: docs/telemetry.md).

URL de produção: https://api.ashlr.ai

O comando /ashlr-doctor inclui uma verificação cloud que faz ping em /healthz com timeout de 3 segundos e relata a latência. Defina ASHLR_API_URL_DISABLE=1 para suprimi-la em ambientes offline.


Linha de status

A barra de status mostra a economia ao vivo da sessão com um sparkline Braille de 7 dias:

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

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

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

!! aparece quando a pressão de contexto está alta. Instale:

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

Instalação

Pré-requisitos: Bun ≥ 1.3 e pelo menos um host suportado: Codex CLI, Claude Code, Cursor, Goose, ou outro cliente compatível com MCP. Instaladores interativos podem oferecer a instalação do Bun; instalações via pipe/não interativas pulam esse prompt e dependem do bootstrap do MCP se o Bun estiver ausente. Verifique com bun --version primeiro, ou instale: curl -fsSL https://bun.sh/install | bash. Sem conta, sem chave 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

Verifique com /ashlr-status. Se /reload-plugins estiver indisponível ou /ashlr-status não vir o plugin, saia completamente e reinicie o Claude Code.

Instalação 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

ComandoDescrição
/ashlr-helpLista todos os comandos de barra do ashlr agrupados por finalidade (Onboarding / Medidor de tokens / Genoma / Upgrade / Diagnóstico)
/ashlr-allowAprova automaticamente todas as ferramentas MCP do ashlr — cobre os nomes canônicos mcp__plugin_ashlr_ashlr__ashlr__*, execute uma vez após a instalação
/ashlr-statusSaúde do plugin + alcance do servidor MCP + detecção de genoma
/ashlr-savingsPainel ao vivo: sessão + vitalício + por ferramenta + sparkline de 7 dias
/ashlr-doctorDiagnóstico de 11 verificações — dependências, alcance do MCP, hooks, configurações
/ashlr-tourPasso a passo guiado de 60 segundos no seu projeto atual
/ashlr-benchmarkBenchmark de economia de tokens em relação ao seu projeto atual
/ashlr-genome-initInicializa .ashlrcode/genome/ para o caminho de grep −84%
/ashlr-ollama-setupDiagnostica o Ollama para --summarize; baixe o modelo 3B recomendado
/ashlr-settingsVer ou alterar alternâncias do plugin
/ashlr-updategit pull + bun install + relatar o que mudou

Grátis vs Pro

O nível gratuito é o produto — 40 ferramentas MCP, 34 comandos de barra, o ciclo completo de escriba de genoma e todos os benchmarks incluídos. Nenhuma conta necessária.

Pro ($12/mês, teste de 7 dias) adiciona infraestrutura em nuvem para desenvolvedores que precisam: sincronização de estatísticas entre máquinas, recuperação de embeddings hospedada, resumidor de LLM em nuvem (sem necessidade de Ollama local) e um selo de economia com atualização automática ao vivo. Team ($24/usuário/mês, mínimo 3) adiciona genoma de equipe criptografado compartilhado, painel de economia da organização, pacotes de políticas e SSO.

Execute /ashlr-upgrade para atualizar, ou veja plugin.ashlr.ai/docs/pro/pricing para a comparação completa.


Arquitetura

Veja plugin.ashlr.ai/docs/contributing/architecture para entender como as ferramentas, hooks e o ciclo de escriba de genoma se encaixam. Notas internas: docs/architecture.md.

Changelog

Veja CHANGELOG.md para o histórico de versões.

Licença

MIT — LICENSE.