Files
OmniRoute/docs/i18n/ha/docs/compression/COMPRESSION_ENGINES.md
Diego Rodrigues de Sa e Souza 8feea123bb feat(docs): mirror every docs/ page in all 65 locales (#14106)
* feat(docs): mirror every docs/ page in all 65 locales

Extends the documentation mirrors from the 22-page core set (#13940) to
every Markdown page under docs/: 152 sources x 65 locales = 9,880 mirrors
(6,208 new), language bars rewritten for the full locale list, state
adopted so the blocking drift gate now covers all 152 pages.

run-translation.mjs: an oversized block made only of table rows or list
items (PROVIDER_REFERENCE.md 244-row table, FREE_TIERS.md 71-item list) is
cut at item boundaries and rejoined without a blank line — the single
16-40 KB request outlived the backend socket for verbose scripts. 48
older mirrors whose tables had lost rows were retranslated with --force.

* docs(i18n): refresh mirrors for the sources the base changed since the branch cut

Section-level retranslation of the 29 docs (and README.md) whose source
or mirrors moved on release/v3.8.51 during the run, then state adoption;
the drift gate is green again on the merged tree.
2026-09-18 13:16:46 -03:00

31 KiB
Raw Blame History

Compression Engines (Hausa)

🌐 Languages: 🇺🇸 English · 🇪🇹 am · 🇸🇦 ar · 🇦🇿 az · 🇧🇬 bg · 🇧🇩 bn · 🇨🇿 cs · 🇩🇰 da · 🇩🇪 de · 🇬🇷 el · 🇪🇸 es · 🇪🇪 et · 🇮🇷 fa · 🇫🇮 fi · 🇫🇷 fr · 🇮🇪 ga · 🇮🇳 gu · 🇮🇱 he · 🇮🇳 hi · 🇭🇷 hr · 🇭🇺 hu · 🇦🇲 hy · 🇮🇩 id · 🇳🇬 ig · 🇮🇹 it · 🇯🇵 ja · 🇬🇪 ka · 🇰🇭 km · 🇮🇳 kn · 🇰🇷 ko · 🇱🇹 lt · 🇱🇻 lv · 🇮🇳 ml · 🇮🇳 mr · 🇲🇾 ms · 🇲🇹 mt · 🇲🇲 my · 🇳🇵 ne · 🇳🇱 nl · 🇳🇴 no · 🇮🇳 or · 🇮🇳 pa · 🇵🇭 phi · 🇵🇱 pl · 🇵🇹 pt · 🇧🇷 pt-BR · 🇷🇴 ro · 🇷🇺 ru · 🇱🇰 si · 🇸🇰 sk · 🇸🇮 sl · 🇷🇸 sr · 🇸🇪 sv · 🇰🇪 sw · 🇮🇳 ta · 🇮🇳 te · 🇹🇭 th · 🇹🇷 tr · 🇺🇦 uk-UA · 🇵🇰 ur · 🇺🇿 uz · 🇻🇳 vi · 🇳🇬 yo · 🇨🇳 zh-CN · 🇹🇼 zh-TW


Matsewar OmniRoute an gina ta ne bisa kwangilolin injuna. Wani yanayi na iya tafiyar da injin guda ɗaya kai tsaye (caveman ko rtk) ko kuma tsayayyen jerin matakai da aka tara wanda ke aiwatar da injuna da yawa bisa tsari.

Yanayoyi

Yanayi Hanyar injin Shigarwar da aka nufa
off babu Kiyaye saƙon umarni yadda yake
lite Ƙananan mataimakan Caveman Tsabtacewa mai ƙarancin haɗari koyaushe
standard Caveman Taƙaita saƙon umarni na harshe na halitta
aggressive Caveman + masu taƙaita tarihi/kayan aiki Dogayen zaman tattaunawa
ultra Caveman + mataimakan ragewa Maidowa daga iyakar mahallin
rtk RTK Fitowar terminal, shell, build, test, da git
omniglyph OmniGlyph Mahalli-a-matsayin-hoto a kan layin sadarwar mai samarwa na asali
stacked Jerin matakai, tsoho rtk -> caveman Haɗaɗɗun rajistan kayan aiki da rubutu, mafi girman tanadi

Bayanan tsarin matsewar OmniGlyph

Injin omniglyph (kunshin omniglyph, 1.4.0+) yana karɓar bayanin tsarin maana mai suna, wanda ake saita shi gaba ɗaya ta omniglyph.profile a cikin saitunan matsewa ko kuma ga kowane mataki ta hanyar saitin matakin jerin matakan da aka tara:

Bayanin tsari Iyaka
aggressive Tsoho. Manufofin da rasitocin da aka wallafa suka auna — yana mai da tsarin, takardun kayan aiki da tarihin mai yawa zuwa hotuna
balanced Yana barin halin da ke gudana a tsarin asali, yana kare juyoyi 8 na ƙarshe, yana haɗa tsohon tarihin da aka rufe
coding-safe Yana barin iko, tsarin kayan aiki da fitowar kayan aiki mai gudana a tsarin asali, yana kare juyoyi 12 na ƙarshe
passthrough Yana tura bayanai ba tare da sauyawa ba; ana tsallake injin

Bayanin tsarin iyakar sama ne, ba iyakar ƙasa ba: mergeCompressionProfileOptions a cikin kunshin yana hana sauyin da mai kira ya yi sake buɗe hanyar da ke jawo asara wadda bayanin tsarin ya rufe, saboda haka preserveSystemPrompt: false na wani mataki ba zai iya sake kunna matsewar tsarin a ƙarƙashin coding-safe ba.

An auna a kan wannan codebase: coding-safe da balanced suna ɗaga minCompressChars zuwa matsakaicinsa mafi girma kuma suna barin tsarin, tsarin kayan aiki da sakamakon kayan aiki a yanayinsu na asali, don haka zaman da bai tara tarihi ba tukuna yana tsayawa a below_min_chars kuma injin ba ya sauya komai. Wannan shi ya sa tsohon zaɓi yake aggressive maimakon bayanin tsarin mafi aminci.

Kunshin yana tantance iyakar model da bayanin tsarinsa daga saitin environment nasa. OmniRoute ba ya taɓa miƙa wannan shawarar ga wani: adapter yana ɗaure ƙofar model zuwa iyaka mafi tsauri ta kunshin, saboda haka saitunan environment na host za su iya ƙara taƙaita allowlist kawai, amma ba za su taɓa faɗaɗa shi fiye da rasitocin da OmniRoute ya auna ba.

Rijistar Injin

Rijistar yana cikin open-sse/services/compression/engines/registry.ts. Injuna suna samar da ƙa'ida guda da suke bi tare:

  • id: tsayayyen id na inji kamar caveman ko rtk
  • apply(text, config): tsohuwar hanyar aiwatarwa da tsarin bututun da aka jera ke amfani da ita
  • compress(input, config): babbar hanyar aiwatarwa wadda ke mayar da rubutu + ƙididdiga
  • getConfigSchema(): tana mayar da tsarin da ya yi kama da JSON-Schema na ingantaccen saitin config
  • validateConfig(config): tana mayar da { valid, errors[] }

Yin rajista yana amfani da registerCompressionEngine(engine) (ko registerEngine don lokuta na ci-gaba), wanda ke kiran assertValidEngine() da validateConfig(defaultConfig) kafin karɓa. Yi amfani da unregisterCompressionEngine(id) don cire inji yayin da tsarin ke gudana.

strategySelector.ts yana rajistar injunan da ke zuwa tare da tsarin kafin matsawa ya gudana. Wannan yana ba samfoti, matsawar lokacin aiki, yanayin jeri, gwaje-gwaje, da injuna na gaba damar amfani da hanyar aiwatarwa iri ɗaya.

Matsawar bayanin MCP (mai alaƙa)

Wani rijista na daban yana matsa metadata na bayanin kayan aikin MCP a matakin rijista — duba open-sse/mcp-server/descriptionCompressor.ts da MCP-SERVER.md. Yana sake amfani da ƙa'idojin Caveman amma yana aiki a kan metadata na kayan aiki, ba kan payload na buƙata ba.

Ƙarin injunan da ke zuwa tare da tsarin

Baya ga Caveman, RTK, da LLMLingua-2, rijistar yana zuwa da wasu ƙwararrun injunan da ba sa jawo asarar bayanai / na tsari (waɗanda tsarin bututun da aka jera, filin gwaji, da gwaje-gwaje ke amfani da su):

Inji Id Abin da yake yi
CCR ccr Content-Compress-Retrieve (H4): yana maye gurbin manyan tubalan rubutu masu jere da manazarta masu adireshin abun ciki, don a aika tubalan da aka maimaita/manya sau ɗaya sannan a yi nuni da su daga baya.
headroom headroom SmartCrusher (H3 + N5): matsawar bayanan tabula ba tare da asara ba ga payload na JSON-array masu tsari iri ɗaya zuwa sifar ginshiƙai ta [N rows].
ionizer ionizer Ɗaukar samfuran layuka daga kai/tsakiya/ƙarshe don manyan tubalan masu tsari iri ɗaya, tare da adana ɓangaren tsakiyar da aka cire a matsayin manazarar CCR mai adireshin abun ciki.
session-dedup session-dedup Cire maimaituwar abun ciki tsakanin zagaye bisa adireshin abun ciki (wanda TokenMizer ya yi wahayi): yana cire rubutun da aka riga aka gani a zagayen baya na session ɗin guda.

Umarni na ƙa'idar dawo da CCR (#8033): a karon farko da CCR ya maye gurbin ≥1 tubali a cikin buƙata, injin yana saka saƙon system guda ɗaya da ba ya canza sakamako idan aka maimaita shi a farko (yana farawa da alamar sentinel ta [CCR protocol]) domin koya wa mai kira yarjejeniyar alama → kayan aiki: abin da alamar [CCR retrieve hash=<24hex> chars=N] take nufi, cewa dole ne a kwafi hash ɗin ba tare da wani sauyi ba (duk haruffan hex 24 — kuskuren kwafin hash shi ne mafi yawan dalilin rashin samun "block not found"), da kuma cewa alamar [dedup:ref sha=...] tana nufin "duba baya cikin tarihi", ba "kira kayan aikin" ba. Ana saka bayanin kawai idan tools[] da mai kiran ya bayyana sun tabbatar cewa zai iya isa ga omniroute_ccr_retrieve da gaske (callerSupportsCcrRetrieve() a cikin open-sse/services/compression/engines/ccr/protocolInstruction.ts) — mai kira na yau da kullum mai dacewa da OpenAI wanda ba shi da wannan kayan aikin ba zai taɓa samun umarnin kiran abin da ba zai iya isa gare shi ba. Ana tabbatar da rashin maimaitawa ta hanyar bincika tarihin saƙonni don neman sentinel kafin sakawa, don haka buƙatun zagaye da yawa (waɗanda ke sake kunna saƙonnin baya) ba sa tara bayanin sau ɗaya a kowane zagaye.

Caveman

Yanayin Caveman yana mai da hankali kan taƙaita maanar rubutu na yau da kullum:

  • yana kiyaye tubalan lamba, URLs, JSON, hanyoyin fayil, da tsararrun bayanai
  • yana cire kalmomin cike gurbi, shakku, maimaita mahallin bayani, da dogayen jimlolin haɗawa
  • yana goyon bayan fakitin ƙaidojin fayil masu laakari da harshe a cikin open-sse/services/compression/rules/
  • ana ci gaba da samunsa ta tsoffin yanayin standard, aggressive, da ultra

Fuskar dashboard ɗin ita ce Dashboard -> Context & Cache -> Caveman.

Rahotannin Caveman na upstream sun nuna raguwar token ɗin fitarwa da ~75%, matsakaicin tanadin fitarwa na 65% a gwaje-gwajen maauni tare da kewayon 22-87%, da kayan aikin matse shigarwa na ~46%. OmniRoute yana amfani da adadin Caveman na ɓangaren shigarwa yayin rubuta bayanin tanadin prompt/mahalli da aka jera tare; yanayin fitarwa na Caveman ya kasance wata siffa ta daban ta halayyar amsa.

RTK

Yanayin RTK yana mai da hankali kan fitarwar umarni da kayan aiki:

  • yana gano nauikan fitarwa kamar git status, git branch, git diff, Vitest/Jest/Pytest, gwaje-gwajen Cargo/Go, gina TypeScript/Vite/Webpack, ESLint, bincike/shigarwar npm, rajistan ayyukan Docker, find/grep na shell, jerin sawun stack, da rajistan ayyuka na gama-gari
  • yana amfani da matatan JSON guda 49 daga open-sse/services/compression/engines/rtk/filters/
  • yana goyon bayan bututun aiki na bayyanawa irin na RTK: cire ANSI, sauyawa, tsallake sauran aiki idan fitarwa ta dace, cire/riƙe layuka, yanke tsawon kowane layi, yanke head/tail/max-line, da koma-bayan idan babu komai
  • yana goyon bayan matatan aikin da ke buƙatar amincewa a .rtk/filters.json da matatan gama-gari a DATA_DIR/rtk/filters.json
  • yana cire jerin ANSI, hayaniyar ci gaba, maimaitattun layuka, da rubutun samfurin da ba ya taimakawa
  • yana kiyaye kurakuran da za a iya ɗaukar mataki a kansu, gargaɗi, taƙaitawa, fayilolin da aka canza, da mahallin ƙarshen fitarwa
  • zai iya, idan an zaɓa, riƙe danyen fitarwa da aka ɓoye bayanansa domin dawo da bayanai/gyara matsala ta hanyoyin gudanarwa masu tantance sahihanci

Fuskar dashboard ɗin ita ce Dashboard -> Context & Cache -> RTK.

Cikakkun bayanan aiki don matatu na musamman, amincewa, tabbatarwa, da dawo da danyen fitarwa suna cikin RTK_COMPRESSION.md.

Rahotannin RTK na upstream sun nuna tanadin 60-90% wajen matse fitarwar umarni. Misalin README ɗinsa ya nuna zaman Claude Code na mintuna 30 yana raguwa daga token ~118,000 zuwa ~23,900, wato an tanadi 79.7%.

LLMLingua-2 (Datsewa Bisa Maana)

Yanayin LLMLingua-2 yana yin datse token bisa maana a kan rubutu ta amfani da ƙaramin mai rarraba token na ONNX, yana cike gurbin injunan Caveman da RTK masu dogaro da ƙaidoji:

  • yana matse rubutu ne kawai a saƙonnin da ba na tsarin ba; ba a taɓa canza tubalan lamba masu shinge da sauran abubuwan da ake kiyayewa
  • yana gudanar da backend na @atjsh/llmlingua-2 (ONNX ta @huggingface/transformers) a cikin worker thread, don haka hasashen model ba zai taɓa toshe event loop na buƙata ba
  • ana iya jerawa tare da wasu (stackPriority 35): a cikin bututun aiki mai jerin injuna yana gudana bayan injunan tsari (CCR, session-dedup, headroom, Caveman) amma kafin ultra, domin datsewa bisa maana ya fi tasiri a kan rubutun da aka riga aka matse ta fuskar tsari — misali rtk -> caveman -> llmlingua
  • yana fail-open idan kowane kuskure ya faru (rashin optional deps, ƙaddamar da worker, loda model, inference, ko timeout) → ana dawo da rubutun asali ba tare da canji ba, ba a taɓa dawo da kuskure ba

Wurin engine: open-sse/services/compression/engines/llmlingua/. Fuskar dashboard ɗin ita ce Dashboard -> Context & Cache -> LLMLingua.

Model-model

Tsohon model na asali shi ne TinyBERT (atjsh/llmlingua-2-js-tinybert-meetingbank, ~57 MB, mai sauri). Ana samun model BERT-base mai inganci mafi girma (Arcoldd/llmlingua4j-bert-base-onnx, ~710 MB) ta filin model na saitunan engine. @huggingface/transformers yana sauke zaɓaɓɓen model a hankali daga HuggingFace Hub zuwa ${DATA_DIR}/models/llmlingua a kiran farko (modelStore.ts); maimakon haka, saitin modelPath na override yana nuna masa kwafin gida (shigarwa marar intanet / keɓantacciyar hanyar sadarwa).

Optional dependencies & shigarwa lokacin buƙata

Tarin runtime peer na LLMLingua da za a iya cirewa na zaɓi ne. An ayyana package guda biyu a matsayin optionalDependencies a cikin package.json kuma ginin production yana barinsu a matsayin external (scripts/build/prepublish.ts ba ya haɗa su cikin bundle):

Package Siga (pin) Bayanan kula
@atjsh/llmlingua-2 2.0.5 Package na shiga; yana ayyana sauran a matsayin peers
js-tiktoken ^1.0.20 Mai tokenization

An ɗaure @huggingface/transformers a ^4.2.0 (ana amfani da shi tare da hanyar embeddings ta gida kuma ana haɗa sawunsa cikin standalone bundle); @atjsh/llmlingua-2@2.0.5 yana buƙatar sa a matsayin peer da "^3.5.2 || ^4.0.0", don haka ana goyon bayan Transformers.js v3 da v4 duka. Tun daga 2.0.4, @atjsh/llmlingua-2 baya buƙatar @tensorflow/tfjs, wanda ya cire mafi girman mai ƙara girma guda ɗaya (TensorFlow.js) daga tarin SLM. Package biyu na sama kaɗai ne peers na SLM da za a iya cirewa. Daidaitaccen npm install (dev) yana shigar da tarin zaɓin kai tsaye sai dai idan an tsallake optional dependencies.

Dalilin shigarwa lokacin buƙata: package da aka wallafa a npm, standalone bundle, da Docker image ana tura su ba tare da waɗannan deps ba domin su kasance ƙanana. Idan babu su, matakin tantance dependency na worker (gwajin resolve na @atjsh/llmlingua-2 a cikin worker.ts) yana gaza kuma engine ɗin yana fail-open a ɓoye — zaɓin LLMLingua ba ya yin komai (ana dawo da rubutu ba tare da canji ba, ba a rubuta kuskure a log ba). Don kunna shi a muhalli da aka rage, shigar da tarin zaɓin:

# ɗaure zuwa sigogin da aka ayyana a package.json optionalDependencies
npm install @atjsh/llmlingua-2@2.0.5 js-tiktoken

Cire @tensorflow/tfjs (2.0.4+) yana kawar da wanda a baya ya fi ƙara girma da ~800 MB — sauran girman ya ƙunshi runtimes na transformers.js + onnxruntime-node, tare da model na TinyBERT (~57 MB) da ake saukewa a amfani na farko (ba ta npm ba).

Ga kowane muhalli:

  • Ci gaba / npm install — ana shigar da shi ta atomatik sai dai idan ka wuce --omit=optional (ko --no-optional). Babu wani mataki da ake buƙata.
  • npm na duniya (npm i -g omniroute) / mai zaman kansa — gudanar da umarnin shigarwa na sama a cikin kundin package ɗin da aka shigar, ko sake shigarwa ba tare da barin optional deps ba.
  • Docker — ƙara umarnin shigarwa a cikin wani derived image layer; image ɗin da aka wallafa an tsara shi ya zama siriri.
  • VPS (PM2) — shigar a cikin node_modules na manhajar, sannan sake kunna process ɗin domin worker ya sake binciken gate ɗin.
  • Raw Next standalone (npm run build.build/next/standalone/server.js) — standalone trace ɗin ba ya ɗauke da worker KO optional deps, don haka engine ɗin yana yin fail-open ba tare da sanarwa ba. scripts/build/colocate-standalone.mjs yana sake amfani da dukansu biyun (worker esbuild + optional-dep closure zuwa cikin standalone tree); yana gudana ta atomatik ta hanyar postbuild npm hook bayan kowane build. Idempotent ne, kuma yana yin fail-soft idan deps ba su nan.

Tabbatar yana aiki: idan an zaɓi LLMLingua, rubutun prose na ainihi yana raguwa (engine ɗin yana daina yin fail-open), kuma request na farko yana jawo sauke model zuwa ${DATA_DIR}/models/llmlingua. Da gangan gate ɗin yana binciken @atjsh/llmlingua-2 kaɗai — sauran peers ɗin ESM-only ne kuma require.resolve yana jefa kuskure a kansu ko da suna nan — don haka worker zai ci gaba da yin fail-open idan wani peer ba ya nan da gaske a lokacin import().

Bututun Aiki Masu Jere

Yanayin jere yana gudanar da matakan bututun aiki bi da bi. Tsoho shi ne:

rtk -> caveman

Yi amfani da wannan don zaman wakilin tsara lamba inda umarni ya haɗa fitowar umarni da rubutun ɗan Adam ko na mataimaki. RTK yana fara rage rajistan ayyukan kayan aiki masu hayaniya, sannan Caveman ya matse sauran harshe na yau da kullum.

Ana saita matakan bututun aiki da stackedPipeline a cikin saitunan matsewa ko ta hanyar haɗe-haɗen matsewa.

Lokacin da injunan biyu suka rage kaya ɗaya da ya cancanta, tanadin yana taruwa:

combined = 1 - (1 - tanadin RTK) * (1 - tanadin shigarwar Caveman)
average  = 1 - (1 - 0.80) * (1 - 0.46) = 89.2%
range    = 1 - (1 - 0.60..0.90) * (1 - 0.46) = 78.4-94.6%

Tacewar Bishiyar Samun Dama ta MCP

Tacewar wayo ta bishiyar samun dama ta MCP wani mataki ne na matsewa bayan aiwatarwa wanda ke aiki a kan sakamakon kayan aikin MCP, ba a kan umarni ko mahallin ba. Tana nufin ɗimbin bayanan bishiyar samun dama da hotunan yanayin burauza masu tsawo da kayan aiki irin su Playwright, computer-use, da sabar MCP ta sarrafa burauza ke mayarwa.

Abin da take yi

  1. Cire hayaniya — tana cire shigarwar generic/text marasa komai (- generic:, - text: "")
  2. Naɗe yanuwa — idan layuka a jere ≥ collapseThreshold (tsoho 30) maimaitawar tsari ne, tana naɗe su zuwa layukan farko collapseKeepHead (tsoho 10) + taƙaitaccen adadi + layukan ƙarshe collapseKeepTail (tsoho 5)
  3. Kiyaye ref — ba a taɓa anka na [ref=eXX] da Playwright/computer-use ke buƙata
  4. Yanke tilas — idan rubutun bayan naɗewa har yanzu ya wuce maxTextChars (tsoho 50,000), tana yanke shi tare da alamar jagorar kewayawa domin wakilin ya iya ci gaba da aiki

Wurin inji

open-sse/services/compression/engines/mcpAccessibility/
  index.ts            ← wurin shigar smartFilterText()
  collapseRepeated.ts ← tsarin lissafin naɗe yanuwa
  constants.ts        ← DEFAULT_MCP_ACCESSIBILITY_CONFIG

Saitawa

compression.mcpAccessibility ne ke sarrafa ta a cikin saitunan gama-gari (ƙaura 056). Saitin tsoho:

{
  "enabled": true,
  "maxTextChars": 50000,
  "collapseThreshold": 30,
  "collapseKeepHead": 10,
  "collapseKeepTail": 5,
  "minLengthToProcess": 2000
}

Ana amfani da tacewar ne kawai ga bayanan sakamakon kayan aiki waɗanda type ɗinsu yake "text" kuma tsawonsu ya wuce minLengthToProcess. Ba ta shafar matse umarni ko bayanan buƙata.

Tanadin da ake tsammani

6080% a sakamakon kayan aikin hoton yanayin burauza, gwargwadon sarƙaƙƙiyar shafin. Tsarin lissafin naɗewa O(n) ne bisa yawan layuka kuma yana ƙara jinkiri marar yawa.

Wannan tacewar idan aka kwatanta da injunan matsewa na sama

Bangare Caveman / RTK / Stacked Tacewar samun dama ta MCP
Manufa Umarnin buƙata / mahalli Sakamakon kayan aikin MCP
Mai kunnawa Saitin yanayin matsewa compression.mcpAccessibility.enabled
Iyaka Duk saƙonnin SSE Sakamakon kayan aiki kawai
Ankar ref Bai shafa ba Ana kiyaye su ba tare da wani sharaɗi ba

Haɗe-haɗen Matsawa

Haɗe-haɗen matsawa su ne bayanan martabar matsawa masu suna waɗanda za a iya sanya wa haɗe-haɗen zirga-zirga:

  • compression_combos: yana adana yanayi, pipeline, saitin RTK, saitin harshe, da alamar tsoho
  • compression_combo_assignments: yana danganta haɗin matsawa da haɗin zirga-zirga
  • haɗewar lokacin aiki tana warware haɗin matsawa da aka sanya kafin maye gurbin haɗe-haɗe na gama-gari
  • nazarce-nazarce sun haɗa da compression_combo_id da engine

Wurin dashboard: Dashboard -> Context & Cache -> Compression Combos.

Fuskar API

Hanya Manufa
/api/settings/compression Saitunan matsawa na duniya baki ɗaya (sun haɗa da saitin mcpAccessibility)
/api/compression/preview Samfotin kowane yanayin matsawa
/api/compression/language-packs Jera fakitin harsunan Caveman da ake da su
/api/context/caveman/config Madadin suna na saitunan Caveman
/api/context/rtk/config Tsoffin ƙimomi da saitunan RTK
/api/context/rtk/filters Kundin matatan RTK
/api/context/rtk/test Endpoint na samfoti/gwajin RTK
/api/context/rtk/raw-output/[id] Maido da raw-output da aka ɓoye bayanan sirri tare da tantancewa
/api/context/combos CRUD na haɗe-haɗen matsawa
/api/context/combos/[id]/assignments CRUD na sanya haɗe-haɗen zirga-zirga
/api/context/analytics Madadin suna na nazarce-nazarcen matsawa

Hanyoyin gudanarwa suna buƙatar tantancewar gudanarwa ko binciken manufofin API-key.

Kayan Aikin MCP

Matsawa tana samar da kayan aikin MCP guda biyar:

Kayan aiki Iyaka Manufa
omniroute_compression_status read:compression Saituna, nazarce-nazarce, ƙididdigar cache
omniroute_compression_configure write:compression Sabunta saitunan duniya baki ɗaya
omniroute_set_compression_engine write:compression Saita yanayi da pipeline na zaɓi
omniroute_list_compression_combos read:compression Jera haɗe-haɗen matsawa
omniroute_compression_combo_stats read:compression Karanta nazarce-nazarcen haɗi/engine

Iyaka da abubuwan da aka cire

Ba a taɓa matsa embeddings ba. open-sse/handlers/embeddings.ts ba ya taɓa kiran kowane engine na matsawa — jikin buƙata/amsa yana wucewa kai tsaye zuwa executor ba tare da an taɓa shi ba. Wannan tsarin gini ne a halin yanzu (embeddings da chat completions suna da handlers daban-daban), ba binciken lokacin aiki ba, amma yana nufin damuwar karkatar da vector da ke cikin #8034 ba ta da wata fuskar fallasa a hanyar embeddings.

Tatar cirewa ta kowane model/endpoint (#8034). Don chat completions, mai gudanarwa zai iya ambata model ids / wuraren provider/model waɗanda ba za a taɓa matsawa ba — kariya mai amfani idan daga baya aka haɗa matsawa kusa da wata hanya da ke maƙwabtaka da embeddings, kuma tana da amfani gaba ɗaya ga duk wani model wanda prompt ɗinsa ke da muhimmancin daidaituwar byte-for-byte (deterministic evals, prefixes masu tasirin cache, da sauransu).

  • Filin saiti: exclusions?: string[] a kan saitin matsawa na duniya baki ɗaya (GET/PUT /api/settings/compression), ana adana shi ta hanyar namespace na matsawa na key_value da ake da shi (src/lib/db/compression.ts) — babu sabon table.
  • Shafin dashboard: Dashboard → Compression → Exclusions (/dashboard/compression/exclusions).
  • Tsarin pattern: * ne kaɗai wildcard. Ana tserewa kowane sauran regex metacharacter a cikin pattern kafin matching, don haka gpt-5.6 yana dacewa da ainihin wannan rubutu kawai, ba zai taɓa dacewa da gpt-5x6 ba (mai kariya daga ReDoS, mai iyaka, babu nested quantifiers). Patterns suna yin matching ba tare da laakari da bambancin manyan da ƙananan haruffa ba, a kan bare model id da kuma haɗin provider/modelgpt-5-6, openai/gpt-5-6, da openai/* duk suna aiki, kuma * shi kaɗai yana cire kowane model.
  • Matching: isCompressionExcluded() / normalizeCompressionExclusions() a cikin open-sse/services/compression/exclusions.ts. chatCore.ts yana bincika target da aka cire nan da nan bayan warware saitunan matsawa, kafin kowane engine ya fara aiki, kuma yana ɗaukar matching daidai kamar an kashe matsawa a duniya baki ɗaya — jikin buƙatar yana kasancewa iri ɗaya byte-for-byte tabbatacce. Ana rubuta tsallakewar ta hanyar writeCompressionSkip(..., "excluded") domin a iya ganinta a nazarce-nazarce.
  • Tsohon ƙima (jerin da babu komai/babu shi): daidai yake da halayen kafin #8034 — babu abin da aka cire.

Sanannun iyakoki

  • LLMLingua-2 (SLM) yana buƙatar zaɓaɓɓun dependencies su kasance a wuri guda. Worker ɗin yana aiki ne kawai a cikin production build idan an haɗa @atjsh/llmlingua-2 + peers a wuri guda cikin dist/node_modules (duba scripts/build/colocateOptionals.mjs, #4286). Idan babu su, engine ɗin zai fail-open (ya mayar da ainihin rubutun). Yanzu warware wurin worker ba ya dogara da import.meta.url (yana mutuwa a cikin standalone bundle) — yana jingina ne ga runtime cwd / argv[1].
  • Language packs na Caveman na de / fr / ja ba su cika ba. Suna zuwa da ƙaidojin context + filler + structural, amma babu packs na dedup / ultra, saboda haka ƙarfin ultra bai fi na full ba ga waɗannan harsunan (suna amfani da ƙaidojinsu kaɗai — babu silent fall-back zuwa ƙaidojin Turanci na dedup/ultra, wanda zai gurɓata rubutun wasu harsuna). en / es / id / pt-BR sun cika. Ana maraba da gudummawar dedup.json + ultra.json ga packs ɗin da ba su cika ba.
  • Stacked telemetry yana lissafa engines da suka yi compression ne kawai. Matakin stacked-pipeline wanda engine ɗinsa ya yi aiki amma ya samar da tanadin 0 % yana mayar da stats:null, don haka ba ya bayyana a cikin engineBreakdown — ba za a iya bambanta shi da matakin da aka tsallake ba. Bambance "ya yi aiki, 0 %" da "an tsallake" zai buƙaci sauyi ga breakdown-model, kuma an ɗage shi zuwa gaba.

Tabbatarwa

Focused gates na wannan ɓangaren su ne:

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.ts
node --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.ts
node --import tsx/esm --test tests/unit/compression/mcpAccessibility*.test.ts
npm run typecheck:core