pi-atlas¶
This site maps the pi-devbox ecosystem: everything we have built around the pi coding agent to make it safe, persistent and manageable on several machines at once.
Out of the box, pi is a coding agent that runs in a terminal. Around it we have added:
- a container image that ships pi together with a curated toolset, so every machine runs the same environment;
- extensions and toolkits that change how the agent works, such as delegating tasks to isolated child agents and keeping AWS credentials alive;
- safety guardrails that make the agent ask before it runs something destructive, and keep secrets out of what the model sees;
- memory at three levels: within one long session, across sessions, and shared by every machine in the fleet;
- fleet operations: one place to configure each machine, a mailbox that agents on different machines use to coordinate, and an acceptance routine that every machine runs when it first boots a new release.
The site explains what each part does, why it exists and, in outline, how it is built. The details live in the repository that owns each part; every page links to it.
The big picture¶
flowchart LR
src["Source repos"] --> ci["Gitea Actions"]
ci --> hub["Docker Hub<br/>pi-devbox image"]
hub --> dev["Each device<br/>compose stack"]
cfg["docker-compose-repo<br/>per-host config"] --> dev
dev --> palace["Central palace<br/>memory + mailbox"]
dev --> llm["Model providers<br/>Bedrock, ERDC"]
- Source repositories hold the image definition, our extensions, toolkits and skills. See Repositories.
- Gitea Actions builds the image for amd64 and arm64 and publishes it to Docker Hub.
- Each device runs the image from a compose stack kept in
docker-compose-repo, which also supplies configuration shared by the whole fleet. - Agents on every device read and write the central palace, a shared MemPalace server. It holds long-term memory and the coordination mailbox.
- The agent talks to model providers, such as Amazon Bedrock and ERDC inference.
How to read this site¶
| If you want to… | Start with |
|---|---|
| understand how the pieces fit | Overview |
| know what is inside the container | The image |
| see how we changed pi's behaviour | The harness |
| know what stops the agent from doing damage | Safety guardrails |
| understand the memory layers | Memory |
| run or add a machine | Fleet operations |
| know why something is the way it is | Decisions |
| write or fix a page | Contributing |
How current is this?
Each page names the repositories it was written from and the commit it was read at. When a page and its owning repository disagree, the repository is right. Please report the difference, or fix the page (see Contributing).