Apache-2.0 · The self-hosted agentic OS

The agentic OS
you actually own.
EU-compliant by design.

A self-hosted operating system for AI agents: it runs the engines, personas, workflows and runtime-forged tools, meets your users on every messenger, drives a real browser, and keeps a hash-chained audit of it all — with compliance built into the architecture, not bolted on.

Star on GitHub Quick Start →
Best Agentic AI Platforms 2026 — agentic.ai
Featured on AI Agents Directory Launchpadly Startup Directory
Corvin agentic compute — recursive delegation graph with sub-managers and sub-workers Corvin agentic compute run graph Corvin workflow builder — multi-market trading signal pipeline Corvin workflow builder — content moderation and compliance review Corvin chat with live chart analysis Corvin agentic compute analytics Corvin audit chain events Corvin agentic compute run detail Corvin audit and compliance dashboard Corvin agentic compute experiments Corvin agentic compute run results Corvin agentic compute pipelines Corvin RAG integration and query tester Corvin knowledge hub Corvin data sources — databases and HTTP bridges
0
Messaging bridges
Engines detected
0
Compliance frameworks
0%
Self-hosted
Voice-to-Action · the command center

The chat runs the whole OS

The chat isn't a demo window — it's the shell. Personas, engines, workflows, the Forge, RAG, agentic compute and the A2A mesh are all reachable from one prompt. That's the idea behind voice‑to‑action: drive the whole OS end‑to‑end by voice — speak a request, CorvinOS transcribes it, routes it, does the work, and speaks the answer back — tuned to how you listen. And you don't even need the console open: every messaging bridge is a full control surface, so you can run the whole OS straight from a Telegram, WhatsApp or Signal thread.

Voice on
CorvinOS chat — the command center
Voice in · voice out

Run it hands‑free

Hit the mic and talk. Speech is transcribed locally by default — the audio is deleted the moment it returns, and only metadata ever touches the audit chain.

🎙️
Speak“Rank Q2 cohorts by retention.” — captured from any bridge.
TranscribeLocal Whisper by default, OpenAI as fallback. Runs before the engine even wakes.
RouteA persona and engine are picked for the turn — your overrides always win.
ActOne turn can reach every layer: Forge, workflows, RAG, agentic compute, A2A.
🔊
Speak backAnswer is spoken through a listener‑tuned voice — jargon and depth to taste.

One prompt reaches every layer

🎭
Personas Many minds, one runtime — routed per turn.
⚙️
Engines Claude, Codex, OpenCode & local models.
🔀
Workflows Multi-step AWP pipelines, on demand or scheduled.
🔨
Forge Schema-bound tools & skills, built at runtime.
📚
RAG Grounded answers over your own documents.
🧮
Agentic Compute Sweeps & tuning without spending tokens.
🔗
A2A mesh Signed task envelopes across teams.
🛡️
Audit Every step on a hash-chained spine.
Regulatory compliance

Built in, not bolted on.

Every compliance mechanism is a structural design constraint. There is no "compliance mode" you can accidentally leave off.

Governance ID

Every instance carries a verifiable identity.

A locally-generated Ed25519 key becomes a Corvin Labs-signed certificate at license activation — binding this specific installation to a license and account, offline-verifiable, optionally tethered to the machine's hardware. No new PKI, no phone-home required to check it.

instance_id
a41f9e2c-88b0-4d21…
IBC bound hardware tethered
EU AI Act Art. 50

Bot Disclosure

One-time AI-nature disclosure per user, structurally locked. Cannot be disabled via configuration.

GDPR Art. 6 & 7

Consent Gate

Deny-by-default consent for transcript sharing. Per-user, TTL-capped, re-validated at consume time.

GDPR Art. 30 & 32

Hash-Chained Audit

Every event appends to a SHA-256-linked chain. Tampering invalidates it. Offline-verifiable.

EU AI Act Art. 14

Data Residency

Compliance-zone routing and egress lockdown structurally prevent data from leaving the permitted zone.

EU AI Act 2026 GDPR ISO/IEC 42001 NIST AI RMF
Agentic Compute

Compute that adapts
to any problem

That's Agentic Compute: the worker owns the loop, the model owns the framing. The agent says what to optimise and when to stop; a sandboxed worker picks the strategy that fits the problem and turns the crank — from a quick tune to a Bayesian search over an 8 GB dataset, and never a raw byte in the context window.

