Local-first AI agent mesh in Rust. Hard budget enforcement, adaptive model routing, and end-to-end OpenTDF encryption. Built for individuals and small teams.
Rust
12
261 commits
updated Sep 16, 2026
Instant, secure orchestration for AI agents—launch, mesh, and monitor in real time.
Download the installer from the releases page, open the .pkg file, and follow the installation wizard.
For advanced users: Install via Homebrew
brew tap arkavo-org/homebrew-arkavo
brew trust --formula arkavo-org/arkavo/arkavo # required on Homebrew 5.2+
brew install arkavo
brew tap arkavo-org/homebrew-arkavo
brew trust --formula arkavo-org/arkavo/arkavo # required on Homebrew 5.2+
brew install arkavo
Raspberry Pi 5: Download ARM64 binary from releases. See deployment guide for setup. First run auto-selects an edge model for the device (Pi 5 → Gemma 4 E4B).
Download the installer from the releases page and run the .exe file.
# Start an agent (zero config)
arkavo
# Or launch web UI
arkavo ui
That's it. No configuration files, no setup. Agents auto-discover via mDNS and form a mesh.
On first run, Arkavo downloads two local models sized to your device — a small model for fast routing (Gemma 4 E2B) and a larger model for inference (Gemma 4 12B on desktop/workstation; Gemma 4 E4B on a Raspberry Pi 5).
To authorize an agent (e.g. from another device), show its identity QR — the agent's DID:key and entitlements:
arkavo agent run --trust # or simply: arkavo --trust
See the migration guide for a full comparison: what you gain (budget controls, TDF encryption, PII preflight, offline operation), what's different, and step-by-step setup.
arkavo. Auto-naming, auto-routing, auto-discovery.Declarative multi-agent kits where each role declares its own TDF Attribute Release Policy. The orchestrator constructs role-scoped policies before any data reaches the role — push the trust boundary inward.
# Launch any kit at gateway boot
ARKAVO_SWARMKIT_PATH=examples/code-review-kit/code-review-kit.swarmkit.yaml arkavo
Four shipped kits: campaign-kit, code-review-kit, vrm-production-kit, compliance-kit. Full guide: docs/SWARMKIT.md. To validate a kit manifest from source, see Building from Source.
# Use any provider with API key
GEMINI_API_KEY=your-key arkavo chat --prompt "Hello"
DEEPSEEK_API_KEY=your-key arkavo chat --prompt "Explain Rust"
The Autonomous Refactor demo demonstrates Active Context Management. It simulates a large-scale "breaking change" refactor that generates extensive compiler output, showing how the Context Ledger maintains a small active window while preserving data access.
cd examples/autonomous_refactor
./run_demo.sh
arkavo agent init my-agent # Creates AGENTS.md template
# Edit AGENTS.md to set model, capabilities, API keys
arkavo # Runs with your config
OpenTDF Integration: Fine-grained access control for MCP tools via OpenTDF. Set OPENTDF_BASE_URL, OIDC_ISSUER, and AUD environment variables.
The agent uses these MCP tools in-process during chat and task — there's no separate server to start. Tools that shell out to an external binary register only when that binary is on PATH (noted below).
PATH)These nine tools are the ones the running agent can call (the binary also registers git, GitHub, web-search, shell, and TDF tools — see the full reference below).
SWE-bench evaluation lives in the separate arkavo-mcp-bench crate, run from source — it is not a registered agent tool (it depends on the orchestration engine, which would form a dependency cycle if exposed through the tool registry).
See docs/coding-agent-toolset.md for complete tool documentation.
For offensive-security reviewers: here's what is real today and what is still on the roadmap.
| Capability | Status | Notes |
|---|---|---|
| OpenTDF / KAS encryption | Shipped | Tool outputs and SwarmKit payloads can be wrapped in TDF; KAS policy enforcement is live. |
| ABAC / attribute release policies | Shipped | Roles declare TDF Attribute Release Policies; the orchestrator constructs role-scoped policies before data reaches the role. |
| SwarmKit policy isolation | Shipped | Each kit role gets its own policy envelope; no shared blanket entitlements. |
| DID:key identity | Shipped | Agents are identified by did:key derived from an Ed25519 keypair; identity is stable per device. |
| mDNS mesh discovery | Shipped | Pure-Rust mDNS with no system Avahi/Bonjour dependency; agents auto-discover and form a local mesh. |
| Local inference | Shipped | Gemma 4 and Ministral models run via llama.cpp on the local device; no cloud required for routing or inference. |
| DLP / PII scrubbing | Shipped | Pre-flight redaction of sensitive patterns before LLM context and provider calls. |
| PII leak regression tests | Shipped | tests/e2e_security_test.sh, tests/security_cli_test.sh, tests/dlp_pii_security_test.sh. |
| Capability | Status | Notes |
|---|---|---|
| SEP / TPM hardware attestation | In crate, not crypto-bound | arkavo-attestation detects the Secure Enclave on Apple Silicon and reports a security state, but the evidence is platform metadata, not a Secure-Enclave-signed quote. TPM backend is not implemented. |
| Hardware-bound key storage | Not yet | Device identity and agent keypairs are stored on disk with filesystem permissions; they are not yet stored in the Secure Enclave, Keychain (non-extractable), or a TPM. |
| Verifiable remote attestation | Not yet | Trust scoring currently treats identity as verified once a DID:key is known; there is no remote verification of attestation evidence yet. |
This split is intentional: encryption, access control, and identity are shipping now; hardware-bound trust roots are being built in the open.
| Platform | Architecture | Features |
|---|---|---|
| macOS | ARM64 (Apple Silicon) | Full support including iOS testing, local/remote LLM, mDNS |
| Linux | x86_64, ARM64 | Full support with local/remote LLM, mDNS |
| Linux (musl) | x86_64 | Static/slim binary with memory and mDNS support |
| Windows | x86_64 | Memory, remote LLM, and mDNS support (no iOS testing) |
mDNS discovery uses pure Rust implementation (mdns-sd crate) with no system dependencies
Note: iOS simulator automation and testing capabilities are only available on macOS.
Install required build tools:
# macOS
brew install cmake ccache
# Linux (Debian/Ubuntu)
sudo apt install cmake ccache build-essential
# Linux (Fedora)
sudo dnf install cmake ccache gcc-c++
Clone the llama.cpp dependency (not tracked in git):
git clone https://github.com/ggerganov/llama.cpp vendor/llama.cpp
cd vendor/llama.cpp
git checkout f280b26983ad0fdb705a0d9ebf0503e76f2899b0 # b10615
cd ../..
cargo build
The default build includes mDNS discovery using a pure Rust implementation (mdns-sd crate) that doesn't require system libraries like Avahi or Bonjour. This provides true portability across all platforms.
These commands run against the source tree (not the installed binary):
# Measure agent-to-agent latency
cargo bench -p arkavo-protocol --bench a2a_latency
# Validate a SwarmKit manifest
cargo run -p arkavo-swarmkit --example validate_kit -- \
examples/compliance-kit/compliance-kit.swarmkit.yaml
Rust
95.2%
JavaScript
1.6%
Local-first AI agent mesh in Rust. Hard budget enforcement, adaptive model routing, and end-to-end OpenTDF encryption. Built for individuals and small teams.
Rust
12
261 commits
updated Sep 16, 2026
Instant, secure orchestration for AI agents—launch, mesh, and monitor in real time.
Download the installer from the releases page, open the .pkg file, and follow the installation wizard.
For advanced users: Install via Homebrew
brew tap arkavo-org/homebrew-arkavo
brew trust --formula arkavo-org/arkavo/arkavo # required on Homebrew 5.2+
brew install arkavo
brew tap arkavo-org/homebrew-arkavo
brew trust --formula arkavo-org/arkavo/arkavo # required on Homebrew 5.2+
brew install arkavo
Raspberry Pi 5: Download ARM64 binary from releases. See deployment guide for setup. First run auto-selects an edge model for the device (Pi 5 → Gemma 4 E4B).
Download the installer from the releases page and run the .exe file.
# Start an agent (zero config)
arkavo
# Or launch web UI
arkavo ui
That's it. No configuration files, no setup. Agents auto-discover via mDNS and form a mesh.
On first run, Arkavo downloads two local models sized to your device — a small model for fast routing (Gemma 4 E2B) and a larger model for inference (Gemma 4 12B on desktop/workstation; Gemma 4 E4B on a Raspberry Pi 5).
To authorize an agent (e.g. from another device), show its identity QR — the agent's DID:key and entitlements:
arkavo agent run --trust # or simply: arkavo --trust
See the migration guide for a full comparison: what you gain (budget controls, TDF encryption, PII preflight, offline operation), what's different, and step-by-step setup.
arkavo. Auto-naming, auto-routing, auto-discovery.Declarative multi-agent kits where each role declares its own TDF Attribute Release Policy. The orchestrator constructs role-scoped policies before any data reaches the role — push the trust boundary inward.
# Launch any kit at gateway boot
ARKAVO_SWARMKIT_PATH=examples/code-review-kit/code-review-kit.swarmkit.yaml arkavo
Four shipped kits: campaign-kit, code-review-kit, vrm-production-kit, compliance-kit. Full guide: docs/SWARMKIT.md. To validate a kit manifest from source, see Building from Source.
# Use any provider with API key
GEMINI_API_KEY=your-key arkavo chat --prompt "Hello"
DEEPSEEK_API_KEY=your-key arkavo chat --prompt "Explain Rust"
The Autonomous Refactor demo demonstrates Active Context Management. It simulates a large-scale "breaking change" refactor that generates extensive compiler output, showing how the Context Ledger maintains a small active window while preserving data access.
cd examples/autonomous_refactor
./run_demo.sh
arkavo agent init my-agent # Creates AGENTS.md template
# Edit AGENTS.md to set model, capabilities, API keys
arkavo # Runs with your config
OpenTDF Integration: Fine-grained access control for MCP tools via OpenTDF. Set OPENTDF_BASE_URL, OIDC_ISSUER, and AUD environment variables.
The agent uses these MCP tools in-process during chat and task — there's no separate server to start. Tools that shell out to an external binary register only when that binary is on PATH (noted below).
PATH)These nine tools are the ones the running agent can call (the binary also registers git, GitHub, web-search, shell, and TDF tools — see the full reference below).
SWE-bench evaluation lives in the separate arkavo-mcp-bench crate, run from source — it is not a registered agent tool (it depends on the orchestration engine, which would form a dependency cycle if exposed through the tool registry).
See docs/coding-agent-toolset.md for complete tool documentation.
For offensive-security reviewers: here's what is real today and what is still on the roadmap.
| Capability | Status | Notes |
|---|---|---|
| OpenTDF / KAS encryption | Shipped | Tool outputs and SwarmKit payloads can be wrapped in TDF; KAS policy enforcement is live. |
| ABAC / attribute release policies | Shipped | Roles declare TDF Attribute Release Policies; the orchestrator constructs role-scoped policies before data reaches the role. |
| SwarmKit policy isolation | Shipped | Each kit role gets its own policy envelope; no shared blanket entitlements. |
| DID:key identity | Shipped | Agents are identified by did:key derived from an Ed25519 keypair; identity is stable per device. |
| mDNS mesh discovery | Shipped | Pure-Rust mDNS with no system Avahi/Bonjour dependency; agents auto-discover and form a local mesh. |
| Local inference | Shipped | Gemma 4 and Ministral models run via llama.cpp on the local device; no cloud required for routing or inference. |
| DLP / PII scrubbing | Shipped | Pre-flight redaction of sensitive patterns before LLM context and provider calls. |
| PII leak regression tests | Shipped | tests/e2e_security_test.sh, tests/security_cli_test.sh, tests/dlp_pii_security_test.sh. |
| Capability | Status | Notes |
|---|---|---|
| SEP / TPM hardware attestation | In crate, not crypto-bound | arkavo-attestation detects the Secure Enclave on Apple Silicon and reports a security state, but the evidence is platform metadata, not a Secure-Enclave-signed quote. TPM backend is not implemented. |
| Hardware-bound key storage | Not yet | Device identity and agent keypairs are stored on disk with filesystem permissions; they are not yet stored in the Secure Enclave, Keychain (non-extractable), or a TPM. |
| Verifiable remote attestation | Not yet | Trust scoring currently treats identity as verified once a DID:key is known; there is no remote verification of attestation evidence yet. |
This split is intentional: encryption, access control, and identity are shipping now; hardware-bound trust roots are being built in the open.
| Platform | Architecture | Features |
|---|---|---|
| macOS | ARM64 (Apple Silicon) | Full support including iOS testing, local/remote LLM, mDNS |
| Linux | x86_64, ARM64 | Full support with local/remote LLM, mDNS |
| Linux (musl) | x86_64 | Static/slim binary with memory and mDNS support |
| Windows | x86_64 | Memory, remote LLM, and mDNS support (no iOS testing) |
mDNS discovery uses pure Rust implementation (mdns-sd crate) with no system dependencies
Note: iOS simulator automation and testing capabilities are only available on macOS.
Install required build tools:
# macOS
brew install cmake ccache
# Linux (Debian/Ubuntu)
sudo apt install cmake ccache build-essential
# Linux (Fedora)
sudo dnf install cmake ccache gcc-c++
Clone the llama.cpp dependency (not tracked in git):
git clone https://github.com/ggerganov/llama.cpp vendor/llama.cpp
cd vendor/llama.cpp
git checkout f280b26983ad0fdb705a0d9ebf0503e76f2899b0 # b10615
cd ../..
cargo build
The default build includes mDNS discovery using a pure Rust implementation (mdns-sd crate) that doesn't require system libraries like Avahi or Bonjour. This provides true portability across all platforms.
These commands run against the source tree (not the installed binary):
# Measure agent-to-agent latency
cargo bench -p arkavo-protocol --bench a2a_latency
# Validate a SwarmKit manifest
cargo run -p arkavo-swarmkit --example validate_kit -- \
examples/compliance-kit/compliance-kit.swarmkit.yaml
Rust
95.2%
JavaScript
1.6%