Compression Engines (Deutsch)
Komprimierungskombinationen
Abschnitt betitelt „Komprimierungskombinationen“Komprimierungskombinationen sind benannte Komprimierungsprofile, die Routing-Kombinationen zugewiesen werden können:
compression_combos: speichert Modus, Pipeline, RTK-Konfiguration, Sprachkonfiguration und Standardmarkierungcompression_combo_assignments: ordnet eine Komprimierungskombination einer Routing-Kombination zu- die Laufzeitintegration löst eine zugewiesene Komprimierungskombination vor generischen Überschreibungen der Kombination auf
- Analysen enthalten
compression_combo_idundengine
Dashboard-Bereich: Dashboard -> Context & Cache -> Compression Combos.
API-Oberfläche
Abschnitt betitelt „API-Oberfläche“| Route | Zweck |
|---|---|
/api/settings/compression |
Globale Komprimierungseinstellungen (einschließlich mcpAccessibility-Konfiguration) |
/api/compression/preview |
Vorschau eines beliebigen Komprimierungsmodus |
/api/compression/language-packs |
Verfügbare Caveman-Sprachpakete auflisten |
/api/context/caveman/config |
Alias für Caveman-Einstellungen |
/api/context/rtk/config |
RTK-Standardwerte und -Einstellungen |
/api/context/rtk/filters |
RTK-Filterkatalog |
/api/context/rtk/test |
RTK-Vorschau-/Test-Endpunkt |
/api/context/rtk/raw-output/[id] |
Authentifizierte Wiederherstellung redigierter Rohausgaben |
/api/context/combos |
CRUD für Komprimierungskombinationen |
/api/context/combos/[id]/assignments |
CRUD für Zuweisungen zu Routing-Kombinationen |
/api/context/analytics |
Alias für Komprimierungsanalysen |
Verwaltungsrouten erfordern eine Verwaltungsauthentifizierung oder API-Schlüssel-Richtlinienprüfungen.
MCP-Tools
Abschnitt betitelt „MCP-Tools“Die Komprimierung stellt fünf MCP-Tools bereit:
| Tool | Umfang | Zweck |
|---|---|---|
omniroute_compression_status |
read:compression |
Einstellungen, Analysen, Cache-Statistiken |
omniroute_compression_configure |
write:compression |
Globale Einstellungen aktualisieren |
omniroute_set_compression_engine |
write:compression |
Modus und optionale Pipeline festlegen |
omniroute_list_compression_combos |
read:compression |
Komprimierungskombinationen auflisten |
omniroute_compression_combo_stats |
read:compression |
Kombinations-/Engine-Analysen abrufen |
Umfang und Ausschlüsse
Abschnitt betitelt „Umfang und Ausschlüsse“Embeddings werden niemals komprimiert. open-sse/handlers/embeddings.ts ruft niemals eine
Komprimierungs-Engine auf — die Anfrage-/Antwortinhalte werden unverändert direkt an den Executor
weitergegeben. Dies ist derzeit strukturell bedingt (Embeddings und Chat Completions werden von
getrennten Handlern verarbeitet) und keine Laufzeitprüfung. Das bedeutet jedoch, dass das Problem
der Vektorverzerrung aus #8034 im Embeddings-Pfad keine Angriffsfläche hat.
Ausschlussfilter pro Modell/Endpunkt (#8034). Für Chat Completions kann ein Betreiber
Modell-IDs bzw. provider/model-Ziele angeben, die niemals komprimiert werden dürfen — eine
nützliche Schutzmaßnahme, falls die Komprimierung später näher an einen Embeddings-nahen Pfad
angebunden wird, und allgemein nützlich für jedes Modell, bei dem der Prompt bytegenau erhalten
bleiben muss (deterministische Auswertungen, cache-sensitive Präfixe usw.).
- Einstellungsfeld:
exclusions?: string[]in der globalen Komprimierungskonfiguration (GET/PUT /api/settings/compression), persistiert über den vorhandenenkey_value-Namensraum für die Komprimierung (src/lib/db/compression.ts) — keine neue Tabelle. - Dashboard-Registerkarte: Dashboard → Compression → Exclusions
(
/dashboard/compression/exclusions). - Mustersyntax:
*ist der einzige Platzhalter. Jedes andere reguläre Ausdrucksmetazeichen in einem Muster wird vor dem Abgleich maskiert, sodassgpt-5.6nur mit der exakten Zeichenfolge übereinstimmt, niemals mitgpt-5x6(ReDoS-sicher, begrenzt, keine verschachtelten Quantifizierer). Muster werden ohne Berücksichtigung der Groß-/Kleinschreibung sowohl mit der reinen Modell-ID als auch mit der zusammengesetzten Angabeprovider/modelabgeglichen —gpt-5-6,openai/gpt-5-6undopenai/*funktionieren alle, und*allein schließt jedes Modell aus. - Abgleich:
isCompressionExcluded()/normalizeCompressionExclusions()inopen-sse/services/compression/exclusions.ts.chatCore.tsprüft das ausgeschlossene Ziel unmittelbar nach dem Auflösen der Komprimierungseinstellungen, bevor eine Engine ausgeführt wird, und behandelt eine Übereinstimmung genau so, als wäre die Komprimierung global deaktiviert — der Anfrageinhalt bleibt nachweislich byteidentisch. Das Überspringen wird überwriteCompressionSkip(..., "excluded")für die Sichtbarkeit in Analysen erfasst. - Standardwert (leere/nicht vorhandene Liste): identisch mit dem Verhalten vor #8034 — nichts wird ausgeschlossen.
Bekannte Einschränkungen
Abschnitt betitelt „Bekannte Einschränkungen“- LLMLingua-2 (SLM) erfordert gemeinsam platzierte optionale Abhängigkeiten. Der Worker wird in einem
Produktions-Build nur ausgeführt, wenn
@atjsh/llmlingua-2und seine Peer-Abhängigkeiten gemeinsam unterdist/node_modulesplatziert sind (siehescripts/build/colocateOptionals.mjs, #4286). Ohne sie arbeitet die Engine nach dem Fail-open-Prinzip (sie gibt den ursprünglichen Text zurück). Die Auflösung des Workers hängt nicht mehr vonimport.meta.urlab (dies schlägt im eigenständigen Bundle fehl), sondern orientiert sich zur Laufzeit am cwd / anargv[1]. - Die Caveman-Sprachpakete
de/fr/jasind unvollständig. Sie enthalten Regeln fürcontext+filler+structural, aber keine Pakete fürdedup/ultra, sodass die Intensitätultrafür diese Sprachen nicht stärker ist alsfull(sie verwenden ausschließlich ihre eigenen Regeln — es gibt keinen stillen Rückgriff auf die englischendedup-/ultra-Regeln, der fremdsprachigen Text verstümmeln würde).en/es/id/pt-BRsind vollständig. Beiträge in Form vondedup.json+ultra.jsonfür die unvollständigen Pakete sind willkommen. - Die Telemetrie gestapelter Pipelines listet nur Engines auf, die eine Komprimierung erzielt haben. Ein Schritt einer gestapelten Pipeline, dessen
Engine ausgeführt wurde, aber 0 % Einsparung erzielte, gibt
stats:nullzurück und erscheint daher nicht inengineBreakdown— er ist somit nicht von einem übersprungenen Schritt zu unterscheiden. Die Unterscheidung zwischen „ausgeführt, 0 %“ und „übersprungen“ würde eine Änderung des Aufschlüsselungsmodells erfordern und wird zurückgestellt.
Validierung
Abschnitt betitelt „Validierung“Die gezielten Prüfungen für diesen Bereich sind:
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 ist ein agentischer Coding-Arbeitsplatz mit strukturierten Workflows, Multi-Agent-Ausführung und Hero-Dungeon-Ansichten.
Mit einem intelligenteren, schnelleren und unterhaltsameren agentischen Workflow wird aus Ideen nutzbare Software.

- SmartStrukturierte Workflows machen aus Absichten einen umsetzbaren Weg von der Idee bis zur Auslieferung.
- EfficientMulti-Agent-Workflows führen Recherche, Umsetzung und Prüfung parallel aus.
- FunHero Dungeon macht lange Coding-Sitzungen anschaulich und gemeinschaftlich.