Torana Edge banner
torana-edge torana-edge

Torana Edge

Development community

Description

Pre-release. A programmable local proxy for coding agents with WASM plugins and a canonical multi-provider IR. APIs and configuration may change before launch.

Installation

This entry records only its repository, not the path inside it, so there is no exact command to give. Open the source below and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

README

Torana Edge

Torana Edge is a **local-first, programmable reverse proxy for AI coding agents**. It sits between your harness (Claude Code, Codex, OpenCode, Aider) and your provider, and gives you a place to observe, redact, route, veto, or rewrite traffic — without replacing the agent or the model.

All request/response mutations are handled by **WebAssembly (WASM) plugins** running in a sandboxed `wazero` runtime, communicating with the host via **Protobuf** serialization. This architecture enables hot-loadable, language-agnostic plugins with zero-downtime updates.

[harness] ←→ [Torana Edge :8080] ←→ [LLM Providers]
             /provider/deepseek/...   → DeepSeek (OpenAI format)
             /provider/anthropic/...  → Anthropic
             /provider/openai/...     → OpenAI
             /provider/gemini/...     → Google Gemini API / Vertex AI

For harnesses that can't be pointed at a base URL — notably the **Antigravity CLI (`agy`)** — Torana also offers an optional TLS-terminating MITM ingress. See [docs/GEMINI_ANTIGRAVITY.md](docs/GEMINI_ANTIGRAVITY.md).

Key Features

  • WASM Plugin Ecosystem: Write ABI-v1 plugins in Go or Rust with the torana-plugin-sdk and compile them to .wasm. Hot-loaded, no proxy restart. Both SDKs run through the host's executable conformance harness in CI.
  • Operator-approved plugins: A plugin declares the capabilities it wants; it does not receive them. You inspect and approve each bundle, and the approval is bound to that bundle's SHA-256 digest — rebuild or change permissions and it needs approving again. Sandboxed in wazero: a plugin gets the IR and nothing else, no filesystem, no sockets you did not grant.
  • Tool-aware compaction: Explicit policies keep source and failure evidence exact while allowing recoverable searches/listings to be reduced deterministically—even on first expo