Local-first · open source · WASM-extensible

A programmable proxy for coding agents.

Keep your agent and your model. See request activity locally, apply your own traffic policy, and extend it with Go or Rust plugins. Torana runs between your coding agent and its configured provider.

No Torana account. Currently built from source. Check your harness and endpoint →

How it worksagent → proxy → provider
YOUR CODING AGENT
      ↓  a local provider route
TORANA · ON YOUR MACHINE
      Observe request activity
      Run the plugins you approved
      Apply your traffic policy
      ↓
YOUR CONFIGURED MODEL PROVIDER
      ↓
Response back to your agent

Start with a request you can see.

Route one request, open the local feed, then enable one useful plugin. You do not need to write a plugin to get started.

See what crossed the proxy.

Inspect model, latency, status, and reported token usage in the local feed. Add usage_logger to keep a rotating log without prompts or responses.

Choose what the model sees.

Use tool_governor to change the tool definitions advertised to the model. Your coding agent still owns tool execution and its approvals.

Try a different context policy.

Experiment with smaller tool results and explicit retention rules. Keep what helps your tasks; switch off what doesn’t.

Take your tools with you.

Built a workflow hack for one coding harness? Bring the reusable logic into a Go or Rust plugin. Keep it in Torana and reuse it across compatible harnesses.

Pick a plugin. Make it yours.

Browse registry →

usage_logger

Write content-free request, latency, and token usage records to a rotating private JSONL file

Details →

keyword_compactor

Deterministic keyword-based tool-result compaction; uses cached intent when available and a bounded local fallback otherwise. Alternative to compactor — run ONE of the two; running after intent improves relevance.

Details →

One binary. One local port.

You need Git, Go 1.26.6 or newer, and a provider credential. Start with no plugins, then add the usage logger. The walkthrough includes how to switch back.

Open the walkthrough →
git clone https://github.com/torana-edge/torana-edge.git
cd torana-edge
go build -o ./torana ./cmd/torana
cp config.example.json config.json

This was supposed to be a compactor.

I wanted cheaper AI chats. Somehow, I ended up building a WASM plugin runtime.

I’m Aniket. Torana grew out of an experiment, a questionable amount of scope creep, and a genuine love of building systems. The compactor didn’t establish the savings I hoped for. The proxy became the project.

How I got here →

Make it part of your workflow.

Try Torana on a coding task. Hack together a plugin for your own use case—a context policy, a tool integration, or that bit of glue you keep rebuilding. Share what you make.

Torana runs locally; your requests still reach the provider you choose. Check compatibility before trying your agent.