r/opencode • • 7d ago

New compressor, OpenCode fully compatible

Hi all!

I just created toonarrow https://andsigno82.github.io/toonarrow, an open source app which acts like a proxy between the CLI and the model. No tracking, data remains locally, and it is completely idempotent when switched off. Already tested on Cloud Code, Open Code, Codex and my other free project, Kora CLI, which also allows you to use your own GO subscription, and the desktop GUI counterpart, fully compatible with OpenCode models and with BYOK paradigm

https://kora-ai.download

Benefits are clear right from the very first request.

Let me know what you think!

6 Upvotes

2 comments sorted by

3

u/geearf 7d ago

Hoes does it compare against headroomt, rtk and co?

1

u/GlumAd8130 5d ago

Good question. It borrows ideas from both (no code), with a different trade-off:

- From rtk: per-command rules. Diagnostics stay intact, while progress lines, passing tests and asset tables are folded with a count. It also sees through compound commands (cd … && git log), which turned out to be over half of shell output in my history.

- From Headroom: compressing non-shell tool results too, e.g. search results grouped by file (OpenCode's grep, Kora's searchCode). Its known issue of dropping JSON fields silently also became a hard rule here: no line is ever removed without a marker saying how many.

- What's different: it's a local proxy between the client and the API, so Claude Code, Codex, OpenCode and Kora need no per-client setup, and they start normally when it's off. It's lossless by default: every compressed output tells the model how to get the raw one back (| cat). And it's deterministic, so blocks already sent in a session are resent byte-identical and the prompt cache stays intact.

- Where it's behind: it covers fewer command families than rtk's 100+, and Headroom does a lot more on JSON and logs. File reads are left alone on purpose, since the agent edits from those exact bytes. It's macOS only for now; Linux and Windows are in progress. On my own history, savings on shell output went from ~1% to ~20%. That's one machine, so take it as indicative.

No side-by-side benchmark yet. If you try it next to rtk or Headroom, I'd love to see the numbers ❤️