OmniGlyph CLI

A local proxy renders bulky system prompts and tool output as dense PNG pages and cuts Claude Code token spend

  • 173 ★ on the repository
  • Last commit
  • MIT
CLI

Broad access

Why this level

  • The proxy sits between the client and the API and sees every request, including code and keys, and replaces part of the context with images
  • A model can misread a dense image, and the error will not show in the context text
All reasons and checks

diegosouzapw/omniglyph

Install

In your terminal, with SkillFoxx CLI

npx skillfoxx add cli/omniglyph

Detects the agents on your machine, shows the access level and pins the version.

Other ways to install

Access and checks

How we review

Broad accessThe tool can change data, run commands or handle secrets.

  • The proxy sits between the client and the API and sees every request, including code and keys, and replaces part of the context with images
  • A model can misread a dense image, and the error will not show in the context text

This is third-party code. Review the repository files before installing.

What it does

OmniGlyph starts with `npx omniglyph` and brings up a proxy on `127.0.0.1:47821`. You point Claude Code at it with `ANTHROPIC_BASE_URL=http://127.0.0.1:47821`. The proxy rewrites bulky request blocks into dense PNG pages whenever they cost fewer tokens than the text. An image is billed by its size, not by the characters inside, so a full 28,080-character page takes 1,460 tokens. The static system prompt with tool docs, old collapsed history and large tool outputs are converted. Your messages, recent turns, the model output, sparse prose and byte-exact values such as hashes stay as text. Before converting, the proxy computes the cost with the provider formula, and models that failed the dense-page reading check are blocked. The author reports exact reading on 30 of 30 probes for Claude Fable 5, with worse results on other models. The package includes a local dashboard on the same address, an `npx omniglyph export` command that turns a folder into images for a chat with no proxy, a TypeScript library API and optional flags: secret guarding, compression profiles and a model list.

Who it is for. Developers who work heavily in Claude Code on an API key and want to cut bills for repeated context.

Good fit when

  • Long Claude Code sessions pay again and again for the same system prompt and tool docs
  • The `127.0.0.1:47821` dashboard shows which blocks became images and how many tokens were saved
  • A source folder goes to a chat with no proxy through `npx omniglyph export --include "*.ts" src/`
  • Secrets are kept out of the images by turning on `OMNIGLYPH_GUARD_SECRETS=redact`

Not a fit when

  • Your main model is not Claude Fable 5: Opus 4.8 reads dense pages at 77–87 percent, GPT-5.5 and Gemini 2.5-flash score zero
  • You need character-exact context in every message: the proxy turns part of the context into an image and the model can misread
  • Traffic goes through a network where a local proxy is not allowed by organization policy

Example request

Start omniglyph in a second terminal, point Claude Code at 127.0.0.1:47821 and show how many tokens were saved in the session

Limitations

The saving was measured by the author on Claude Fable 5 and rests on a trace of 13,709 requests. On an API key the bill drops 59–70 percent, while on a subscription no money is saved and only the token count against limits changes. Reading results are worse on Opus 4.8, GPT-5.5 and Gemini 2.5-flash, and some of them are blocked by the gate. A system block rendered as an image can trigger refusals from the Anthropic classifier, for which `OMNIGLYPH_KEEP_SYSTEM_TEXT=1` exists. All flags are off by default and `omniglyph --help` lists them. Node.js is required, with the version in `.nvmrc`.

How to disable. Stop the `omniglyph` process and remove `ANTHROPIC_BASE_URL` from your environment or shell. The client then talks to the provider directly again. If installed globally, run `npm uninstall -g omniglyph`.

FAQ

How do I connect OmniGlyph to Claude Code?

Run `npx omniglyph`, then in another window run `ANTHROPIC_BASE_URL=http://127.0.0.1:47821 claude`. In PowerShell set it with `$env:ANTHROPIC_BASE_URL`. Claude Desktop reads the same variable.

What exactly is compressed?

The static system prompt with tool docs, old collapsed history and large tool outputs. Your messages, recent turns, the model output and exact values such as hashes stay as text.

Can I use it without the proxy?

Yes. `npx omniglyph export --include "*.ts" src/` or `cat big.log | npx omniglyph export --stdin` renders context into PNG pages you then paste into Cursor, ChatGPT or any chat that accepts images.

How do I keep secrets out of the images?

Set `OMNIGLYPH_GUARD_SECRETS=text` so a block with a key is never imaged, or `redact` to mask it in place. The request sent to the provider stays unchanged.

How do I see the savings?

Open the dashboard at `http://127.0.0.1:47821/`: an overview with savings share and latency, per-request telemetry, sessions and benchmark reports. The dashboard makes no external requests.

Discussion

No questions or reviews yet.

CLI tools

A local proxy with a terminal dashboard: shows how many tokens each Claude Code and Codex request sends and saves the prompts to files

CLIExtended access812Repository stars

Local proxy between agent and model API: compresses diffs and logs, keeps the request prefix stable for prompt caching.

CLIExtended access189Repository stars

A proxy between an agent and a local model: old tool outputs go to a disk archive the model reads back with a recall tool

CLIExtended access68Repository stars

Paritok is a proxy between a coding agent and the model API that compresses requests and cuts the input-token bill.

CLIBroad access1.4KRepository stars

A local proxy and plugin for Claude Code and Codex that trims tool output, keeps the prompt cache warm and shows the savings

PluginBroad access74Repository stars

A local binary tracks Claude Code, Codex and Cursor spend from provider-billed tokens and enforces guardrails on your agents.

CLIExtended access59Repository stars

Comparison with similar tools

Cards that share the main search query, and how they differ.

ToolOfficialAuthenticationRepository starsMain difference
OmniGlyph (this card)no173
Headroomyesnot required79,542local text-level context compression for tool outputs, logs, files and RAG, while this swaps blocks for images by a cost formula
RTKno86,384a Rust proxy that condenses git and test output, while this compresses the system prompt, history and tool output as a whole

README in short

The README presents the idea in numbers: a 59–70 percent bill cut, ten times fewer tokens per block and reading accuracy on Claude Fable 5, then explains why the proxy is safe for results. A quick start, Claude Code and Claude Desktop setup, the dashboard, a how-it-works diagram with optional flags, a library API and offline export follow.

README badge

Report a problem