🌐 English · All languages
Znížte svoj účet za Claude o 59 – 70 % tak, že objemný kontext vykreslíte ako husté PNG stránky — ten istý obsah, za zlomok tokenov.
Modely účtujú text po tokenoch, ale obrázok účtujú podľa jeho rozmerov — nie podľa toho, koľko textu je vnútri.
Súčasť rodiny OmniRoute · 🌐 Všetky jazyky
| metrika | výsledok | dôkaz |
|---|---|---|
| Zníženie účtu end-to-end | 59 – 70 % | produkčná stopa, 13 709 požiadaviek |
| Tokeny na konvertovaný blok | 10× menej (28 080 znakov: 14 040 → 1 460 tokenov) | billing sweep |
| Presnosť účtovacieho vzorca | rezíduum nula naprieč 22 sondami count_tokens, 2 modely × 2 úrovne |
benchmarks/billing-sweep/results/ |
| Presnosť presného čítania, produkčná konfigurácia | 30/30 (100 %) na Claude Fable 5 | density frontier |
| Tiché konfabulácie v ~300 sondách čítania | 0 — každý neúspech sa zdrží ako ILEGIVEL |
benchmarks/density-frontier/results/ |
Skóre modelov (dokáže čítať husté rendery? n=30 na skupinu, deterministické hodnotenie):
| model | čítanie | verdikt |
|---|---|---|
| Claude Fable 5 | 100 % presne | ✅ produkčný cieľ |
| Claude Opus 4.8 | 77 – 87 % pri 4× veľkosti glyfov | |
| GPT-5.5 | 0/60 — a nafukuje svoje odpovede ~40× pri snahe | ❌ zablokované bránou, s dôkazom |
| Gemini 2.5-flash | 0/26 — a namiesto zdržania sa konfabuluje | ❌ zablokované (čiastočný test, obmedzené kvótou) |
Výhoda je dnes špecifická pre Fable — ostatné vizuálne enkodéry zatiaľ nedokážu rozlíšiť husté glyfy. Benchmarkový harness otestuje akýkoľvek nový model jedným príkazom.
Každá dlhotrvajúca agentská session ťahá na každej požiadavke tú istú mŕtvu váhu: systémový prompt, dokumentáciu nástrojov a starú históriu — preúčtovanú za token, každé kolo. OmniGlyph je lokálny proxy, ktorý tieto objemné časti prepíše na husté PNG stránky predtým, než opustia váš počítač:
- Presná účtovacia matematika, nie heuristiky — počíta reálny vzorec poskytovateľa pre tokeny obrázka (meraný na nulové rezíduum) a konvertuje iba vtedy, keď matematika vyhráva.
- Fail-closed dizajn — modely, ktoré nedokážu čítať husté rendery, blokuje brána, s benchmarkovými dôkazmi. Žiadna tichá strata kvality.
- Súkromné a lokálne-first — prepis sa deje na
127.0.0.1; nič navyše sa nikam neposiela. - Reprodukovateľné — každé číslo vyššie má dôkaz v
benchmarks/*/results/, opätovne spustiteľný jedným príkazom.
npx omniglyph # proxy na 127.0.0.1:47821
ANTHROPIC_BASE_URL=http://127.0.0.1:47821 claude # nasmerujte naň Claude CodeFunguje oboma spôsobmi:
- API kľúč (platba za token): váš účet klesne o 59 – 70 % end-to-end.
- Predplatiteľská session: neplatíte menej, ale limity používania sa počítajú v tokenoch — takže vaše limity sa natiahnu ~2 – 3×.
Dashboard na http://127.0.0.1:47821/: ušetrené tokeny, každá konverzia text→obrázok vedľa seba, vypínač, živé čipy modelov. Odpovede prúdia normálne — komprimuje sa iba požiadavka, nikdy výstup modelu.
Start the proxy in one terminal, then point the client at it.
Claude Code CLI (macOS/Linux):
npx omniglyph
ANTHROPIC_BASE_URL=http://127.0.0.1:47821 claudeClaude Code CLI (Windows PowerShell):
npx omniglyph
$env:ANTHROPIC_BASE_URL = "http://127.0.0.1:47821"
claudeClaude Desktop uses the same ANTHROPIC_BASE_URL environment variable for its bundled Claude Code runtime — start omniglyph first, then launch Claude Desktop from an environment where ANTHROPIC_BASE_URL is set to http://127.0.0.1:47821.
Kompletný lokálny dashboard sa dodáva priamo v balíku — offline, jeden súbor, žiadne externé požiadavky. Šesť stránok, aktualizovaných naživo cez SSE, ako plynú požiadavky:
- Overview — mission control: úspora %, ušetrené $, latencia p95, zásahy do cache, chyby, živý feed.
- Live Flow — pipeline ako uzlový graf: client → gate → renderer / passthrough → API, s časticou pre každú skutočnú požiadavku.
- Telemetry — odometer tokenov/$ a živá časová os požiadaviek; kliknutím na ktorúkoľvek požiadavku uvidíte presne, ktoré časti sa stali obrázkami, a prečítate si zdrojový text za každou stránkou.
- Benchmarks — dôkazy z harnessu vykreslené z
benchmarks/*/results/, jeden riadok na experiment model·konfigurácia, a spustenie benchmarkov priamo z UI:$0dry-runy streamujú svoj výstup naživo; živé behy ostávajú zamknuté za vaším API kľúčom a výslovným potvrdením nákladov. - Sessions / History — top session podľa ušetrených tokenov a každá udalosť na disku.
| Live Flow | Benchmarks |
|---|---|
![]() |
![]() |
objemný blok požiadavky ──► brána ziskovosti ──► reflow + render (1-bitová 5×8 atlasová mriežka)
(presná účtovacia matematika) ──► 1568×728 PNG stránky ──► spätné zošitie, priateľské k cache
- Účtovanie sa počíta presne, pred konverziou: Anthropic účtuje
⌈w/28⌉ × ⌈h/28⌉ + 4tokenov na obrázok (28 px záplaty — merané na nulové rezíduum). Celá stránka nesie 28 080 znakov za 1 460 tokenov ≈ 19 znakov/token, oproti ~2 znakom/token pri hustom texte. Brána konvertuje iba vtedy, keď matematika vyhráva. - Čo sa konvertuje: statický systémový prompt + dokumentácia nástrojov, stará zbalená história, veľké výstupy nástrojov.
- Čo sa nikdy nekonvertuje: vaše správy, nedávne kolá, výstup modelu, riedka próza, hodnoty na úrovni bajtov (hashe/ID cestujú popri texte), a akýkoľvek model, ktorý neprešiel benchmarkom čítania.
Všetko, čo proxy robí pri každej požiadavke, je zároveň zdokumentované, importovateľné API:
import { renderTextToImages, transformAnthropicMessages } from "omniglyph";
// Vykreslite ľubovoľný text do hustých 1-bitových PNG stránok
const { pages } = await renderTextToImages(bigToolOutput, { reflow: true });
// pages[i].png: Uint8Array · pages[i].width × pages[i].height
// Alebo si sami spustite celú transformáciu požiadavky — brána, presná účtovacia matematika a všetko
const { body, applied, reason } = await transformAnthropicMessages({
body: requestBytes, // surové telo JSON /v1/messages
model: "claude-fable-5",
});options.keepSharp(block) pripne bloky ako text; options.emitRecoverable vráti originály obrázkových blokov. Presná účtovacia matematika sa dodáva aj v koreni balíka (anthropicImageTokens, resolveAnthropicVisionTier, openAIVisionTokens) — presne to používa OmniRoute. Čistý JS runtime (Node aj edge/Workers). Celé rozhranie: src/core/index.ts.
Nepoužívate Claude Code? Vykreslite kontext do PNG stránok lokálne a vložte ich do Cursor, ChatGPT alebo akéhokoľvek chatu, ktorý prijíma nahrávanie obrázkov. Bez proxy, bez API kľúča, bez zapojeného účtu:
npx omniglyph export --include "*.ts" src/ # render a folder to image pages
cat big.log | npx omniglyph export --stdin # …or pipe any text throughDostanete jeden priečinok so všetkým, čo stačí pustiť do chatu:
OmniGlyph-export-<hash>/
page-001.png … the rendered image pages — attach these
factsheet.txt verbatim precision tokens (paths, SHAs, ids, numbers)
prompt.txt a paste-ready instruction that points the model at the pages
manifest.json metadata + the text-vs-image token report (% saved)
--git vykreslí váš necommitnutý diff, --diff <ref> rozsah commitov, --open zobrazí priečinok (macOS). Všetko beží u vás na počítači — exportná cesta nikdy nespustí proxy a nikdy nezavolá model. Spustite omniglyph export --help pre všetky prepínače.
- Je to stratové. Presné čítanie na úrovni bajtov z obrázkov je zo svojej podstaty nespoľahlivé. Nasadené zmierňovania: presné identifikátory cestujú ako text vedľa obrázka a meraná produkčná konfigurácia priniesla nulové tiché konfabulácie — neúspešné čítania sa zdržia.
- Dnes je schválený iba Fable 5, s dôkazmi. GPT-5.5 a Gemini 2.5-flash merateľne nedokážu čítať husté rendery; Opus 4.8 potrebuje 4× väčšie glyfy. Brána toto vynucuje.
- Našli a vyhli sme sa účtovacej pasci: vysokorozlišovacia úroveň obrázka účtuje 3,3× viac za stránku, ale vizuálny enkodér nedostáva navyše rozlíšenie — väčšie stránky sa čítajú horšie. Merané, zdokumentované v docs/benchmarks/BENCHMARKS.md, nenasadené.
- Ceny sa menia; trvalá metrika je zníženie tokenov, ktoré proxy loguje na požiadavku oproti bezplatnému kontrafaktuálu
count_tokens.
Zapol som to uprostred sedenia a spotreba vystrelila — prečo? Sedenie bežiace bez OmniGlyph má celý prefix uložený u Anthropic v cache ako text za čítaciu sadzbu 0,1×; prvá požiadavka s obrázkami by to všetko znovu zaplatila ako nový zápis do cache za 1,25× v jedinom prompte. Proxy pred tým chráni: sedenie, ktoré nikdy nepreviedlo na obrázky, započíta tento jednorazový náklad do break-even brány a na obrázky prepne, len ak sa to stále oplatí — inak sedenie ostáva textom a úspory začínajú ďalším novým sedením.
Je tých 59 – 70 % end-to-end, alebo len na požiadavkách, ktorých sa to dotklo? End-to-end — celý účet. Väčšina kompresných nástrojov vykazuje úspory iba na časti, ktorej sa dotkli, čo číslo skresľuje v ich prospech. Náš menovateľ je každá požiadavka: tie malé, ktoré brána správne nechala nedotknuté, všetky zápisy a čítania z cache a všetky výstupné tokeny (ktoré proxy nikdy nekomprimuje). Číslo počítané iba z komprimovanej časti vychádza vyššie a uvádza sa samostatne, nikdy ako hlavné číslo.
Ako sa meria úspora?
Obe strany tej istej požiadavky, v tom istom okamihu. Pri každom POST na /v1/messages proxy vypáli bezplatnú sondu count_tokens na pôvodné nekomprimované telo (kontrafaktuál) paralelne so skutočným presmerovaním a načíta zo skutočnej odpovede blok použitia, ktorý účtoval poskytovateľ — oboje pristane v tom istom riadku udalosti. Cenotvorba cache sa uplatňuje identicky na oboch stranách, takže zľava za cache sa vyruší a nedá sa dvojito započítať ako „úspora“. Vzorec je v src/core/baseline.ts; odvoďte si ho znova z vlastného logu udalostí.
Prečo by mal byť neúspech konfabuláciou namiesto chyby čítania? Pretože vizuálny modul modelu nie je OCR: stránka sa zmení na embeddingy záplat, nikdy na diskrétne znaky, takže neexistuje miera istoty na úrovni glyfu, na ktorej by mohlo čítanie nahlas zlyhať — keď pixely nedostatočne určujú glyf, jazykový prior doplní medzeru niečím pravdepodobným. Presne kvôli tomuto mechanizmu je OmniGlyph v tomto ohľade fail-closed: hodnoty na úrovni bajtov vždy cestujú ako text vedľa obrázka, modely, ktoré čítajú nesprávne, blokuje brána, a meraná produkčná konfigurácia priniesla nulové tiché konfabulácie v ~300 sondách čítania — neúspešné čítania sa zdržia.
Čo s prácou na úrovni bajtov (hashe, ID, tajomstvá)? Nedávne kolá a presné identifikátory ostávajú textom podľa dizajnu. Pre záťaže, ktoré sú celé na úrovni bajtov, ich smerujte na model mimo zoznamu povolených (napr. subagenta na inom modeli Claude) — čokoľvek mimo zoznamu povolených prechádza bajtovo identické, nedotknuté.
Nevyriešil DeepSeek-OCR už otázku, či to funguje? Dokázal, že kanál funguje — s párom enkodér/dekodér natrénovaným presne na túto úlohu. Skepticizmus pochádza z obdobia, keď žiadny bežný produkčný model nevedel čítať husté rendery; to sa zmenilo a skóre modelov vyššie presne ukazuje, kto ich dnes dokáže čítať, s dôkazmi. Benchmarkový harness otestuje akýkoľvek nový model jedným príkazom — brána sa riadi dátami, nie hype.
Dá sa to použiť bez Claude Code — Cursor, ChatGPT, obyčajná pipe?
Áno, dvoma spôsobmi. Ako proxy funguje s akýmkoľvek klientom, ktorý vám umožní nastaviť základnú URL API (ANTHROPIC_BASE_URL alebo základnú URL OpenAI) — Claude Code, vaše vlastné skripty, čokoľvek cez HTTP. A pre nástroje, ktoré nedokážu použiť proxy, Offline export vyššie vykreslí kontext do PNG stránok, ktoré vložíte ručne — omniglyph export --stdin dokonca číta priamo z Unix pipe.
Ako vlastne premení text na obrázok? Text preformátuje (reflow) a vykreslí ho 1-bitovým 5×8 pixelovým atlasom glyfov na husté 1568×728 PNG stránky — jeden bit na pixel, bez anti-aliasingu, takže model účtuje stránku podľa jej rozmerov, nie podľa toho, koľko znakov je vnútri. Ako to funguje vyššie obsahuje pipeline; dokument benchmarkov obsahuje geometriu a to, prečo hustejšie nie je vždy lacnejšie.
pnpm install && pnpm test # celá sada
node benchmarks/billing-sweep/run.mjs --dry-run # predikcie účtovania, $0
pnpm exec tsx benchmarks/density-frontier/run.ts --dry-run # tabuľka nákladov, $0
# s kľúčmi: ANTHROPIC_API_KEY / OPENAI_API_KEY / GEMINI_API_KEY (alebo --via-cli pre predplatiteľskú session Claude Code)Kompletná metodika a všetky tabuľky výsledkov: docs/benchmarks/BENCHMARKS.md. Surové dôkazy po jednotlivých odpovediach: benchmarks/*/results/*.jsonl.
OmniGlyph sa tiež dodáva ako natívny kompresný engine vnútri OmniRoute — bezplatnej AI brány. Tam beží ako engine omniglyph (samostatný single mode alebo vrstvený s ostatnými enginmi), s fail-closed bránami a účtovaním tokenov s ohľadom na obrázky.
| vrstva | technológia |
|---|---|
| Jazyk | TypeScript (strict), ESM |
| Runtime | Node ≥18 · Cloudflare Workers (wrangler.toml) |
| Renderovanie | vlastná 1-bitová atlasová mriežka glyfov (odvodená zo Spleen/Unifont, licencie v assets/) → PNG |
| Testy | Vitest — TDD, plus stráže integrity dokumentácie a rebrandingu |
| Benchmarky | harnessy v benchmarks/ (billing-sweep, density-frontier) s JSONL dôkazmi |
| cesta | čo |
|---|---|
src/ |
proxy: transformačný pipeline, presné účtovanie na poskytovateľa, renderer, hosty (Node + Cloudflare Workers) |
benchmarks/ |
harnessy, ktoré vyprodukovali každé číslo vyššie — opätovne spustiteľné |
docs/ |
BENCHMARKS · ARCHITECTURE · ROADMAP |
- 🐛 Issues — chyby a požiadavky na funkcie
- 🔒 SECURITY.md — hlásenia zraniteľností
- 🤝 CONTRIBUTING.md — striktné TDD + meranie pred tvrdeniami
- 📜 CHANGELOG.md · CODE_OF_CONDUCT.md
OmniGlyph stojí na pleciach jedného projektu obzvlášť — táto sekcia je naše trvalé poďakovanie.
| Projekt | Ako ovplyvnil OmniGlyph |
|---|---|
| pxpipe · teamchong | Objav, na ktorom je postavený celý tento projekt. pxpipe s dôkazmi preukázal, že vizuálny kanál produkčného LLM dokáže niesť hustý textový kontext za zlomok nákladov na tokeny — a že o konverzii sa musí rozhodovať pri každej požiadavke presnou účtovacou matematikou, nikdy podľa pocitu. Husté 1-bitové vykresľovanie, brána ziskovosti, kontrafaktuál count_tokens, fail-closed zoznam povolených modelov a kultúra dokumentácie „najprv zmerať, potom tvrdiť“ — to všetko tam vzniklo ako prvé. OmniGlyph priamo vychádza z tohto kódu (MIT — pôvodný riadok copyrightu ostáva v našej LICENSE). |
| Spleen · Frederic Cambus | Rodina bitmapových fontov 5×8, z ktorej vychádza náš hustý 1-bitový atlas glyfov (licencia v assets/). |
| GNU Unifont · Unifoundry | Pokrytie glyfov nad rámec rozsahu Spleen v tom istom atlase (licencia v assets/). |
Ak vám OmniGlyph príde užitočný, dajte hviezdičku aj pôvodnému projektu — objav bol ich. 🙏
MIT — pozri LICENSE.





