Agents and sessions
Describe an agent once, then create independent multi-turn conversations through an Engine.
Build capable AI agents in Rust. Run them where they belong.
Agents, typed tools, multi-turn sessions, and durable execution behind one application-facing API. Pick how much of it you want to operate.
A Rust crate inside your own binary. No database, no server, no services to run.
The shared runtime in your infrastructure, on your PostgreSQL, with the control plane and UI.
The same runtime and production operations, managed for you. Free during early access.
The agent loop stays explicit and embeddable. Default features are offline: a simulated model runs a full turn with no database, server, worker, network connection, or provider credential.
Describe an agent once, then create independent multi-turn conversations through an Engine.
Start offline with a simulated model, use OpenAI, or attach your own ChatDriver. No closed provider enum in your application code.
Function tools with schemas derived from the signature. Filesystem, shell, web, Lua, and MCP boundaries are opt-in, one feature at a time.
Observe a live turn as it streams, add awaited behavior at execution boundaries, and stop work cooperatively.
Begin with Engine-lifetime memory, add local crash-durable state, or cross deliberately into a distributed host.
Rust, no runtime services required, and the same engine that powers the self-hosted and managed platform.
Agents, typed tools, sessions, and events are the same objects on both sides. What changes when you move to the shared runtime is where execution and state live, and which capabilities are available.
Files, session storage, current time, compaction, tool search, skills, and any capability your application writes itself with the tool and capability macros.
Knowledge bases and indexes, memories, subagents and handoff, background tasks and schedules, user hooks, model scouting, and citations need hosted persistence or orchestration. The Framework advertises none of them, rather than promising tools whose stores are absent.
let session = Engine::new().create(agent);
let turn = session
.send_and_wait("Where is A-417?")
.await?;
curl -X POST "$EVERRUNS/api/v1/sessions" \
-H "Authorization: Bearer $EVERRUNS_API_KEY" \
-d '{"agent_id":"agent_..."}'
curl -N "$EVERRUNS/api/v1/sessions/$SESSION_ID/sse" \
-H "Authorization: Bearer $EVERRUNS_API_KEY"
A control plane, a stateless worker pool, durable execution, a remote API, and a web console. Agents publish to Slack, AG-UI, webhooks, and A2A, with agent triggers for scheduled runs, plus organizations, permissions, budgets, and evaluation.

Every step is persisted, so nothing depends on a process staying alive. Sessions have no wall-clock ceiling: work can run for days, pause, and resume when infrastructure moves underneath it.
Sessions resume from stored workflow state instead of replaying from scratch.
Execution continues because workers are stateless and progress already lives in PostgreSQL.
Event history and in-flight state stay observable over extended tasks.
MIT licensed and built in Rust. Everruns runs wherever your PostgreSQL does, and the framework runs wherever your binary does. Start with the repo, then follow the docs into the framework, architecture, API, and operations.
A virtual Bash interpreter with a virtual file system, so agents can run shell workflows in a multi-tenant sandbox without touching a real machine.
A terminal coding agent in one binary: plans, edits, runs, and verifies code in your repository, with durable sessions from the embedded runtime.
A code-first evaluation framework for agents, for measuring whether a change actually made the agent better.
AI-friendly web fetching as a CLI, an MCP server, and a library.
One dependency and no services. The path to a shared runtime is there when you need it.