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 from PyPI, or run every example from a checkout.
Run two turns without an API key and see what keeps the history.
Point the loop at OpenAI, Anthropic, Google, DeepSeek, or Ollama.
Turn a typed Python function into a model-callable tool.
Show partial text, reasoning, tool calls, and results as they happen.
Restore history across requests, processes, and restarts.
Add the capabilities you need#
These features are optional. Choose them for your task rather than enabling every extension from the start.
Load AGENTS.md guidance with an explicit workspace scope.
Send text and images to a vision-capable model with typed content parts.
Connect trusted HTTP or stdio servers and manage their tool lifecycle.
Load skill instructions as needed and search deferred tools on supported endpoints.
Let a trusted model compose, evolve, and save a toolbox for reuse.
Run shell commands and agent-written programs inside an operating-system boundary.
Tell a refusal, a cut-off answer, and a dropped connection apart from a finished answer.
Carry on after a failure, a stop, or a crash without a fake “continue” message or a tool run twice.
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.
Choose defaults, override one request, and compose extensions safely.
Use the same runtime from ordinary blocking code and scripts.
Handle deadlines, concurrent sessions, disconnects, and shutdown.
Check tools and real provider adapters without network access.
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.