Getting started
Setup, authentication, the three-layer architecture and its contract, migrating from raw WebSockets.
v3.0 · Rust SDK
| Goal | Start here | Check before expanding |
|---|---|---|
| A text agent | Text agents | One request, tool result and returned answer |
| A voice conversation | Live sessions | Connection, audio output and interruption handling |
| A constrained tool workflow | Governed flows | Allowed transitions and denied actions |
| A conversation test suite | Conversation CI | Scripted scenarios, independent of model calls |
| A custom transport | Architecture | Wire events and the layer you need to replace |
The fluent crate supplies application builders. The runtime owns state, callbacks and tool dispatch. The wire crate owns protocol and transport. The independent memory crate adds session memory.
A declared flow can constrain tool dispatch. Its instruction text does not make every model utterance correct. Test control-plane behavior offline, then measure the live model and transport separately.
use gemini_adk_fluent_rs::prelude::*;
Live::builder() .instruction("You are a helpful concierge.") .greeting("Greet the caller.") .connect_from_env().await? // Google AI or Vertex — resolved from env .talk().await?; // microphone in, speakers out, barge-in handledOr with explicit callbacks:
use gemini_adk_fluent_rs::prelude::*;
let handle = Live::builder() .voice(Voice::Kore) .instruction("You are a helpful voice assistant.") .on_audio(|pcm| { /* play audio */ }) .on_text(|text| print!("{text}")) .connect_from_env() .await?;
handle.send_text("What's the weather like?").await?;handle.disconnect().await?;New here? Start with Setup and Running and Authentication & Connecting, then browse the cookbook (Crawl → Walk → Run → Governed).
A whole governed session — flow DAG, tools, extraction, phases, watchers,
computed state, memory, runtime tuning, and an embedded test suite — can be one
JSON document (SessionSpec). It validates, simulates, and code-generates
offline, and the Flow Studio is a
drag-and-drop editor over exactly that document:

See Flows as JSON for the format and the Studio tour for the editor.
Getting started
Setup, authentication, the three-layer architecture and its contract, migrating from raw WebSockets.
Voice & Live sessions
Live sessions and callbacks, voice I/O, telephony, phases, state, persistence.
Tools & extraction
The tool system, per-tool policies, MCP interop, and the extraction pipeline.
Composition & patterns
Memory
The durable memory engine — async-prepare, sync-consume — and its declarative binding into governed state.
Reference
The API reference (every feature, every crate), the glossary, and troubleshooting.