01
Frame itThe model submits one job — what to optimise, the parameter space, and the stopping rule.
02
Run itA sandboxed worker evaluates combinations in parallel and streams Top-K progress back.
03
Read itThree model calls total — submit, poll, read. Zero tokens spent while the loop turns.
3 model calls / sweep up to 16 parallel SHA-256 audited
compute_run bayesian · GP + EI
sweep · learning_rate × n_estimators · 4 parallel
w0
w1
w2
w3
4/100
iterations
0.900
best loss
sha-256

N iterations run in the worker — the model is idle until the result returns.

grid

Exhaustive coverage

Evaluates every combination in the grid. Pre-generated at submit — deterministic and fully reproducible.

random

Broad sampling

Uniform samples per batch from continuous ranges. One seed per run, stored for reproducibility.

bayesian

Fewest evaluations

A Gaussian-Process surrogate picks the highest Expected-Improvement points — finds a good region in the fewest runs.

The loss function · one number to steer by

A single score for “how wrong is this — so far?”

Every sweep and every delegation round needs a way to compare two attempts and say which is better. That measure is the loss: one number where lower is better and 0 would be a perfect answer. The optimiser has no opinion about your problem — it only ever tries to push that number down.

Loss curve 1 − confidence per iteration ↓ converging
1.0 .75 .50 .25 0 target 0.12 start 0.90 spike
first
0.900
best
0.080
▼ 91% loss early convergence

Loss usually falls but not monotonically — the run keeps the best seen, not the last.

01What it measures

Distance from a good answer. A model that guesses well scores near 0; a bad fit scores near 1. It turns “better / worse” into something the machine can rank.

02How compute uses it

Each iteration reports its loss (in the console, 1 − confidence). The run tracks best_loss, watches the trend, and flags a spike when loss climbs three rounds straight.

03The stopping rule

Stop when loss reaches the target, the iteration budget runs out, or wall-time expires — whichever comes first. The same rule bounds a Bayesian sweep and a recursive delegation tree.

loss = 1 − confidence improvement = (first − best) / first
Four optimizer loops · one loss

The same idea, all the way down

Everything in CorvinOS that improves an answer is a loop pushing a loss down — they differ only in what they tune, the parameter axis θ. The compute sweep tunes parameters; Loss-Driven Development (LDD) tunes the system that produces them, across three engineering axes. Loops 2–4 run always on, at full depth — no change is trusted until it produces a loss signal: a failing test, a behaviour gap, an error.

loop 1 · θ = parameters

The sweep

Grid, random or Bayesian search drives the loss down over a hyperparameter space. This is Agentic Compute — seconds to minutes.

loop 2 · θ = code

Inner loop ~60 s

Edit code, run the E2E, observe the loss. Mandatory for every edit — you can't skip straight to a claim.

loop 3 · θ = deliverable

Refinement ~5–30 min

Polish a good-enough deliverable with a real gradient; the budget halves each pass and stops on a plateau or regression.

loop 4 · θ = method

Outer loop ~1 week

When the same failure recurs across tasks, evolve the skill or rubric itself — the loss on how the work gets done.

Loops 2–4 · twelve toggleable disciplines · cascading dependencies
loop-driven engineering e2e-driven iteration dialectical reasoning dialectical CoT root-cause by layer docs as definition-of-done reproducibility first loss-backprop lens method evolution drift detection iterative refinement per-subtask E2E
Recursive delegation · the ACS run

It keeps working until the answer is good enough

A manager engine plans the task, delegates pieces to parallel worker runs, scores every result, and iterates toward a loss target. The point of the recursion is adaptation: where a capability is missing, a worker forges the tool or skill it needs at runtime — so the same flow can tune a model, run a backtest, or analyse an 8 GB dataset straight from a prompt.

★ MANAGER · claude-sonnet-4-6
loss · idle
ITER 1 queued loss 0.82
W-A★ sub-mgr↳ spawnsSW-B1 · hermesSW-B2 · hermesW-C ⚒ forge.create_tool()
ITER 2 queued loss 0.51
W-DW-EW-F ✦ skill.create()
ITER 3 queued loss 0.12
W-GW-HW-Iuses forged tool + skill
sub-manager · recursion forge tool · mid-run, shared skill · injected next turn manager sonnet · workers haiku · confidential hermes

