Compression Engines (Português (Brasil))
Combos de compressão
Seção intitulada “Combos de compressão”Combos de compressão são perfis de compressão nomeados que podem ser atribuídos a combos de roteamento:
compression_combos: armazena modo, pipeline, configuração do RTK, configuração de idioma e marcador padrãocompression_combo_assignments: mapeia um combo de compressão para um combo de roteamento- a integração em tempo de execução resolve um combo de compressão atribuído antes das substituições genéricas de combo
- as análises incluem
compression_combo_ideengine
Área no dashboard: Dashboard -> Context & Cache -> Compression Combos.
Superfície da API
Seção intitulada “Superfície da API”| Rota | Finalidade |
|---|---|
/api/settings/compression |
Configurações globais de compressão (inclui a configuração mcpAccessibility) |
/api/compression/preview |
Visualizar qualquer modo de compressão |
/api/compression/language-packs |
Listar os pacotes de idioma Caveman disponíveis |
/api/context/caveman/config |
Alias das configurações do Caveman |
/api/context/rtk/config |
Padrões e configurações do RTK |
/api/context/rtk/filters |
Catálogo de filtros do RTK |
/api/context/rtk/test |
Endpoint de visualização/teste do RTK |
/api/context/rtk/raw-output/[id] |
Recuperação autenticada da saída bruta com dados sensíveis ocultados |
/api/context/combos |
CRUD de combos de compressão |
/api/context/combos/[id]/assignments |
CRUD de atribuições de combos de roteamento |
/api/context/analytics |
Alias das análises de compressão |
As rotas de gerenciamento exigem autenticação de gerenciamento ou verificações de política de chave de API.
Ferramentas MCP
Seção intitulada “Ferramentas MCP”A compressão disponibiliza cinco ferramentas MCP:
| Ferramenta | Escopo | Finalidade |
|---|---|---|
omniroute_compression_status |
read:compression |
Configurações, análises e estatísticas de cache |
omniroute_compression_configure |
write:compression |
Atualizar configurações globais |
omniroute_set_compression_engine |
write:compression |
Definir modo e pipeline opcional |
omniroute_list_compression_combos |
read:compression |
Listar combos de compressão |
omniroute_compression_combo_stats |
read:compression |
Consultar análises de combos/engines |
Escopo e exclusões
Seção intitulada “Escopo e exclusões”Embeddings nunca são comprimidos. open-sse/handlers/embeddings.ts nunca chama nenhum
engine de compressão — os corpos da solicitação/resposta são encaminhados diretamente ao executor sem alterações.
Atualmente, isso é estrutural (embeddings e conclusões de chat têm handlers separados), não uma
verificação em tempo de execução, mas significa que a preocupação com distorção de vetores em #8034 não tem superfície de exposição
no caminho de embeddings.
Filtro de exclusão por modelo/endpoint (#8034). Para conclusões de chat, um operador pode especificar
ids de modelo/alvos provider/model que nunca devem ser comprimidos — uma proteção útil caso
a compressão seja futuramente conectada mais perto de um caminho adjacente a embeddings e, em geral, útil
para qualquer modelo em que o prompt exato, byte por byte, seja importante (avaliações determinísticas, prefixos
sensíveis ao cache etc.).
- Campo de configuração:
exclusions?: string[]na configuração global de compressão (GET/PUT /api/settings/compression), persistido por meio do namespace de compressãokey_valueexistente (src/lib/db/compression.ts) — nenhuma tabela nova. - Aba do dashboard: Dashboard → Compression → Exclusions
(
/dashboard/compression/exclusions). - Sintaxe dos padrões:
*é o único curinga. Todos os demais metacaracteres de regex em um padrão são escapados antes da correspondência, de modo quegpt-5.6corresponde apenas à string literal, nunca agpt-5x6(seguro contra ReDoS, limitado, sem quantificadores aninhados). Os padrões são comparados sem distinção entre maiúsculas e minúsculas tanto com o id simples do modelo quanto com o compostoprovider/model—gpt-5-6,openai/gpt-5-6eopenai/*funcionam, e*sozinho exclui todos os modelos. - Correspondência:
isCompressionExcluded()/normalizeCompressionExclusions()emopen-sse/services/compression/exclusions.ts.chatCore.tsverifica o alvo excluído logo após resolver as configurações de compressão, antes da execução de qualquer engine, e trata uma correspondência exatamente como se a compressão estivesse globalmente desabilitada — o corpo da solicitação é comprovadamente idêntico byte por byte. A omissão é registrada por meio dewriteCompressionSkip(..., "excluded")para visibilidade nas análises. - Padrão (lista vazia/ausente): idêntico ao comportamento anterior ao #8034 — nada é excluído.
Limitações conhecidas
Seção intitulada “Limitações conhecidas”- O LLMLingua-2 (SLM) exige dependências opcionais colocalizadas. O worker só é executado em uma
compilação de produção quando
@atjsh/llmlingua-2+ pares são colocalizados emdist/node_modules(consultescripts/build/colocateOptionals.mjs, #4286). Sem eles, o mecanismo falha de forma aberta (retorna o texto original). A resolução do worker não depende mais deimport.meta.url(isso falha no bundle independente) — ela se ancora no cwd /argv[1]do runtime. - Os pacotes de idiomas
de/fr/jado Caveman são parciais. Eles incluem regras decontext+filler+structural, mas não incluem pacotesdedup/ultra; portanto, a intensidadeultranão é mais forte quefullpara esses idiomas (eles usam apenas suas próprias regras — não há fallback silencioso para as regrasdedup/ultraem inglês, que corromperiam textos em outros idiomas).en/es/id/pt-BRestão completos. Contribuições dededup.json+ultra.jsonpara os pacotes parciais são bem-vindas. - A telemetria empilhada lista apenas os mecanismos que realizaram compressão. Uma etapa do pipeline empilhado cujo
mecanismo foi executado, mas produziu 0 % de economia, retorna
stats:nulle, portanto, não aparece emengineBreakdown— não sendo possível distingui-la de uma etapa que foi ignorada. Distinguir “executada, 0 %” de “ignorada” exigiria uma alteração no modelo de detalhamento e foi adiado.
Validação
Seção intitulada “Validação”Os “gates” focados para esta área são:
node --import tsx/esm --test tests/unit/compression/rtk-*.test.ts tests/unit/compression/pipeline-integration.test.ts tests/unit/compression/context-compression-api.test.tsnode --import tsx/esm --test tests/unit/compression/*.test.ts tests/golden-set/*.test.ts tests/integration/compression-pipeline.test.ts tests/unit/api/compression/compression-api.test.tsnode --import tsx/esm --test tests/unit/compression/mcpAccessibility*.test.tsnpm run typecheck:coreHagiCode
HagiCode é um ambiente de programação com agentes, fluxos estruturados, execução multiagente e visualizações Hero Dungeon.
Transforme ideias em software útil com um fluxo de trabalho com agentes mais inteligente, rápido e agradável.

- SmartFluxos estruturados transformam intenções em um caminho executável da ideia à entrega.
- EfficientFluxos multiagente mantêm pesquisa, implementação e revisão em andamento simultaneamente.
- FunO Hero Dungeon torna longas sessões de programação mais visuais e colaborativas.