Open Source · Apache 2.0

Give an AI agent
a computer.

A local, scale-to-zero microVM runtime for autonomous agent workloads.
Real VM isolation. Sub-second boot. Wake on demand.

~500ms Cold boot
~35ms Resume from pause
~120MB Agent idle footprint
AegisVM Desktop — Agent Chat

Why AegisVM

Agent workloads don't fit containers or serverless. They run for minutes or hours, need real isolation, maintain long-lived connections, and sit idle most of the time.

Real VM Isolation

Each instance is a microVM with its own kernel. Not a container sharing the host kernel. Code inside cannot see your files, network, or processes.

Scale to Zero

Nothing runs unless triggered. Paused VMs resume in ~35ms. Stopped VMs cold-boot in ~500ms. The router wakes VMs on incoming connections automatically.

Your Machine, Your Data

Everything runs locally. No cloud dependency, no per-second billing, no data leaving your machine. Full control over your agent infrastructure.

Why Not Just Use...

Alternative Limitation
Docker / PodmanShared host kernel — no real isolation. No scale-to-zero or wake-on-connect.
E2BCloud-hosted — your data leaves your machine, pay per-second.
Firecracker / CHVMMs, not runtimes. No lifecycle, networking, port mapping, or guest agent.
Lambda / Cloud FunctionsStateless, second-scale cold starts, no persistent connections or ports.
Running on hostNo isolation, no resource limits, agents can read your files and credentials.

Platform Features

Sub-second Boot

MicroVMs boot in ~500ms cold, resume in ~35ms from pause. Powered by libkrun on macOS (Apple HVF) and Cloud Hypervisor on Linux (KVM).

🔒 Wake-on-Connect

Declare ports with --expose. The router accepts connections, wakes the VM, and proxies traffic. No manual lifecycle management.

📦 OCI Images

Use any Docker image as the VM filesystem. --image python:3.12, --image node:20. Env vars automatically propagated.

📁 Workspaces

Mount host directories into VMs at /workspace. Share project files between host and agents seamlessly.

🔑 Encrypted Secrets

AES-256-GCM encrypted store. Explicit injection only — agents get only the secrets you specify. Default: inject nothing.

🤖 MCP Integration

Ship with an MCP server that lets LLMs (Claude Code) drive sandboxed VMs directly — start instances, exec commands, read logs, manage secrets.

🔁 Kits

Optional add-on bundles that extend the runtime. Core AegisVM is a clean sandbox substrate. Kits add opinionated capabilities on top.

💻 Desktop App

Native app with everything bundled — runtime, CLI, daemon, Agent Kit. Dashboard, chat, logs, exec, config editor, secrets manager.

Agent Kit

Turn a VM into an
autonomous LLM agent.

22 built-in tools, persistent memory, scheduled tasks, web search, image generation, multi-agent orchestration. All in a ~120MB idle footprint with scale-to-zero.

File Operations

bash read_file write_file edit_file glob grep

Web & Search

web_search image_search web_fetch

Image Generation

image_generate respond_with_image

Memory

memory_store memory_search memory_delete

Auto-injection into LLM context

Scheduled Tasks

cron_create cron_list cron_delete cron_disable

Scale-to-zero cron

Self-Management

self_info self_restart notify

Messenger Gateway

Connect agents to Telegram and other messengers. The gateway stays running while VMs sleep — wake-on-message with zero config.

Multi-Agent Orchestration

Agents can spawn child VMs for sub-tasks. Each child gets its own isolated environment with configurable depth limits.

Any LLM

OpenAI, Anthropic, or local models via Ollama/LM Studio/vLLM. Switch models per-agent with a config change.

Agent Kit vs. Alternatives

Agent Kit OpenClaw
ArchitectureModular Go binary + optional MCPMonolithic Python framework
Idle footprint~120MB~200MB+
Core tools22 built-in (Go, zero overhead)Python-based, runtime-dependent
MemoryBuilt-in with auto-injectionRequires external service
CronBuilt-in with scale-to-zeroNot included
VM isolationReal microVM per agentContainer or process
Scale-to-zeroNative (pause/resume in ms)Not supported

How It Works

Host
├── aegisd              daemon: API, lifecycle, router, VMM backend
├── aegis               CLI
├── aegis-mcp           MCP server for host LLMs (Claude Code integration)
├── aegis-gateway       per-instance daemon (Telegram bridge, cron scheduler)
│
└── VMM (libkrun / Cloud Hypervisor)
    ├── VM 1: aegis-harness (PID 1) → user command
    ├── VM 2: aegis-harness (PID 1) → aegis-agent (Agent Kit)
    │         ├── 22 built-in tools (Go, compiled in)
    │         ├── memory, cron, sessions (workspace-backed)
    │         └── LLM API (OpenAI / Anthropic / local)
    └── ...

Tether — Bidirectional Agent Messaging

Everything flows through Tether — Claude Code delegation, Telegram messages, cron tasks, multi-agent orchestration.

Host (Claude Code) ──tether──► Agent VM ──tether──► Child Agent VM
Telegram ──gateway──► tether ──┘
Cron     ──gateway──► tether ──┘
Wake-on-Message

Paused VM wakes in ~35ms on incoming tether frame. Gateway stays running while VMs sleep.

Sessions

Each conversation gets independent history. Persists across VM restarts.

Async Streaming

Send messages and read responses later. Long-poll support for real-time streaming.

Workflows

Claude Code + AegisVM

Install the MCP server and Claude Code can drive sandboxed VMs directly.

Terminal
$ aegis mcp install     # register with Claude Code

# Now in Claude Code:
Claude: tether_send(instance="my-agent", text="Research ML frameworks")
Claude: tether_read(instance="my-agent", wait_ms=30000)
        → The agent responded with a detailed comparison...

Telegram Bot Agent

Connect an agent to Telegram — messages wake the VM, agent responds, VM goes back to sleep.

Terminal
$ aegis secret set OPENAI_API_KEY sk-...
$ aegis secret set TELEGRAM_BOT_TOKEN 123456:ABC-...
$ aegis instance start --kit agent --name my-bot \
    --secret OPENAI_API_KEY --secret TELEGRAM_BOT_TOKEN

# Send a message to your bot on Telegram — it just works.
# VM wakes in ~35ms, processes, responds, sleeps.

Scheduled Agent Tasks

Agents can create their own cron jobs. The gateway triggers them even while the VM is paused.

Agent Chat
You: Check Hacker News every morning and send me a summary on Telegram.
Agent: I'll set up a daily cron job for that.
       → cron_create("0 8 * * *", "Check HN top stories and notify")
       Done. You'll get a summary at 8 AM daily.

Quick Start

1

Install

Download the desktop app or install via Homebrew.

brew tap xfeldman/aegisvm && brew install aegisvm
2

Start the daemon

aegis up
3

Run your first VM

aegis run -- echo "hello from a microVM"
4

Start an agent

aegis secret set OPENAI_API_KEY sk-...
aegis instance start --kit agent --name my-agent --secret OPENAI_API_KEY

Download

Desktop app with everything bundled — core runtime, CLI, daemon, Agent Kit.

macOS

Apple Silicon (M1–M5)
macOS Ventura+

Download .dmg

Linux x86_64

KVM required
WebKitGTK 4.1

Download AppImage

Linux arm64

KVM required
WebKitGTK 4.1

Download AppImage

Alternative: Homebrew (macOS)

brew tap xfeldman/aegisvm && brew install aegisvm

Alternative: Linux (CLI only)

curl -sSL https://raw.githubusercontent.com/xfeldman/aegisvm/main/install.sh | sh