Forge and SkillForge run inside the loop. A worker calls forge.create_tool() and the tool is instantly available to every later worker; another calls skill.create() and the skill is injected on the next turn. That runtime generation is the adaptation engine — how a plain-language question turns into a working analysis over data far too big for any context window.

The manager never touches your data. Every spawn passes the data gate, so only clean, redacted summaries flow back up the tree — bounded by a shrinking budget.

max_depth max_total_workers max_wall_time
The data firewall

Query 8 GB. Leak nothing.

Register a dataset once. The same file is presented two ways — a redacted snapshot to the model, the real bytes to the sandbox.

To the model
  • A 22-char opaque data_handle
  • Schema + redacted sample, capped at 4,000 tokens
  • Stats via HyperLogLog & P5/P95 — never raw extremes
To the sandbox tool
  • The real file path, read-only-bound into bwrap
  • Every row readable — pandas.read_csv(path) just works
  • Structured queries & SQL sources via the DSI protocol
PII redaction: drop redact pseudonymize mask-partial aggregate-only hash

Point it at the databases you already run — the model queries them by name over the DSI protocol, and the raw rows never move.

🐘PostgreSQL 🐬MySQL / MariaDB ❄️Snowflake 🔷BigQuery 🔴Redshift ☁️Amazon S3 🟦Azure Blob 📊Delta Lake + CSV · Parquet · GCS
Workflows & packaging · AWP

Describe the outcome. Ship the whole thing as one file.

You never draw the boxes and arrows. You describe an outcome in plain language — the manager delegates the run, and the execution graph discovers itself. Save that graph as a repeatable workflow, then export everything it needs — logic, tools, skills, personas and data bindings — into a single portable .awpkg bundle.

1 You describe it
“Every Monday, pull our Stripe MRR, flag the biggest churn drivers and post the summary to #finance.”
natural language · no config
2 The run discovers the graph
src pay crm mrr seg join churn fcst tile #fin csv
ACS workflow graph · branch → 3 outputs
3 Saved as a workflow
weekly-mrr-brief cron · Mon 9:00
1fetch Stripe MRR
2analyse churn drivers
3format summary
4deliver → #finance
repeatable · schedulable · replayable
DAG Replay

Freezes the exact graph the run discovered — same nodes, same order — for a faithful re-run.

AWP Template

Generalises the graph into a reusable blueprint with parameters — point it at new inputs and run again.

Recursion Graph

A whole agentic-compute delegation tree — sub-managers, workers and their iteration loops — captures as one .awpkg, ready to re-run the sweep.

The .awpkg format

Everything the workflow needs, in one archive

An .awpkg is a signed ZIP — the whole capability, not just the recipe. Install it into any tenant with one command and the tools, skills, personas and delegation logic all light up together. It declares; the runtime installs — no scripts, no binaries, eight fail-closed checks before a single byte is extracted.

weekly-mrr-brief-1.1.0.awpkg (ZIP)
├─ manifest.yaml id · version · perms
├─ workflows/ *.awp.yaml
├─ tools/ code.*.json
├─ skills/ <slug>/SKILL.md
├─ personas/ *.yaml
├─ data/ defaults.yaml
└─ README.md shown by inspect
corvin pkg build corvin pkg install
Delegation & workflow logic

The full AWP topology — agent steps, parallel fan-out/fan-in and recursive delegation_loop nodes — plus triggers and delivery targets.

Forge tools

Every custom tool the run built, each pinned to a sandbox with network: deny unless the manifest grants it.

SkillForge skills

Reusable skill bodies, linted before install and injected into the workers' future turns.

Cowork personas

The roles the workers assume — so the packaged team behaves the same on any machine.

Data bindings, not data

RAG-provider and datasource references travel; secret names are declared but their values stay in the vault — never in the package.

permissions: network / compute / secrets SemVer + dependencies hash-chained audit
Organization mesh · A2A protocol (L38)

Your datacenter. The whole org just asks.

Run CorvinOS on one machine in your datacenter — it's just another node in the mesh, the one that happens to do the heavy agentic compute over your confidential data. Every team pairs with every other over A2A: no hub, no center. Anyone sends plain-language tasks, answers flow back, but the raw data never leaves the building.

