★ 4,200+ GitHub stars

The production chassis
for any AI agent.

Retries, state, auth, rate limiting, logging — built in. Stop reinventing the scaffold. Ship the agent.

agent.py
from chassis import Agent, tool, state   agent = Agent("support-bot", state=state.redis("prod")) agent.register(tool(search_kb), tool(create_ticket)) agent.run(max_retries=3, auth=jwt, rate_limit="100/min")

Every team builds the same chassis. Then maintains it forever.

Engineers building AI agents spend 80% of sprint capacity on scaffolding that has nothing to do with the agent's actual job.

Weeks 1–3

Reinventing retries

Exponential backoff, jitter, dead-letter queues — written from scratch, tested inadequately, and abandoned when the real work starts.

Weeks 4–6

State management rabbit hole

Conversation history, tool call state, memory — bolted together with Redis, Postgres, and S3 in ways that break under load.

Forever

Maintenance tax

Custom scaffolding becomes legacy code. Security patches, framework upgrades, oncall incidents — for infrastructure that isn't your product.

Everything production agents need

Six hardened primitives. Drop in your business logic.

Retries & Backoff

Configurable retry policies with exponential backoff, jitter, and dead-letter routing. Works across any LLM provider.

💾

State Persistence

Conversation history and tool call state stored in Redis, Postgres, or in-memory. Survives restarts and horizontal scaling.

🔧

Tool Registry

Structured tool registration with JSON Schema validation, version pinning, and automatic error surfacing to the model.

🔑

Auth & Secrets

JWT, API key, and OAuth flows handled at the chassis layer. Secrets never touch your agent logic.

Rate Limiting

Per-agent, per-user, and global rate limits. Token budget tracking. Graceful degradation when limits are hit.

📊

Structured Logging

Every tool call, LLM request, retry, and error emitted as structured events. OpenTelemetry-compatible out of the box.

Three steps to a production agent

1

Install the chassis

One package. Zero config required to start. Sane defaults for retries, state, and logging that work out of the box.

2

Register your tools

Wrap any function as a tool. The chassis handles schema generation, input validation, and error propagation automatically.

3

Write business logic only

Your agent code is pure intent — what the agent should do, not how to recover when things break. That's our job.

Build better agents

Stop building the chassis.
Start shipping the agent.

Open-source and free to self-host. Managed cloud starts at $79/mo.

Get the framework