
Celle di esecuzione governate per agenti AI.
L'harness di governance open-source per agenti AI.
Applica policy vincolanti, approvazioni umane, esecuzione isolata, budget ed evidenze firmate attorno a qualsiasi agente AI. Runeward funziona con un agente o un framework multi-agente esistente, senza richiedere un nuovo modello o uno stack di orchestrazione.
Prerequisiti: un engine Docker/Podman in esecuzione e il binario runeward.
runeward quickstart
Il comando crea .runeward/quickstart.toml, verifica la policy, il runtime, l'immagine e il percorso
di stato, esegue un comando consentito, dimostra che un comando distruttivo viene negato prima
dell'esecuzione e verifica l'audit trail firmato. Non sovrascrive mai una policy esistente a meno
che non venga passato --force.
Anche doctor e la readiness della dashboard risolvono le fonti dei secret richieste. Una Charter
che fa riferimento a un valore env:// non impostato non viene presentata come pronta al lancio.
runeward doctor quickstart # spiega i problemi di configurazione in modo sicuro
runeward --config-dir .runeward serve # dashboard + API REST governata
runeward evidence export quickstart -o run.json
runeward evidence verify run.json # verifica indipendente di policy/audit
Ogni azione governata segue un unico percorso:
richiesta dell'agente → policy → approvazione umana quando richiesta → limiti → sandbox → evento di audit firmato
La documentazione e l'interfaccia utente usano prima i termini familiari. I percorsi API e i campi dei file esistenti mantengono i nomi tematici originali per compatibilità.
Vedi la convenzione completa di denominazione e scrittura.
Scegli il pacchetto che corrisponde a come usi Runeward:
Per il normale uso locale, installa la CLI con Homebrew. Per un'integrazione con un agente, installa anche l'SDK per il suo linguaggio. I pacchetti pip e npm si connettono a un'API Runeward in esecuzione; non sostituiscono la CLI/runtime.
Le sandbox locali richiedono un engine Docker, OrbStack o Podman in esecuzione.
brew install Runewardd/tap/runeward
runeward version
runeward quickstart
Richiede Python 3.9 o superiore. Il client di base non ha dipendenze runtime di terze parti.
python -m pip install runeward
python -c "import runeward; print(runeward.__version__)"
Richiede Node.js 18 o superiore.
npm install @runeward/sdk
npm ls @runeward/sdk
Vedi Adapters per le opzioni di installazione di LangChain, CrewAI, LlamaIndex, OpenAI Agents, Strands, Vercel AI SDK e LangChain.js.
L'installer firmato per macOS/Linux richiede
cosign così da poter fallire in
modo sicuro durante la verifica del manifest dei checksum. I binari Windows sono disponibili in
Releases.
curl -fsSL https://raw.githubusercontent.com/Runewardd/runeward/main/install.sh | sh
Per compilare il branch main corrente, usa Go 1.26.6:
git clone https://github.com/Runewardd/runeward
cd runeward
go build -o bin/runeward ./cmd/runeward
./bin/runeward version
Esponi strumenti governati a un IDE o agente compatibile con MCP:
{
"mcpServers": {
"runeward": {
"command": "runeward",
"args": ["mcp", "--config-dir", ".runeward"]
}
}
}
Oppure colloca una CLI di un agente dentro una sandbox ed esegui uno o più worker governati:
runeward cohort --agent claude --model sonnet build "Build a tested API"
Sono inclusi adapter per LangChain, CrewAI, LlamaIndex, OpenAI Agents, Strands, Vercel AI SDK e LangChain.js. Vedi Adapters e gruppi di agenti.
La dashboard dispone anche di un TTY Live chat in sola lettura per ogni Citadel. Gli harness
degli agenti pubblicano i turni user, assistant, tool e system con
runeward_publish_conversation (o gli equivalenti REST, Python e TypeScript), e i colleghi
autorizzati possono seguire la conversazione redatta senza accesso in input al terminale. Runeward
non può inferire il testo privato della chat dell'interfaccia che il client dell'agente non
pubblica; collega la chiamata di pubblicazione al callback del turno dell'harness. Il publisher
deve connettersi allo stesso control plane runeward serve della dashboard (tramite /mcp, REST o
un SDK).
Runeward è il confine di enforcement attorno a un agente, non il componente che decide come ragiona l'agente. Instrada le chiamate agli strumenti di un agente padre e di ogni subagente delegato attraverso Runeward per dare loro confini espliciti di policy, approvazione, isolamento, budget ed evidenze.
I concetti esistenti mantengono il loro significato: un Cohort è un gruppo di worker peer che condividono una task board; non viene rinominato in "subagents". L'orchestratore decide comunque quando delegare, mentre Runeward registra il lineage parent/run/provider e impedisce a un Citadel figlio di ampliare il tenant o la Charter del suo genitore. Ogni agente partecipante può ricevere il proprio Citadel e la propria Chronicle. Vedi Agent harnessing.
Le policy supportano regole glob integrate, CEL, OPA/Rego e bundle OCI firmati. Testale in CI, parti da uno scaffold revisionato o deriva proposte esatte da evidenze di produzione verificate:
runeward policy scaffold package-approval
runeward policy test quickstart --case 'tool=shell,action=rm -rf /,expect=deny'
runeward policy learn run.json > proposed-policy.toml
policy learn non modifica mai automaticamente una policy. Verifica prima le evidenze, salta le
azioni redatte, produce corrispondenze esatte e richiede che una persona le revisioni e le ampli.
--allow-insecure-http riconosca esplicitamente
che un reverse proxy fidato termina il TLS.RUNEWARD_ENABLE_EXPERIMENTAL_BROWSER=1 dopo aver esaminato il
modello di sicurezza. Le Charter abilitate al browser dichiarano
capabilities = ["browser"]; la dashboard espone quindi azioni governate di testo renderizzato e
screenshot e i relativi risultati di policy/egress.RUNEWARD_ENABLE_EXPERIMENTAL_IDE=1, Charter [ide], target Dockerfile.ide
ide / ide-agents, esempi ide-demo / / / .
Limiti: nessuna policy per singolo tasto; nessuna GUI di Cursor/Claude Desktop/Codex in-cell;
nessun GitHub Copilot di prima classe su code-server. Vedi e il
.I contributi sono benvenuti; vedi CONTRIBUTING.md. Con licenza Apache 2.0.
| Aspetto | Solo container | Runeward |
|---|
| Chiamate agli strumenti | Esegue ciò che il processo richiede | Verifica prima ogni azione su shell, codice, file, rete e browser |
| Azioni rischiose | Specifiche dell'applicazione | allow, deny o require-approval con una decisione attribuita |
| Rete | Di solito aperta se non configurata separatamente | Policy hostname deny-by-default; enforcement L3 rigoroso su Kubernetes |
| Limiti | CPU/memoria | Budget di wall-clock, exec, egress, token, costo e retry-loop |
| Audit | Log del runtime | Eventi append-only, hash-chained e firmati con Ed25519 |
| Handoff | Log e cartelle ad-hoc | Tar del workspace, snapshot di recovery ed evidenze JSON firmate portabili |
| Identità dell'agente | Un processo opaco | Tenant, attore, run padre, provider, modello e lineage di run durevole |
| Interfacce | Specifiche del runtime | CLI, REST, MCP, dashboard web, CRD Kubernetes e adapter SDK locali |
| Termine in linguaggio comune | Nome Runeward | Superficie esistente |
|---|
| Sandbox | Citadel | /v1/citadels, Kubernetes Citadel |
| File/profilo di policy | Charter | /v1/charters, profilo *.toml |
| Approvazioni | Conclave | /v1/conclave |
| Audit trail firmato | Chronicle | /v1/chronicle, [chronicle] |
| Controlli di rete | Perimeter | /perimeter, [network] |
| Budget e limiti | Rationing | [rationing] |
| Gruppo/flotta di agenti | Cohort | /v1/cohorts, [cohort] |
| Installa con | Cosa installa | Comando |
|---|
| Homebrew | CLI Runeward per macOS o Linux | brew install Runewardd/tap/runeward |
| PyPI | Client Python e adapter per framework di agenti | python -m pip install runeward |
| npm | Client TypeScript e strumenti per framework di agenti | npm install @runeward/sdk |
ide-claudeide-codexide-cursor