◜ ORGANIZATION · DATA NEVER LEAVES ◝ Youemployee · assistant Engineeringacme-eng · spawn ✓ Analyticsacme-data · spawn ✓ Supportacme-ops · inbox Marketingacme-mktg · spawn ✓ Legalacme-legal · observer ◆ DATACENTER CorvinOS · agentic compute gpu-1 gpu-2 batch CONFIDENTIAL · hermes · zero egress External contractorscoped · 10 rpm · INTERNAL cap · spawn ✗
request in answer out team ↔ team mesh HMAC-paired · consent-gated peer-to-peer · no central server

Every connection is a Friendship Token — a shared HMAC key exchanged out-of-band. No platform sits in the middle; each node authenticates the other and audits every envelope on its own hash chain.

HMAC-SHA256 mutual auth purpose-limited per-origin rate limit data-classification cap tamper-evident audit instant revoke
Adapts & evolves

It grows into your setup

CorvinOS isn't a fixed product you conform to. It learns how you like to work, it builds the capabilities it's missing while it runs, and it opens cleanly to whatever else you need to plug in.

layer stack + extension
🔌 acme.crm-connector extension
🧩 mcp: notion · slack · github mcp
🔨 forged tools & skills runtime
PROTECTED CORE
🔒 corvin.audit · redaction · policy locked
🔒 corvin.engines · personas · voice locked
🎧
Adapts to you

Voice & Profile tunes how each listener is spoken to — vocabulary, jargon level, depth — and personas route every turn to the right voice, tools and engine. Your overrides always win.

🌱
Evolves itself

Hit a gap and a worker forges the tool and writes the skill — at runtime, mid-task. Each one persists and is instantly available to every later turn, so the system keeps getting more capable the more you use it.

🧩
Open & extensible

Install external MCP servers from the catalog, add vendor layers through the Extension API, or drop in custom compute engines. The corvin.* core stays cryptographically locked — an extension can add a guardrail, never weaken one.

Community marketplace

Extend anything. Share it. Install it.

CorvinOS is a platform, not a product — you extend it by dropping files into a config tree. Seven extension surfaces, most hot-reloading on the next message, every event written to the hash-chained audit log. The corvin.* core stays cryptographically locked — an extension can add a guardrail, never weaken one. Everything the community builds lives in one open, MIT-licensed marketplace.

🔒 corvin.* LOCKED CORE 🎭 🔨 📜 🧮 🧱 🌉
🎭Personas

AI identities, tools & engine choice

🔨Forge Tools

Sandboxed, MCP-callable tools

📜Skills

Self-grading reasoning patterns

🧱Extension Layers

Custom Layer System bundles

🌉Bridge Adapters

New messaging channels

📦Workflow Packages

Signed .corvin-pkg bundles

🧮Agentic Computenew

Pluggable compute engines, Fabric backends & optimisation strategies

Browse the Marketplace on GitHub →
Platform features

Everything for production AI agents

From multi-channel messaging to runtime tool generation, CorvinOS ships production-grade infrastructure out of the box.

Seven Bridges

Native daemons for Discord, Telegram, WhatsApp, Slack, Email, Teams and Signal. Hot-reload settings, per-chat profiles, rate limiting.

Runtime Tool Generation

Forge generates schema-bound, sandboxed tools at runtime via MCP with a four-scope workspace hierarchy.

Runtime Skill Learning

SkillForge injects markdown skills into future turns, with automatic grading, promotion gates and an injection linter.

Multi-Engine Support

Swap between Claude Code, Codex, OpenCode, local Hermes/Ollama and GitHub Copilot — no bridge changes. Adaptive Haiku/Sonnet model selection built in.

Conversation Memory

FTS5 SQLite recall with PII-redacted indexing and GDPR Art. 17 erasure via /forget.

Databases & Data Sources

Register SQL and vector stores through the DSI protocol. The model queries them by name — raw rows never enter its context.

Browser Control

Drive a real Chromium — navigate, fill, click, read — while you watch live and approve sensitive actions. It acts by element index, not pixels; secrets come from the vault and never reach the model or the audit log.

Extensions & MCP

Install external MCP servers from the catalog, or ship vendor layers through the Extension API — scoped per project, tenant or user. The corvin.* core stays cryptographically locked; extensions add, never weaken.

