* 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.
31 KiB
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 ma’ana 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 kamarcavemankortkapply(text, config): tsohuwar hanyar aiwatarwa da tsarin bututun da aka jera ke amfani da itacompress(input, config): babbar hanyar aiwatarwa wadda ke mayar da rubutu + ƙididdigagetConfigSchema(): tana mayar da tsarin da ya yi kama da JSON-Schema na ingantaccen saitin configvalidateConfig(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 ma’anar 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 ƙa’idojin fayil masu la’akari da harshe a cikin
open-sse/services/compression/rules/ - ana ci gaba da samunsa ta tsoffin yanayin
standard,aggressive, daultra
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 ma’auni
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 nau’ikan 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/grepna 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.jsonda matatan gama-gari aDATA_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 Ma’ana)
Yanayin LLMLingua-2 yana yin datse token bisa ma’ana a kan rubutu ta amfani da ƙaramin mai rarraba token na ONNX, yana cike gurbin injunan Caveman da RTK masu dogaro da ƙa’idoji:
- 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 (
stackPriority35): a cikin bututun aiki mai jerin injuna yana gudana bayan injunan tsari (CCR, session-dedup, headroom, Caveman) amma kafinultra, domin datsewa bisa ma’ana ya fi tasiri a kan rubutun da aka riga aka matse ta fuskar tsari — misalirtk -> 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_modulesna 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.mjsyana sake amfani da dukansu biyun (worker esbuild + optional-dep closure zuwa cikin standalone tree); yana gudana ta atomatik ta hanyarpostbuildnpm 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
- Cire hayaniya — tana cire shigarwar generic/text marasa komai (
- generic:,- text: "") - Naɗe ’yan’uwa — idan layuka a jere ≥
collapseThreshold(tsoho 30) maimaitawar tsari ne, tana naɗe su zuwa layukan farkocollapseKeepHead(tsoho 10) + taƙaitaccen adadi + layukan ƙarshecollapseKeepTail(tsoho 5) - Kiyaye ref — ba a taɓa anka na
[ref=eXX]da Playwright/computer-use ke buƙata - 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 ’yan’uwa
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
60–80% 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 tsohocompression_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_iddaengine
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 nakey_valueda 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 hakagpt-5.6yana dacewa da ainihin wannan rubutu kawai, ba zai taɓa dacewa dagpt-5x6ba (mai kariya daga ReDoS, mai iyaka, babu nested quantifiers). Patterns suna yin matching ba tare da la’akari da bambancin manyan da ƙananan haruffa ba, a kan bare model id da kuma haɗinprovider/model—gpt-5-6,openai/gpt-5-6, daopenai/*duk suna aiki, kuma*shi kaɗai yana cire kowane model. - Matching:
isCompressionExcluded()/normalizeCompressionExclusions()a cikinopen-sse/services/compression/exclusions.ts.chatCore.tsyana 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 hanyarwriteCompressionSkip(..., "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 cikindist/node_modules(dubascripts/build/colocateOptionals.mjs, #4286). Idan babu su, engine ɗin zai fail-open (ya mayar da ainihin rubutun). Yanzu warware wurin worker ba ya dogara daimport.meta.url(yana mutuwa a cikin standalone bundle) — yana jingina ne ga runtime cwd /argv[1]. - Language packs na Caveman na
de/fr/jaba su cika ba. Suna zuwa da ƙa’idojincontext+filler+structural, amma babu packs nadedup/ultra, saboda haka ƙarfinultrabai fi nafullba ga waɗannan harsunan (suna amfani da ƙa’idojinsu kaɗai — babu silent fall-back zuwa ƙa’idojin Turanci nadedup/ultra, wanda zai gurɓata rubutun wasu harsuna).en/es/id/pt-BRsun cika. Ana maraba da gudummawardedup.json+ultra.jsonga 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 cikinengineBreakdown— 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