Raw research notes

Agent Zero (Docker Linux-desktop agent)

Checked: 2026-11-14.

This note is about the open-source project at github.com/agent0ai/agent-zero and agent-zero.ai. It is the agent that runs a Linux desktop inside Docker. It is not an academic "agent zero" paper.

Docs below were read from the main branch unless a release or API URL is named. GitHub says main was pushed at 2026-11-13T11:24:28Z, after the latest release tag. Quotes are from the pages opened on this date. Numbers that were not on an opened page are marked UNVERIFIED.

1. Identity, license, release, stars

Fact Value Source opened
Repo agent0ai/agent-zero GitHub API
Homepage https://agent-zero.ai GitHub API homepage
Description "Agent Zero AI framework" GitHub API
What it is "an open-source AI agent with its own Linux workspace" that "runs in a sandbox" and can use "a terminal, browser, and desktop apps" README on main
Created 2024-06-10T09:10:45Z GitHub API
Language Python GitHub API
Stars 19,853 GitHub API stargazers_count (repo updated_at 2026-11-14T13:55:24Z)
Forks 3,876 GitHub API forks_count
Open issues 161 GitHub API open_issues_count
Latest GitHub release v2.15, published 2026-11-01T23:52:00Z, not a prerelease GitHub releases API releases/latest
Docker image named in the install command agent0ai/agent-zero (no tag in the recommended command) README and installation guide

The README headline is "Give your agent a full Linux computer." The desktop guide says the Canvas starts "an XFCE desktop." That matches the Docker-desktop product, not a chat-only library.

License. The file LICENSE on main begins "MIT License" and copyrights "2025 Agent Zero, s.r.o". The README ends with "Agent Zero is available under the MIT License." The GitHub API for the same repo returns license.key other and license.spdx_id NOASSERTION. The license text that was opened is MIT. GitHub's detector did not assign an SPDX id.

Release vs. the docs quoted here. v2.15 notes (opened via the releases API) describe a large release: core tools moved into plugins, one memory tool, per-action tool permissions, channel security for Telegram and WhatsApp, Codex onboarding defaults, and "catalog thumbnails for all 47 bundled plugins." The install pages opened on main already point at A0 Launcher v1.9. Treat v2.15 as the latest tagged release and the main docs as newer than that tag.

2. Install on Windows and macOS

A container runtime is required. The installation guide says: "Launcher helps set up Docker, which runs Agent Zero's Linux workspace." The whole framework "runs within a Docker container."

The docs say Windows and macOS. They do not use the words "Windows 11" as a separate path. Windows downloads are x64 and ARM64. macOS downloads are Apple Silicon and Intel.

The installation guide and README both say to start on a desktop with A0 Launcher v1.9:

Steps from the installation guide: open Launcher, follow any Docker setup prompt, choose Download Agent Zero or Run Agent Zero, keep latest and the persistent workspace selected, click Create, wait for Running, click Open UI. "Optional Host access can stay off."

The launcher guide says if Docker is not reachable, a setup dialog offers Continue (start or refresh local runtime setup), Refresh (after you start Docker yourself), or Add remote Instance (use Launcher with no local Docker).

One-line installer (A0 Install)

From the README and installation guide.

macOS / Linux:

curl -fsSL https://bash.agent-zero.ai | bash

Windows PowerShell:

irm https://ps.agent-zero.ai | iex

Scripted, no menus (installation guide):

