Nasiko-Labs/nasiko

AI Engineering

Self-hosted control plane that meters, routes and governs AI coding agents and any A2A agent you deploy.

10,637
2,619
Rust
NOASSERTION
8 months old

Nasiko is a self-hosted control plane for an otherwise scattered agent estate: it discovers the coding-agent CLIs already on a machine, aggregates their spend, routes their model calls to providers you choose, and deploys your own A2A agents behind one proxy. It fits teams that already run several harnesses or agents in-house and want cost attribution, access control or budget limits enforced at the request path rather than in a dashboard.

How it works

A single nasiko-server process is the chokepoint: every agent-to-agent call, tool call and LLM request passes through it. That position is deliberate — the README argues vendor usage units can't be reconciled after the fact and budget caps only bind where the request actually goes Why this runs in the call path. Concretely, the LLM router gives agents a base URL and a short-lived JWT instead of a real provider key, resolving provider, model and key server-side Features. The MCP Gateway exposes Composio toolkits and custom MCP servers as one permission-filtered catalog, so an agent calls tools without holding third-party credentials MCP tools section. Flow guards in Redis cap depth, fan-out, token budget and cycles. State lives in Postgres, Redis and S3, with optional OTel/Tempo/Loki observability Architecture.

Two distinct use paths

Watching and steering coding agents you already run covers Claude Code, Codex, OpenCode and Cursor CLI (the last supports discovery and reporting but not routing yet). Discovery is read-only and sends nothing off the machine; reporting and routing are separate opt-ins, each installed per harness Coding agents. --no-content omits prompt and response text from reporting, and when a control plane is temporarily unreachable finished turns queue locally. Note the OpenCode plugin needs a restart and Codex asks you to trust the hooks. Installing the CLI from source needs Rust; older builds share the same 0.1.0 version number, so --version alone doesn't show whether a command exists.

Deploying your own agents requires them to speak A2A v1.0 at runtime; Python, Rust, Go and TypeScript are all listed. There is no proprietary SDK, but a container runtime is needed unless you use nasiko upload, which builds on the server.

Requirements and caveats

The platform's simplest path is Docker Engine plus Compose V2 (the docker compose command, not legacy v1) and no Rust — the server compiles inside the container Requirements. The developer path needs Rust 1.85+ and just. Several secrets must be set before first start, including a separate AGENT_JWT_SECRET; without it, agent token issuance returns 503 and gateway auth fails closed. SECRETS_ENCRYPTION_KEY must not be regenerated on routine restarts or existing encrypted agent secrets become unreadable. The README's example S3 credentials are development values.

The project is Apache-2.0 LICENSE. All evidence here comes from the README; no independent evaluation of reliability or security is supplied.

Written by AI from the project's README, updated October 30, 2026. The project's own docs are the source of truth.