# AGENTBOX for coding agents You are a coding agent asked to build something on AGENTBOX, or to give a product AI agents. This page is everything you need, in order. You can do every step yourself; the human you work for is needed only for what you cannot get on your own: a model key (step 4) and, for some projects, a yes or no in step 3. If your environment blocks a command on this page or it needs a permission you do not have, do not look for a way around the block. Give the human the exact command as one line they can paste, say what it does, and continue when it has run. AGENTBOX is a self-hosted agent runtime: one Docker Compose stack with an HTTP API. You create agents (a role, tools, a model), send them events, read their replies; they remember, call your MCP tools, talk in live voice calls and survive restarts. Your product talks to it from its backend. This page is served as `https://dodvir.com/agentbox/llms.txt` and ships in every release as `docs/AGENTS.md`. The full documentation (README, QUICKSTART, CONCEPTS, API, OPERATIONS, TROUBLESHOOTING, SECURITY) and `openapi.yaml` come in the release archive from the customer portal. This page and that documentation are for you: they explain how the system works so you can build on it. The human you work for does not need them. Speak to them about their product, in their words: what works, what does not, how long it takes, what they have to decide. Our names for modes, profiles, endpoints and fields belong in your requests, not in your reports; name one only when the human has to choose it, and then say in plain words what each choice gives them. Not "the successful run was `call_mode=stream` without `delegate`", but "the agent ran the command 4.8 s after you stopped speaking and started answering at 6.5 s — too slow for a live conversation". Where this page says to tell the human something, tell them exactly that. ## Terms, in one paragraph AGENTBOX is free without registration up to **5 agents** per installation. An installation whose project we can identify — a real organization or product and the developer's email, see step 3 — gets **20 agents** free. One email has one such installation at a time; its other installations keep 5. More agents need a paid license (`https://account.dodvir.com`). Limits are set by our license server and may change; the current value is always in `GET /api/v1/status` (`license_detail.agent_limit`). A free license stays valid while the installation keeps renewing it (it does so by itself while it runs); after 14 days offline it lapses, and it is renewed automatically when the installation comes back — nothing to do, no one to contact. You bring and pay for your own models. ## 1. Install Needs Linux, Docker with Compose v2 and `curl`; the images take about 600 MB. ```bash curl -fsSL https://dodvir.com/agentbox/install.sh | sh -s -- --dir ./agentbox cd agentbox ``` The command downloads the current release's `install.sh`, compose files and `delivered-version` into the directory and runs `install.sh`, then `docker compose up -d`. `install.sh` gets a free license for this installation (no account, no email) into `.dodvir-license-key`, logs Docker in to `dodvir.com` with it, writes `.env` with a fresh API token and secrets; compose pulls the images and starts the stack. The command prints the API address at the end; it is stored in `.env` as `AGENTBOX_PORT` (`http://127.0.0.1:8080`, or the next free port the installer picked when 8080 was already taken on this machine). Read the address and the token from `.env` when you need them: ```bash export AGENTBOX=http://127.0.0.1:$(sed -n 's/^AGENTBOX_PORT=//p' .env) export AGENTBOX_API_TOKEN=$(sed -n 's/^AGENTBOX_API_TOKEN=//p' .env) curl -fsS -H "Authorization: Bearer $AGENTBOX_API_TOKEN" $AGENTBOX/api/v1/status ``` `license_detail` in `status` shows the license `tier`, `agent_limit` and how many `agents` exist. Keep the token on the backend; never ship it to a browser or a mobile app. If `install.sh` stops with `rate_limited`, too many free licenses were issued from this address in the last hour: run `./install.sh` in the directory again later, then `docker compose up -d`. ## 2. Update The version is one line in `.env`. To move to another version: ```bash sed -i 's/^AGENTBOX_VERSION=.*/AGENTBOX_VERSION=/' .env docker compose up -d ``` Compose pulls the version, the `backup` service dumps the database into `backups/before--