Skip to content
Steven Enamakel edited this page Aug 31, 2026 · 7 revisions

TinyAgents Wiki

TinyAgents is a small, provider-neutral agent harness for Rust, plus a durable typed state-graph runtime. It takes its shape from LangChain (models, tools, middleware, structured output, streaming, usage/cost) and LangGraph (START/END, nodes, conditional edges, channels/reducers, checkpoints, interrupts, subgraphs, time travel) — rebuilt as ordinary, typed Rust.

An agent can be exposed as a tool to another agent, and a graph node can embed a compiled graph. Those are composition features, used like any other node or tool, not a separate execution model.

New here? Jump to Capabilities — an index of what each crate exposes, with links to the deep page for each.

The repository README.md is the top-level overview. This wiki is the implementation-oriented companion: how each crate works, how to set things up, and how to develop against the workspace.

  • workspace: Rust 2024 edition, GPL-3.0-only
  • source: https://github.com/tinyhumansai/tinyagents
  • every crate in this workspace is publish = false — none of them are on crates.io or docs.rs; read the source or this wiki instead

No facade crate

There is no tinyagents crate. The workspace is a set of focused crates and a consumer depends directly on the ones it needs:

  • tinyagents-harness — model calls, tools, middleware, structured output, streaming, usage/cost, sub-agents.
  • tinyagents-graph — the durable typed state-graph runtime.
  • tinyagents-language — the .rag declarative blueprint format.
  • tinyagents-registry — the named capability catalog.
  • tinyagents-session — durable session history and run ledger.
  • tinyagents-tracing — shared, feature-gated tracing macros used by the other crates.
  • tinyagents-integration-tests — cross-crate tests and the runnable examples; not a library dependency.

See Quick Start for the Cargo.toml snippet and feature flags.

The crates

TinyAgents is organized around these crates, used consistently across the docs:

  1. Harness (crates/tinyagents-harness/) — provider-neutral model calls, typed tools, middleware, structured output, streaming, usage/cost, retry/limits, cache, memory/embeddings, sub-agents, steering, summarization, testkit.
  2. Graph runtime (crates/tinyagents-graph/) — durable typed state graphs: START/END, nodes, edges, conditional routing, commands, Send fanout, reducers/channels, checkpoints, interrupts, subgraphs, streaming, topology export, time travel.
  3. Registry (crates/tinyagents-registry/) — named capability catalog (models, tools, agents, graphs, routers, reducers) that .rag binds by name.
  4. Expressive language .rag (crates/tinyagents-language/) — a declarative, side-effect-free blueprint format that compiles into the same graph/harness types as hand-written Rust.

Page index

Getting started

  • Home — this page.
  • Capabilities — index of crate functionality.
  • Quick Start — install, test, run an example, crate layout.
  • Examples — runnable graph, harness, provider, tool, structured output, sub-agent, and .rag examples.

Concepts

Modules

Providers and contributing

  • Providers — OpenAI, plus OpenAI-compatible presets for Anthropic, DeepSeek, Groq, xAI, OpenRouter, Together, Mistral, and Ollama.
  • Development — building, testing, linting, and contributing.

Repository links

TinyAgents

Provider-neutral agent harness and durable state-graph runtime for Rust.

Getting started

Concepts

Modules

Providers

Contributing


Clone this wiki locally