# Ziro > A local-first agent runtime: multi-agent flavours, progressive tool loading, guardrails, and a terminal UI. ## Docs - [Agents](https://docs.ziro-agent.com/concepts/agents.md): An agent is a folder of policy files with a persona, a model, and its own memory. Ziro ships nine of them. - [Architecture](https://docs.ziro-agent.com/concepts/architecture.md): How a Ziro turn moves through the LangGraph state machine, where state is stored, and how the engine and frontend packages are split. - [Compaction](https://docs.ziro-agent.com/concepts/compaction.md): Automatic conversation compaction keeps each request inside the model's context window without losing the thread. - [Flavours](https://docs.ziro-agent.com/concepts/flavours.md): A flavour is a top-level container chosen once at launch that scopes agents, threads, memory, and policy into one workspace. - [Guardrails](https://docs.ziro-agent.com/concepts/guardrails.md): Policy-driven input and output guards that can block a turn before any LLM call is made. - [Memory](https://docs.ziro-agent.com/concepts/memory.md): Three memory surfaces: long-term facts in the store, file-based project memory, and a per-thread scratchpad. - [Subagents](https://docs.ziro-agent.com/concepts/subagents.md): Context isolation by delegation: a parent hands a self-contained subtask to a child agent and gets back one concise result. - [Tools](https://docs.ziro-agent.com/concepts/tools.md): Progressive tool loading keeps the context small: core tools are always bound, everything else is discovered and activated on demand. - [Background jobs](https://docs.ziro-agent.com/guides/background-jobs.md): Submit turns to a worker queue, poll their status, and configure concurrency and backpressure per agent. - [Configuration](https://docs.ziro-agent.com/guides/configuration.md): How Ziro resolves per-agent policy files, what happens when one is missing, and where session state lives on disk. - [MCP servers](https://docs.ziro-agent.com/guides/mcp.md): Connect external Model Context Protocol servers over stdio, SSE, streamable HTTP, or websocket, with OAuth and a live control panel. - [Tool permissions](https://docs.ziro-agent.com/guides/permissions.md): Gate every tool call behind a per-agent policy of allow, deny, and ask globs, with human approval and remembered grants. - [Plugins](https://docs.ziro-agent.com/guides/plugins.md): Install Claude Code-compatible plugins that add skills, subagents, commands, MCP servers, and hooks, all under an explicit trust and policy gate. - [Providers and models](https://docs.ziro-agent.com/guides/providers.md): Choose an LLM provider and model globally, per agent, or per thread, including custom OpenAI- and Anthropic-compatible endpoints. - [Shell and files](https://docs.ziro-agent.com/guides/shell-and-files.md): Run shell commands on the host or in a Docker sandbox, and read, search, and write project files under path confinement. - [Skills](https://docs.ziro-agent.com/guides/skills.md): Author SKILL.md files, index them for semantic search, and load reference material on demand. - [Voice](https://docs.ziro-agent.com/guides/voice.md): Push-to-talk speech input and spoken replies, using local models or a cloud API. - [Web search and fetch](https://docs.ziro-agent.com/guides/web.md): Search the web with DuckDuckGo or a self-hosted SearXNG, fetch pages as cleaned text, and keep untrusted content away from autonomous agents. - [Ziro](https://docs.ziro-agent.com/index.md): A local-first LangGraph agent runtime with persistent memory, progressive tool loading, MCP, guardrails, and a Textual terminal UI. - [Installation](https://docs.ziro-agent.com/installation.md): Prerequisites, dependency groups, model pre-caching, dev and production storage modes, and where Ziro keeps its state. - [Slash commands](https://docs.ziro-agent.com/interfaces/commands.md): The complete slash-command surface, dispatched in the driver loop before any model call. - [Headless runs](https://docs.ziro-agent.com/interfaces/headless.md): Single-turn output with -p and --json, and the fail-closed rule for approval interrupts. - [Terminal UI](https://docs.ziro-agent.com/interfaces/tui.md): The Textual front end: streaming transcript, side pane, status footer, themes, and modals. - [Quickstart](https://docs.ziro-agent.com/quickstart.md): Install dependencies, run the first-run wizard, and hold your first conversation with a Ziro agent. - [Agent configuration files](https://docs.ziro-agent.com/reference/agent-files.md): Every per-agent YAML file, what it controls, and whether the feature ships on or off. - [chat_once](https://docs.ziro-agent.com/reference/chat-once.md): Single-shot JSON invocation, plus the background job queue via --submit and --status. - [Command line reference](https://docs.ziro-agent.com/reference/cli.md): Every flag on the ziro entry point, the front-end dispatch rule, and the other module entry points. - [Environment variables](https://docs.ziro-agent.com/reference/environment.md): Provider keys, model tiers, runtime switches, and the storage mode selector. - [manage_agents](https://docs.ziro-agent.com/reference/manage-agents.md): Scaffold, list, toggle, and configure agents and subagents from the command line. - [ziro plugin](https://docs.ziro-agent.com/reference/plugin-cli.md): Install, update, and manage plugins and marketplaces from the command line. - [Python SDK](https://docs.ziro-agent.com/reference/sdk.md): Build a code-first agent with ziro.create_agent, the AgentSpec tree, and ziro.profiles.load.