Avo v0.7.4 GitHub
Zero-Python Standalone Executable Available β€’ Single-File Binary

Reliable Agent Runtime for
Autonomous Engineering

Event-sourced state machines, SQLite checkpoint persistence, Git worktree isolation, durable webhook approvals, and rootless sandboxes. Run agents that survive crashes, enforce hard budgets, and never corrupt your workspace.

curl -fsSL https://avo.faqihhakim.tech/install.sh | bash
# Installs pre-built standalone binary directly to ~/.local/bin/avo
# βœ“ Zero Python runtime or uv required
irm https://avo.faqihhakim.tech/install.ps1 | iex
# Installs standalone avo.exe to %LOCALAPPDATA%\avo\bin
# βœ“ Zero Python or admin rights required
uv tool install --python 3.13 avo[all]
# Installs user-global Python package with all provider & sandbox extras
Enterprise Reliability Primitives

Engineered to Keep Going Safely

Most agent frameworks treat LLMs as simple while-loops. Avo builds on state-machine rigor, durable event sourcing, and container isolation.

🌿

Git Worktree Isolation

Never corrupt the user's working directory. Code modifications and test runs execute in ephemeral .avo/worktrees/<run_id> workspaces on isolated branches, with automated merge or clean discard.

πŸ›‘οΈ

Dual-Layer Sandbox

Execute untrusted shell operations safely. Uses rootless Linux Bubblewrap (bwrap) with unshared namespaces, or ephemeral Docker containers with network_mode="none".

πŸ””

Durable Webhook Approval

Pending human authorizations persist in SQLite (pending_approvals). When a dangerous tool requires approval, the agent pauses safely and resumes via REST webhook (POST /api/approvals/{id}/decision) across daemon restarts.

πŸ”€

Combo Routing & Failover

One conversation, multiple models. Automatically failover across Anthropic Claude, OpenAI, Gemini, and local Ollama when quotas or rate limits are hitβ€”without losing conversation context.

πŸ“œ

Event Sourcing & Replay

Every state change appends to an immutable SQLite event log. Step checkpoints allow exact crash-safe resume, deterministic replay, and post-mortem auditability.

🧠

Epistemic Memory & Blackboard

Multi-agent shared scratchpad backed by optimistic locking, plus BM25 keyword recall fact memory with automated secret redaction for API keys and tokens.

Framework Comparison

Why Developers Choose Avo

How Avo compares to traditional Python agent frameworks and raw CLI tools.

Feature Avo LangGraph CrewAI Claude Code
Zero-Python Standalone Binary βœ“ Native Executable βœ— Python required βœ— Python required βœ— Node.js required
Git Worktree Workspace Isolation βœ“ Built-in (.avo/worktrees) βœ— None βœ— None βœ“ Via hooks
Crash-Safe Checkpoint Resume βœ“ SQLite Event Store βœ“ Checkpointer βœ— Memory only βœ“ Local session
Rootless Linux Sandbox (bwrap) βœ“ Native namespace isolation βœ— None βœ— Docker only βœ— Host process
Durable Webhook Approvals βœ“ Persistent DB + REST βœ“ Interrupts βœ— CLI input only βœ— Terminal prompt
Loop & Budget Circuit Breakers βœ“ ProgressDetector & TokenLedger βœ— Max iterations only βœ— Max iterations only βœ— User interrupt
Developer Quickstart

Simple to Embed, Powerful to Scale

agent_example.py
from avo import AgentRuntime, LoopPolicy, FunctionTool
from avo.app_tools import GitWorktreeManager, read_file_tool, write_file_tool
from avo.config import build_provider_from_env

# 1. Initialize isolated git worktree for this run
manager = GitWorktreeManager(repo_root=".")
worktree_path = manager.create_worktree(run_id="task-audit-01")

# 2. Build runtime with bounded step and token budget
runtime = AgentRuntime(
    provider=build_provider_from_env(),
    policy=LoopPolicy(max_steps=15, token_budget=50_000),
    tools=[read_file_tool, write_file_tool],
    database_path=".avo/runs.db"
)

# 3. Execute with deterministic event logging and step checkpoints
result = await runtime.run(
    task="Audit dependencies and apply security fixes in isolated worktree."
)
print(f"Run completed: {result.state} (StopReason: {result.stop_reason})")