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.
Local-first · open source · WASM-extensible
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 →
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 agentRoute one request, open the local feed, then enable one useful plugin. You do not need to write a plugin to get started.
Inspect model, latency, status, and reported token usage in the local feed. Add usage_logger to keep a rotating log without prompts or responses.
Use tool_governor to change the tool definitions advertised to the model. Your coding agent still owns tool execution and its approvals.
Experiment with smaller tool results and explicit retention rules. Keep what helps your tasks; switch off what doesn’t.
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.
Write content-free request, latency, and token usage records to a rotating private JSONL file
Details →Restricts or replaces the tool definitions advertised to the model
Details →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 →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.jsonI 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 →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.