# Agent Zero Setup Guide: Venice, Morpheus and Local Models

> How to install Agent Zero (agent0ai/agent-zero) in Docker and run it on Venice, a Morpheus gateway or models on your own machine. Tested on our own setup.

- Published: 2026-03-02 · Updated: 2026-09-30
- Canonical: https://ownyourmind.ai/use/agent-zero-venice-morpheus/
- Cite as: Own Your Mind (ownyourmind.ai), licence CC BY 4.0. Link the canonical URL.

Charts and interactive widgets are omitted here; project data is at https://ownyourmind.ai/api/scores.json.

---

## What Agent Zero is

Agent Zero is an open-source AI agent framework. It runs inside Docker, free software that keeps an app sealed in its own box (a container) on your computer. Inside that box the agent has its own Linux command line, where it writes and runs code, and it browses the web and keeps a memory between chats. The code is on GitHub at [agent0ai/agent-zero](https://github.com/agent0ai/agent-zero), and the project's own site is [agent-zero.ai](https://agent-zero.ai). The older `frdel/agent-zero` GitHub address now redirects to the new one.

Agent Zero doesn't ship a model. You point it at one, and that choice decides who sees your prompts. This guide covers three private routes: [Venice](https://ownyourmind.ai/projects/venice/) for hosted inference, the [Morpheus](https://ownyourmind.ai/projects/morpheus/) marketplace through a gateway, and models running on your own machine.

I run Agent Zero every day in Docker on a Mac Studio, with scheduled jobs on several agent profiles. The settings below come from that install, read on 30 September 2026, apart from the hosted Morpheus gateway in Option A, which we haven't run through Agent Zero ourselves.

## Prerequisites

- Docker: Docker Desktop on a Mac or Windows, Docker Engine on Linux
- At least one model route: a Venice API key, a Morpheus gateway key, or a local model server such as Ollama or LM Studio
- No GPU, unless you want to run the models locally too
- About 30 minutes

## Step 1: Install Agent Zero

The easiest start is the project's desktop app, the A0 Launcher, which checks Docker and sets Agent Zero up for you. If Docker already works, one command does the same job. Then open `http://localhost:50001` in your browser.

Running it on a rented server (a VPS) instead? Bind the port to localhost with `-p 127.0.0.1:50001:80` and reach the UI over an SSH tunnel (`ssh -L 50001:localhost:50001 you@your-vps`). The container has a shell and your API keys inside it, so it shouldn't face the open internet.

## Step 2: Choose your models

Current builds use three model roles, set under **Settings → Agent Settings → Models**. API keys go under **Settings → External Services → API Keys**.

| Role | What it does | What we run |
| - | - | - |
| **Chat model** | The main brain: plans the steps, writes the code, talks to you | DeepSeek V4 Flash on Venice, a model Venice tags Private |
| **Utility model** | Background chores: summarising, tidying its memory, reading tool output | Qwen3.6 35B-A3B on the Mac itself, in a compressed version that fits in less memory, run with Apple's MLX software |
| **Embedding model** | Indexes the agent's memory so it can find past notes | The small default model, which runs inside the container with no key |

That split puts the thinking on a larger hosted model and keeps the constant background chatter on our own hardware, where it costs nothing per token and never leaves the machine.

The provider dropdown includes **Venice.ai**, **Ollama**, **LM Studio**, **llama.cpp**, **oMLX** and **Other OpenAI compatible**, among others. For Venice, pick Venice.ai, paste your key and choose a model. Venice tags the models it hosts itself as Private and says it never stores those conversations, a claim we haven't been able to verify independently. Our [Venice review](https://ownyourmind.ai/projects/venice/) covers the full privacy model, including the gap between anonymised and confidential inference.

For a model on your own computer, remember the agent lives inside Docker's box. From in there, your computer's address is `host.docker.internal`, so Ollama sits at `http://host.docker.internal:11434` and LM Studio at `http://host.docker.internal:1234/v1`. Agent Zero's presets for both already use those addresses.

Not sure which route to pick? Here's how we'd choose:

- **Just trying it out?** Venice. One key, fast, and it covers every role.
- **Keeping sensitive work off the internet?** A model on your own machine, if it has the memory to run one.
- **Want the whole path on decentralised infrastructure?** Morpheus, in Step 4.
- **Want cost and privacy balanced?** Our split: the main brain on Venice, the background chores local.

The dropdown also lists an **Agent Zero API** provider. Its configuration points at `llm.agent-zero.ai` and pulls its model list from Venice. We haven't used it, so this guide goes direct.

## Step 3: Test the agent

Start a new chat and give it a task that exercises the code tool:

```
Write a Python script that prints the SHA-256 hash of the string
"own your mind", run it, and report the output.
```

The agent plans the steps, writes the script, runs it in its own shell and reports back. If it stalls, open the logs (Troubleshooting, below) before changing models.

## Step 4: Route inference through Morpheus (optional)

Instead of Venice, you can send the agent's inference to the [Morpheus compute network](https://ownyourmind.ai/projects/morpheus/), where independent providers serve models and earn MOR. See our [Morpheus Lumerin Node tutorial](https://ownyourmind.ai/use/morpheus-lumerin-node-setup/) if you want to run the other side of this, providing compute rather than consuming it.

The hosted gateway is the quickest start. Your own Uplink gateway keeps the wallet and the proxy-router in your hands. Our [agent-to-Morpheus hub](https://ownyourmind.ai/use/connect-your-agent-to-morpheus/) compares every route and covers OpenClaw and Hermes too.

### Option A: the hosted api.mor.org gateway

The Morpheus Inference API is an OpenAI-compatible gateway: sign up and create a key at app.mor.org. In Agent Zero's model settings, choose **Other OpenAI compatible**, set the API base to `https://api.mor.org/api/v1`, paste the key, and enter a model name from the gateway's list. It serves a selected part of the marketplace, so check that list for current names.

### Option B: your own Uplink gateway

[Morpheus Uplink](https://ownyourmind.ai/use/morpheus-uplink-personal-gateway/) is a small gateway you run yourself, paid from your own MOR. It gives your agents a web address and a key each, and speaks the same language as OpenAI's API, so Agent Zero treats it like any other provider.

On 28 September 2026 we pointed our local Agent Zero at our Uplink and gave it two tool-using tasks: hash a string with the code tool, then write, run and report a small Python script. Both answers were correct and each task finished in under 40 seconds. Uplink's usage log attributed every request to the key we had issued for Agent Zero.

We gave Uplink its own agent profile, so the scheduled jobs on our other profiles stayed on Venice. A profile is two small files in your data folder.

Three details matter:

- **Use the model's ID code, not its name.** The ID is a long string starting with `0x`. Several marketplace models share a name, and Uplink resolves a shared name to the last catalogue entry, which can be a far pricier bid. `GET /v1/models` lists each model's ID under `morpheus.blockchainId`.
- **Put the key on the profile.** Without an `api_key` in the profile, Agent Zero falls back to the `API_KEY_OTHER` environment variable and sends whatever it holds to your Uplink host. In our setup that variable held a different provider's key.
- **Give each agent its own Uplink key.** The usage log then splits requests and tokens per agent, and you can revoke one key without touching the rest. Every key is spend authority over your wallet's MOR, so keep it out of chat logs and screenshots.

Replies take a little longer than on Venice or a local model. In return, your agent runs on decentralised infrastructure and adds to measured demand on the network. That demand doesn't feed MOR token value directly: the protocol's revenue is yield on capital deposits, not inference fees.

## Step 5: Keep it updated

Your settings live in the mounted folder, so updating means replacing the container, not reinstalling:

```bash
docker pull agent0ai/agent-zero
docker stop agent-zero && docker rm agent-zero
# then re-run the docker run command from Step 1
```

Copy the data folder somewhere safe first. An update can change the settings format, and a backup of `~/agent-zero-data` is the difference between a rollback and an afternoon of reconfiguring.

## The three inference routes compared

| Route | Who sees your prompts | Speed | Cost | Sovereignty |
| - | - | - | - | - |
| Local (Ollama, LM Studio, MLX) | Nobody else | Depends on your hardware | Free after the hardware | Complete |
| Venice, Private models | Venice, which says it keeps no logs | Fast | Per token, or DIEM | High |
| Morpheus | The provider serving your session | Slower | Hosted API credits, or MOR session stake through your own node | High, and yours end to end with Uplink |

I use all three, often at once. The utility model runs locally because it fires constantly and handles the agent's own housekeeping. The chat model runs on Venice because it needs more than my hardware serves quickly. A separate profile runs through our own Morpheus gateway when I want the whole path on decentralised infrastructure.

## What the agent can do

With the stack running, your Agent Zero instance can:

- Research topics and synthesise information from the web
- Execute code (Python, shell) to process data
- Read and write files in its workspace and any folder you mount into it
- Call external APIs on your behalf
- Run scheduled tasks without you in the chat

That last pair is the risk as well as the point. Every key in its settings is authority the agent can use without asking, so keep wallet private keys out of it and give each integration its own revocable key.

## Troubleshooting

**Agent not responding.** Check the container logs: `docker logs agent-zero -f`. A wrong API key or an unreachable API base is the usual cause.

**Local model unreachable.** Inside Docker, `localhost` means the container itself. Use `host.docker.internal` for anything running on the host.

**Memory errors or poor recall.** The embedding slot must hold an embedding model, not a chat model. The default Hugging Face model works without a key.

**Port already in use.** Map a different host port, such as `-p 5080:80`, and open `http://localhost:5080`.

**Slow responses.** Morpheus sessions carry more latency than a direct API. For a local model, check that it fits in available memory.
