Skip to content

Latest commit

 

History

History
133 lines (102 loc) · 4.45 KB

File metadata and controls

133 lines (102 loc) · 4.45 KB

AgentBox

Ephemeral cloud development environments for AI-powered coding agents. Spawn sandboxed containers with GitHub Copilot CLI, Playwright, and full dev tooling — from your iPhone or desktop.

Architecture

┌─────────────────────────────────────────────────┐
│  agentbox.networg.com (Azure Static Web App)    │
│  React dashboard · Entra ID auth                │
└──────────────────────┬──────────────────────────┘
                       │ API calls
┌──────────────────────▼──────────────────────────┐
│  api.agentbox.networg.com                       │
│  ASP.NET Core API · YARP reverse proxy          │
│  Container App · manages ACI fleet              │
└──────────────────────┬──────────────────────────┘
                       │ provisions
┌──────────────────────▼──────────────────────────┐
│  {id}.agentbox.networg.com                      │
│  AgentBox container (ACI)                       │
│  code-server · ttyd · SSH · Copilot CLI         │
│  Playwright · Azure CLI · GitHub CLI            │
└─────────────────────────────────────────────────┘

What's in the box

Each AgentBox container includes:

Tool Purpose
GitHub Copilot CLI AI coding agent
code-server VS Code in browser
ttyd Web terminal
Playwright + Chromium Browser automation
GitHub CLI Repo management
Azure CLI Cloud operations
Python 3 + Node.js 22 Script runtimes
OpenSSH Certificate-based SSH access

Quick start

Local (Docker)

docker run -it \
  -e GH_TOKEN="$(gh auth token)" \
  -p 80:80 -p 2222:2222 \
  ghcr.io/networg/agentbox:latest

Open http://localhost for VS Code, http://localhost/terminal/ for web terminal.

Cloud (via Dashboard)

  1. Sign in at agentbox.networg.com
  2. Click + New AgentBox
  3. Connect integrations (GitHub, ADO, Jira — all optional)
  4. Hit 🚀 Spawn AgentBox

Your instance gets a sequential ID (e.g., 3448.agentbox.networg.com).

Development

Prerequisites

  • Docker & Docker Compose
  • Node.js 22
  • .NET 9 SDK
  • Terraform 1.9+

Run locally

cp .env.example .env
# Edit .env with your Azure credentials
docker compose -f docker-compose.dev.yml up

Project structure

├── src/
│   ├── portal/            React SPA (Vite + TypeScript)
│   ├── api/               ASP.NET Core API + YARP proxy
│       └── AgentBox.Api.Tests/
├── infra/                 Terraform (Azure resources)
│   └── bootstrap/         State storage bootstrap
├── .github/workflows/     CI/CD pipelines
├── docs/                  Architecture & design docs
├── Dockerfile             AgentBox container image
├── entrypoint.sh          Container startup script
└── docker-compose.yml     Local development

Run tests

# API (C#)
cd src/api && dotnet test

# Portal (React SPA)
cd src/portal && npm test -- --passWithNoTests

Infrastructure

All Azure resources managed via Terraform. GitHub Actions handles CI/CD with OIDC authentication (no stored secrets).

Resource Purpose
Static Web App Portal dashboard (free tier)
Container App API + YARP proxy
Container Instances AgentBox sandboxes
Table Storage Instance metadata + counter
Key Vault Tokens, SSH CA key
Cloudflare DNS, TLS, DDoS protection

Docs

  • Architecture — system design and data flows
  • Decisions — technology choices and rationale
  • Identity — auth design, Copilot licensing, GitHub identity
  • Roadmap — delivery phases

License

Internal — NETWORG s.r.o.