Get started#

Zett Agent runs one loop: send messages to a model, run the tools it asks for, and repeat until it answers. These pages take you from a zero-key example to a real provider with streaming, tools, and persistent sessions.

Build your first conversation#

Suggested path: Install Zett Agent → Your first agent → Connect a model provider → Define and register tools → Stream to a terminal or UI → Keep and restore conversations.

Install

Install from PyPI, or run every example from a checkout.

Install Zett Agent
Your first agent

Run two turns without an API key and see what keeps the history.

Your first agent
Connect a provider

Point the loop at OpenAI, Anthropic, Google, DeepSeek, or Ollama.

Connect a model provider
Define tools

Turn a typed Python function into a model-callable tool.

Define and register tools
Stream to a UI

Show partial text, reasoning, tool calls, and results as they happen.

Stream to a terminal or UI
Keep conversations

Restore history across requests, processes, and restarts.

Keep and restore conversations

Add the capabilities you need#

These features are optional. Choose them for your task rather than enabling every extension from the start.

Project instructions

Load AGENTS.md guidance with an explicit workspace scope.

Load project instructions
Image inputs

Send text and images to a vision-capable model with typed content parts.

Send images to a model
MCP tools

Connect trusted HTTP or stdio servers and manage their tool lifecycle.

Connect MCP tools
Capabilities on demand

Load skill instructions as needed and search deferred tools on supported endpoints.

Load tools and skills on demand
JIT Python tools

Let a trusted model compose, evolve, and save a toolbox for reuse.

Build and reuse JIT capabilities
Sandbox

Run shell commands and agent-written programs inside an operating-system boundary.

Run commands in a sandbox
Why the model stopped

Tell a refusal, a cut-off answer, and a dropped connection apart from a finished answer.

Know why the model stopped
Resume a session

Carry on after a failure, a stop, or a crash without a fake “continue” message or a tool run twice.

Resume an interrupted session

Build an application#

For a service, follow Configure your agent → Integrate an application → Test your agent. Blocking scripts can start with Use it from synchronous code.

Configure your agent

Choose defaults, override one request, and compose extensions safely.

Configure your agent
Synchronous calls

Use the same runtime from ordinary blocking code and scripts.

Use it from synchronous code
Integrate an application

Handle deadlines, concurrent sessions, disconnects, and shutdown.

Integrate an application
Test your agent

Check tools and real provider adapters without network access.

Test your agent

Something unexpected? Troubleshooting covers missing history, tool registration, endpoint compatibility, project guidance, and stuck approvals. If you need behavior the built-ins do not provide, follow the extension tutorial.