Skip to content
Steven Enamakel edited this page Oct 9, 2026 · 10 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-definition — the host-owned agent definition vocabulary (identity, declared model/tools/delegates, a read-only catalogue seam).
  • tinyagents-harness — model calls, tools, middleware, structured output, streaming, usage/cost, steering, typed terminal outcomes.
  • tinyagents-tasks — graph-independent detached-task machinery: task stores, DetachedTaskRegistry, restart reconciliation, the durable completion router, and the orchestrate_* tools.
  • tinyagents-graph — the durable typed state-graph runtime.
  • tinyagents-registry — the named capability catalog and offline model catalog.
  • tinyagents-session — durable session history and run ledger.
  • tinyagents-runtime — host-neutral stateful sessions over the harness and transcript storage.
  • tinyagents-orchestration — subagents (SubagentDriver, spawn admission, job registry), teams and workflows.
  • tinyagents-live — live (realtime voice) agent sessions that run tool calls through the harness pipeline.
  • 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/failover, cache, 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) plus the offline model catalog.
  4. Tasks and orchestration (crates/tinyagents-tasks/, crates/tinyagents-orchestration/) — detached-task bookkeeping and the subagent / team / workflow lifecycle built on it; see Graph Runtime and Harness.

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, and sub-agent examples.

Concepts

Modules

  • Harness — model calls, tools, middleware, sub-agents, testkit.
  • Graph Runtime — durable typed state graphs.
  • Goals and Todos — durable goals and the per-thread todo list built on the graph runtime.
  • Registry — named capability catalog.

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