Are you the author? Sign in to claim
EVA - a minimal self-evolving agent that safely rewrites, tests, and promotes better versions of itself inside a hardene
[!WARNING] Experimental and self-modifying. EVA runs shell commands and rewrites its own source code. Only ever run it inside the provided Docker sandbox.
EVA is a small, self-evolving LLM agent. A tiny immutable kernel boots a single seed release; from there EVA rewrites, tests, and promotes new versions of itself inside a hardened Docker sandbox — every self-change a gated, reversible step, never live surgery on a running system.
EVA doesn't ship a finished agent architecture. It ships the mechanism to grow one under control: seed → candidate → gates → promote → ledger → rollback. Everything you'd call "the agent" — loop, tools, adapters, memory, self-model, TUI — is just generation 0, and EVA evolves it. Two different uses grow two different EVAs.
| Most agent frameworks | EVA | |
|---|---|---|
| Architecture | fixed, shipped up front | evolves through generations |
| Self-improvement | prompt/config tweaks | rewrites its own code as a gated release |
| Safety of self-change | manual / none | test ratchet · immutable kernel gate · gated prompt surface · rollback ledger |
| New capability | you code a plugin | earned from real usage and friction, then promoted |
organism.py (~900 lines) is baked into the image, out of the
agent's reach. It seeds the genome, runs the final gate, keeps the release ledger.EVA_PROMPT_AUDIT=llm) before it is promoted. Fail → discarded.EVA improving itself — a real, unedited 3-minute session: asked to "give yourself a
soul", EVA creates a candidate, writes soul.md, protects it with a new ratchet check,
passes 87/87 checks and both gates — and is promoted to v002:
▶ Watch it interactively
(crisp text, jump between milestones with [/])
There's a second recorded session on the page: EVA evolves a Playwright browser skill from scratch — installs the stack, hits a real gate failure, debugs it, passes 122 checks and promotes to a new release whose system deps persist across containers. ▶ Watch the browser-skill evolution
Prerequisites: Docker (Engine + Compose v2) running — docker compose version to verify.
One-line install (clones to ~/eva, puts eva on PATH, offers to build the image):
# Linux / macOS
curl -fsSL https://raw.githubusercontent.com/arturkorb3/eva-evolutional-agent/main/install.sh | bash
# Windows (PowerShell)
iex (irm https://raw.githubusercontent.com/arturkorb3/eva-evolutional-agent/main/install.ps1)
Or from a manual clone: .\run.ps1 install (Linux/macOS: ./run.sh install). Then:
eva # first run: a short wizard sets up provider/model/key, then chat
Just talk to EVA in plain language; /help lists in-chat commands. From your shell:
eva improve # directed self-change - describe the task in the chat
eva evolve 3 --yes --allow-shell # autonomous (Docker contains it)
eva work resume # pick up your last work session (each mode: <mode> resume)
eva changes # what changed per promotion: reason, files, checks (--all · --diff [file])
eva status · eva rollback · eva help # ledger · step back · everything else
Works the same on Windows (PowerShell) and Linux/macOS (bash/zsh). The core is
provider-neutral: any OpenAI-compatible endpoint (OpenAI, Ollama, LM Studio, vLLM,
OpenRouter, …) or Anthropic Claude — pick it in .env.
The full deep dive lives on the project page: the evolution loop in detail, the gate stack and the kernel constitution, the four modes, self-inspection, the security architecture (sandbox tiers, key-guard, prompt audit), component map, and the honest limitations.
MIT. Have fun, be careful, and don't run it outside the sandbox.
⚠️ Experimentelle Skill-Sammlung für deutsches Recht (Arbeits-, Gesellschafts-, Insolvenz-, Datenschutz-, Prozessrecht u
Manage multiple Claude Code agents from TUI or Web with tmux and git worktrees
Project management using GitHub Issues + Git worktrees for parallel agent execution
Core skills library for Claude Code with 20+ battle-tested skills including TDD, debugging, and brainstorming