Tamper-proof Audit

Every action — model call, tool run, message, browser click — lands on a hash-chained log that's verified daily. Metadata only: never transcript text, typed secrets or raw rows.

In practice

Nine ways it goes to work

The same runtime — bridges, voice, RAG, workflows, agentic compute, the data firewall and the A2A mesh — shows up very differently depending on who is asking. From one person on a laptop to a whole organization.

For individuals one person, self-hosted
One agent, every messenger

A personal assistant that lives in your chats

Talk to a single agent from Telegram, WhatsApp, Signal or the web — by text or voice. It carries your persona and profile across every channel, so it always sounds like your assistant.

Private RAG

Ask your own notes and files

Point retrieval at your documents and get grounded answers with sources. Everything is self-hosted on your own machine — no third-party inbox, no data handed to a SaaS.

Voice-first

Send a note, hear an answer

Fire off a voice message and get a spoken reply tuned to how you like to listen. Speech is transcribed locally by default and the audio is deleted the instant it returns.

For companies teams & growing businesses
Business data · plain language

Query your warehouse by asking

Connect the Postgres or Snowflake you already run. The team asks in plain language, the sandbox works on the real bytes, and only redacted, audited answers come back — raw rows never leave.

Workflows & packaging

Automate the recurring work

Design a multi-step AWP pipeline in guided natural language, run it on demand or on a schedule, and export the whole thing as one .awpkg to share or re-run.

Support that never leaks

Answer customers, grounded and logged

An agent handles your support channels, grounded in your own docs, with redaction always on and every action written to a hash-chained audit log you can actually verify.

For enterprise organizations & regulated industries
Organization mesh · A2A

Every team run on one fabric

Legal, support and data each run their own agent and delegate to one another over HMAC-signed envelopes — no hub, no central owner. Peers are scoped Observer or Executor.

In-house agentic compute

The whole org just asks the datacenter

A datacenter node runs 100-iteration sweeps, tuning and backtests over confidential data. Everyone sends a request and gets an answer back — the data stays put, the models stay idle while workers turn the crank.

Compliance & residency

Governed by construction, extensible by design

EU-AI-Act and GDPR controls are structural, local-only engines keep CONFIDENTIAL tenants zero-egress, and you extend through the Extension API and MCP — while the corvin.* core stays cryptographically locked.

Every bridge is a full control surface

Anything you can do in the console you can do from the messenger — pin a persona, run a workflow, kick off an agentic-compute sweep, query a database — by text or voice. CorvinOS meets your users where they already are.

Quick start

Install on
your platform

1
Pick your platformNative installers for macOS, Linux and Windows — no Python, Node or package manager required.
2
Run the installerA single command per platform — no Python, Node or package manager required.
3
Start chattingEvery configured bridge comes up automatically.
# macOS — no Python or package manager required
curl -fsSL https://corvin-labs.com/install.sh | sh
# Linux — no Python or package manager required
curl -fsSL https://corvin-labs.com/install.sh | sh
# Windows (PowerShell)
irm https://corvin-labs.com/install.ps1 | iex
Pricing

Start free. Unlock everything for €10.

Self-host the whole thing under Apache-2.0, forever. Upgrade only when you need to lift the limits.

Free
€0forever

Self-hosted & open source. Everything runs on your own infrastructure.

Clone on GitHub
  • All 7 messaging bridges
  • Hash-chained audit & full compliance
  • 1 tenant · 1 concurrent workflow
  • 1 RAG provider · 1 A2A peer
  • 1 compute unit / day · 1 Space domain
Member Most popular
€10/ device / month

Everything unlocked. No feature gates, no seat math. Cancel anytime.

Get Member
  • Everything in Free, unlimited
  • Unlimited tenants & concurrent workflows
  • Unlimited compute units
  • Unlimited RAG providers & A2A peers
  • Unlimited Space domains · cancel anytime
Enterprise
Custom

For organizations that need governance, residency and a support agreement.

Contact us
  • Everything in Member
  • SSO & multi-tenant governance
  • Data-residency & compliance-zone controls
  • Enterprise portal · roadmap
  • Priority support & SLAs

Own your agents.
From the first commit.

Open source under Apache-2.0. Star it, fork it, self-host it — no vendor lock-in, ever.