pa-container

agent
Security Audit
Pass
Health Pass
  • License — License: MIT
  • Description — Repository has a description
  • Active repo — Last push 0 days ago
  • Community trust — 13 GitHub stars
Code Pass
  • Code scan — Scanned 12 files during light audit, no dangerous patterns found
Permissions Pass
  • Permissions — No dangerous permissions requested

No AI report is available for this listing yet.

SUMMARY

Containerized environment for running coding agents with auditability on macOS and Linux

README.md

pa-container

pa-container

A containerized environment for running autonomous coding agents (Pi, OpenCode, Antigravity, and Claude Code) with local large language model (LLM) inference, headless virtual desktop support, and full auditability. A transparent proxy container based on mitmproxy intercepts all HTTP, HTTPS, and DNS traffic from the agent container. It enforces an allowlist and injects secrets when required. It supports macOS, Linux, and WSL2.

CI
Coverage
License: MIT
Python: 3.14
uv

Highlights

  • Sandboxed agent — The agent container sends all internet traffic only through the proxy. It uses an --internal network without a gateway. The system denies all other protocols by default.
  • Auditable traffic — All HTTP, HTTPS, and DNS traffic is intercepted by mitmproxy. It uses a hostname allowlist and a token injector. It saves the traffic to a flow export file for each project.
  • Multi-agent architecture — Pluggable agent drivers for Pi, OpenCode, Antigravity, and Claude Code with automatic on-demand toolchain staging and dynamic configuration synthesis across provider formats. See Multi-Agent Support.
  • Local inference — The llama-server tool from llama.cpp runs directly on the host computer (Metal / CUDA / ROCm). Multiple projects share it by using a configuration fingerprint.
  • Headless Wayland virtual desktop — Optional Wayland display stack (labwc, wayvnc, in-browser noVNC, hardware/llvmpipe acceleration) and an in-container agent-desktop automation CLI paired with Chrome for Testing (Chromium).
  • Per-workspace isolation — Each workspace has its own image, proxy, isolated network, mitmweb port, and configuration. The system initializes these items on the first run.
  • Rootless by construction — It runs on podman. The agent container runs inside a user namespace where the container root user maps to an unprivileged user on the host. On macOS or Windows, the podman machine requires at least 4 GB of memory (podman machine set --memory 4096); see Getting Started.

Quick start

uv run keyring set pa-container ADMIN_PASSWORD  # set mitmweb UI password
./build.sh --llama                             # build minimal, optimized llama-server (optional)
./build.sh                                     # build the proxy, toolchain and agent images
alias pa="$PWD/run.sh"                         # useful alias
cd /path/to/your/project                       # any workspace
pa                                             # launch the default agent for that workspace
pa --agent claude                              # or launch another enabled agent (pi, opencode, antigravity, claude)

See Getting Started for prerequisites, hardware requirements, and platform-specific notes.

Command-line interface

The unified CLI (src/cli.py, invoked directly via uv run or through ./run.sh / ./build.sh) manages the full environment lifecycle:

Subcommand Description
run Launch the containerized coding agent workspace (default command). Supports --agent, --t3, --open-browser, and logging flags.
build Compile container images, on-demand toolchains, or local llama-server.
clean Maintenance utility to sweep dead containers, prune dangling images, and purge logs (--all, --logs, --build-cache).
logs Inspect, live-tail (-f), filter by subsystem category, or list project session and build logs.
proxy (proxies) Query active proxy containers, print endpoints (-u), output JSON (--json), or auto-open mitmweb in the browser (-o).
desktop (gui) Query active virtual desktops, print VNC (--vnc) or noVNC (-u) URLs, or auto-open noVNC in the browser (-o).

Documentation

Page Contents
Getting Started Prerequisites, hardware, platform notes, build & run
Architecture Components, network topology, parallel startup orchestration, project structure
Design Details Proxy egress policy, nested containers, toolchain builder image
Sandboxing Technologies Cloud vs. local sandbox paradigms, microVMs, host kernel isolation, and container tradeoffs
Configuration Global and per-workspace configuration (allowlist, token replacer, temporary file system, apt dependencies, virtual desktop, logging)
Multi-Agent Support Pluggable agent architecture (Pi, OpenCode, Antigravity, Claude Code), model synthesis, provider token injection
T3 Code Integration Web UI, remote tunnel access (Tailscale, Cloudflare), and external IP advertising
Development Local dev setup, tests, lint, coverage
Releases Branch strategy, versioning, and release process
Proxy & addons Transparent proxy operation, CA cert, and the allowlist / token replacer / flow export addons + addon development guide

License

MIT

Agentic coding disclosure

Built using agentic coding tools.

Reviews (0)

No results found