curl -fsSL https://bash.agent-zero.ai | bash -s -- --quick-start --name agent-zero --port 5080
& ([scriptblock]::Create((irm https://ps.agent-zero.ai))) -QuickStart -Name agent-zero -Port 5080

The a0-install README (opened) says what those scripts do when Docker is missing:

Default Web UI port in that installer is the first free port starting at 5080. Data default is ~/agent-zero/<instance>/usr, mounted at /a0/usr.

Direct Docker command

README and installation guide, when Docker is already running:

docker run -d -p 127.0.0.1:5080:80 -v a0_usr:/a0/usr agent0ai/agent-zero

Then open http://localhost:5080 on the Docker host. The guide says this binds to that computer only. The named volume a0_usr keeps settings, chats, memory, projects, and custom plugins.

The a0-install README also shows a different one-liner for "a single instance on port 80":

docker run -p 80:80 agent0ai/agent-zero

That command is not detached, is not limited to 127.0.0.1, and does not name a data volume. The Agent Zero README's 5080 command is the one the current install guide tells desktop users to use.

Manual Docker Desktop path (called advanced)

The installation guide says most people should use Quick Start. The manual section still says:

RAM and disk

The desktop installation guide that was opened does not state a RAM or disk size for Windows or macOS.

The only requirements table opened is in docs/setup/vps-deployment.md. That page says it was last updated December 21 2025, is for Docker-capable Linux servers, and is "contributed by @hurtdidit":

Requirement Minimum Recommended
RAM 2 GB 4+ GB
Storage 20 GB 50+ GB
CPU 1 vCPU 2+ vCPU

It also asks for Docker Engine 24.0+. Do not treat that table as a Windows 11 or Mac laptop spec. A separate Windows/macOS RAM or disk number was not found in the install pages opened. UNVERIFIED for a desktop minimum.

A different hardware note, only for the optional Apple local server oMLX: "oMLX requires Apple Silicon and macOS 15+. On 16 GB machines, start with small quantized MLX models." That is about the model server, not the Agent Zero container.

Docker image download size: UNVERIFIED (not stated on the pages opened).

3. Built-in computer

Documented in the desktop guide, browser guide, usage guide, and README:

The usage guide also documents a file browser (upload, download, folders, rename, delete) and voice plugins (_kokoro_tts, _whisper_stt) that run in the container when enabled. Browser fallback speech uses the browser. "No voice path requires OpenAI APIs."

4. Memory, skills, plugins, subordinate agents, messaging

Memory

The memory guide: Agent Zero can remember facts, solutions, preferences, and imported knowledge. The dashboard filters areas main, fragments, solutions, and skills. People can search, edit, and delete entries. Project memory is separate from global memory. The installation guide says the embedding model "helps find relevant memory and knowledge. The default runs locally on the CPU." Changing it "requires rebuilding the memory index."

v2.15 notes say the old memory_load, memory_save, memory_delete, and memory_forget tools became one memory tool with an action argument.

Skills

The skills guide: skills are focused instructions loaded when a task needs them, or pinned from the chat + → Skills so they stay in the prompt protocol. The usage guide says to keep the pinned list short. README: skills can be loaded on demand or pinned.

Plugins

The usage guide: open Plugins, or Browse / Install for the Plugin Hub. Hub entries include providers, tools, panels, and automations. Read a plugin's description and permissions before installing. v2.15 notes say that release added thumbnails for 47 bundled plugins. A live count of the plugin directory was not re-tallied here.

MCP is documented separately: the active profile's MCP policy decides which discovered tools may run.

Subordinate agents

README "Multi-Agent Cooperation": "Agent Zero can delegate parts of a task to other agents. Each works with its own instructions and conversation, then reports back." The usage guide: inside one instance, "the main agent can create subordinate agents" for research, code review, and comparison. Separate instances can also talk over A2A (a different feature; see the A2A setup guide).

Agent profiles (developer, researcher, and custom roles) are the role layer. The Agent Editor sets instructions, a model preset, and tool/MCP/skill policy. A bundled Tiny Local profile is named for small local models that narrate instead of calling tools.

Messaging

All three exist as plugins on main. Onboarding calls Telegram, Email, and WhatsApp optional cards after model setup.

Schedules

The usage guide Tasks section: scheduled, planned, or ad-hoc tasks, optionally bound to a project so they inherit that project's instructions, secrets, files, and memory. Examples given include morning or weekly reports and monitoring a source. The scheduler plugin README says the scheduler tool can list, run, update, delete, and create those tasks, and that the Tasks UI lives in that plugin.

Phone access to the Web UI itself is a tunnel: Settings → External Services → Flare Tunnel, after UI authentication is set. The usage guide says anyone with the tunnel URL can try to open the instance.

5. Models the current docs list

Two roles at first run: a Main model for the conversation and a Utility model for summaries, chat names, and memory. They can share a provider. An embedding model is separate; the install guide says the default embedding runs locally on the CPU.

Onboarding paths (docs/guides/onboarding.md)

Missing providers: a Plugin Hub link filtered to providers. The OpenCode Go guide is the worked example.

Chat providers in conf/model_providers.yaml on main

Opened in full. Human-readable names:

Agent Zero API, Anthropic, Cerebras, CometAPI, DeepSeek, GitHub Copilot, Google (LiteLLM provider gemini), Groq, HuggingFace, LM Studio, llama.cpp, Mistral AI, Moonshot AI, Nebius Token Factory, NVIDIA NIM, Ollama, oMLX, Ollama Cloud, OpenAI, OpenAI Azure, AWS Bedrock, OpenRouter, Sambanova, Venice.ai, vLLM, xAI, Z.AI, Z.AI Coding, and Other OpenAI compatible.

Embedding providers in that same file: HuggingFace, Google, LM Studio, llama.cpp, Mistral AI, NVIDIA NIM, Ollama, oMLX, OpenAI, OpenAI Azure, AWS Bedrock, OpenRouter, Agent Zero API, Venice.ai, vLLM, and Other OpenAI compatible.

Default local base URLs in that file use host.docker.internal (Ollama port 11434, LM Studio port 1234, llama.cpp port 8080, oMLX and vLLM port 8000). The install guide says not to use localhost or 127.0.0.1 for a server on the host, because those addresses point at the container. If the local server listens only on 127.0.0.1, Docker still cannot reach it; the server must listen on a Docker-reachable address such as 0.0.0.0, limited to trusted clients.

Official site install page, Ollama quick path: install Ollama, ollama pull MODEL_NAME, provider Ollama, base URL http://host.docker.internal:11434. LM Studio: enable its local API server and replace a localhost host with the Docker-reachable address.

Codex OAuth

docs/guides/codex.md was opened. It is ChatGPT account sign-in for Codex. "You do not need to paste an OpenAI API key or install the Codex CLI." The user turns on ChatGPT's device-code sign-in, connects Codex/ChatGPT, copies a device code, and authorizes on auth.openai.com. OpenAI's page calls the access "Codex CLI."

Onboarding suggestions when the account has them: Main gpt-6.1-terra, Utility gpt-6-luna. The guide says these are suggestions, other models from the account list are allowed, and "the available names may change over time." v2.15 notes say the same defaults and "Codex client version bumped to 0.166.0."

Usage limits are "that account's." No numeric Codex quota was copied because none was on the page.

6. Safety

Stays in the container unless you opt out

README: "It runs in a sandbox, but you can step in, and connect it to local files on your own computer when needed."

README safety list, quoted in substance:

Installation guide: "Agent Zero can work in its Linux workspace without access to the rest of your computer." Host access is optional and "can stay off."

Launcher guide: "Host access lets an open Instance use files, terminal commands, a supported browser, or Computer Use on the computer running Launcher. It starts off and is optional for your first chat." The folder control "selects where file operations and commands start; it does not restrict commands to that folder."

The recommended docker run publishes 127.0.0.1:5080 only. The install site says to enable authentication before exposing the instance to the internet, and "never expose the instance to the internet without Web UI authentication enabled." The recommended local command does not set AUTH_LOGIN or AUTH_PASSWORD.

a0-install: if you pass --auth-login and omit a password, the password "defaults to 12345678."

Time Travel (README) snapshots /a0/usr so you can roll back workspace files. It "is not a replacement for Git or backups."

Approval before actions

What the opened docs show:

AGENTS.md in the repo has an "Ask Before Executing" list (pip install, git commits). That file is instructions for coding agents working on the Agent Zero repository. It was seen in search and is not the product's user approval dialog. It is not treated as the end-user safety default.

7. What a non-technical person would find hard

8. Facts for the scorecard

Weights from the project spec: capability ceiling 30%, Windows/Mac install friction 25%, safe-by-default 20%, model flexibility 15%, phone/schedule continuity 10%. This section records facts. It does not assign the points.

Capability ceiling

Strong on the things the spec cares about, inside one product:

Limits that are documented: host access and host browser are optional escapes from the container; Blender is only an example prompt; long-term memory "is not a solved problem" and needs human cleanup; small local models may talk instead of using tools (Tiny Local profile exists for that case).

Windows and Mac install friction

Higher than a single native installer that needs no container.

Safe-by-default

The documented default workspace is the container. Host access starts off. The recommended Docker port is bound to 127.0.0.1. Internet sharing is documented as unsafe until Web UI authentication is on.

It is not a "click Allow on every shell command" product in the docs that were opened. Pause and Stop exist. Tool policies can block actions, but the factory position of "allow tools by default" was not read from a bundled config (UNVERIFIED). The profile guide warns that a blocked editor write does not stop a terminal from writing files. WhatsApp ships with enabled: false, but an empty number list means all senders once it is on. Telegram's empty allow-list means open to all once a bot is configured. Installer auth, if a username is set and no password is passed, defaults to 12345678.

Model flexibility

Broad on the current provider file and onboarding guide: OpenAI, Anthropic, Google/Gemini, OpenRouter, Ollama, LM Studio, llama.cpp, vLLM, oMLX, plus many other hosted names (Groq, Cerebras, DeepSeek, Mistral, xAI, Venice, NVIDIA NIM, Azure, Bedrock, Z.AI, and others) and Other OpenAI compatible for a custom base URL. Codex/ChatGPT, GitHub Copilot, Google Cloud Gemini, and xAI Grok are account sign-in paths. Extra providers can be added from the Plugin Hub.

Local use still has the Docker networking catch (host.docker.internal, not localhost).

Phone and schedule continuity

Same software can add both, after the desktop install:

Sources

Opened 2026-11-14.

Not used as current facts: the older knowledge page that said providers were current "as of v0.9.8", GitHub discussion posts about EC2 sizing, and search snippets that claimed "100+ community plugins" (that phrase is not in the README that was opened).

Checked 14 November 2026 · prices, limits, and versions change