
nono v0.71.0
Metti in sandbox qualsiasi agente AI in secondi - zero configurazione, zero latenza.
Creato dal team che ti ha portato
Sigstore
Lo standard per l'attestazione sicura del software, usato da PyPI, npm, brew e Maven Central
[!NOTE] In vista di una release 1.0, le API si stanno stabilizzando. Potrebbero ancora verificarsi modifiche alle API dove necessario, ma saranno mantenute al minimo.
[!IMPORTANT] Migrazione dell'organizzazione: il namespace ufficiale del registry nono è passato da
always-furtheranolabs-ai. Aggiorna tutti i riferimenti nei tuoi script, profili e CI. Se hai già un pack installato sotto il vecchio namespace, rimuovilo prima di scaricare quello nuovo:nono remove always-further/claude nono pull nolabs-ai/claudeIl vecchio namespace verrà ritirato — migra ora.
Esegui agenti AI in una sandbox a latenza zero in pochi secondi e con zero configurazione — Claude Code, Codex, Pi, CoPilot, Hermes, OpenCode, OpenClaw e altro — nono ti fa partire in pochi secondi, senza demone, senza container, senza VM e senza utilizzo di spazio su disco. Fin da subito, nono applica una sandbox a privilegi minimi e supporta macOS, Linux e Windows (WSL2).
Da qui fai un fork della configurazione, personalizzala, tematizzala, rendila tua e condividila con il tuo team o con la community tramite il registry nono.
Vuoi operazionalizzare ed eseguire su larga scala o all'interno del tuo team? Gli ingegneri di alcune delle più grandi aziende tecnologiche al mondo usano nono nei loro flussi di lavoro o per eseguire agenti AI in produzione.
Copiato da molti — nono ha fatto da pioniere nella sandbox per agenti a latenza zero e zero configurazione, e continua a innovare e a guidare la strada nel sandboxing degli agenti.
Avvio rapido
curl
curl -fsSL https://nono.sh/install.sh | sh
macOS / Linux (Homebrew)
brew install nono
Altre piattaforme — Debian/Ubuntu, Fedora, Arch, RHEL, openSUSE, WSL2 e Nix: consulta le istruzioni di installazione.
Eseguilo!
Cerca un agente nel registry, poi eseguilo:
$ nono search opencode
nolabs-ai/opencode - Official Opencode Plugin
$ nono run --profile nolabs-ai/opencode -- opencode
Tutto qui. opencode ora gira con accesso in lettura/scrittura alla directory corrente e nient'altro — le tue chiavi SSH, le tue credenziali cloud, il resto del tuo disco sono invisibili per esso.
I profili per tutti gli agenti più popolari sono disponibili su registry.nono.sh, protetti e pronti da scaricare. Ognuno include il giusto ambito del filesystem, allowlist di rete, hook, skill e altro.
Rendi tutto tuo!
I valori predefiniti non bastano più? Genera uno scaffold di un profilo e personalizzalo — lo stesso comando che già conosci:
nono profile init opencode --extends nolabs-ai/opencode
nono run --profile opencode -- opencode
nono profile init esporta un file di profilo esteso e modificabile per il tuo agente, che eredita dal profilo di base specificato. Quel profilo è JSON componibile, così puoi rivedere l'esatto filesystem, la rete, le credenziali e le regole degli strumenti prima di condividerlo con un team o pubblicarlo per la community.
Sei uno sviluppatore di agenti e vuoi pubblicare il tuo pacchetto agente? Ci farebbe piacere averti con noi e promuovere il tuo lavoro! Consulta i documenti.
Metti in sandbox gli strumenti che gli agenti chiamano
nono non si ferma a "mettere l'agente in una sandbox". Gli agenti delegano lavoro reale agli strumenti: git, gh, curl, kubectl, gestori di pacchetti, script di build, client/server MCP e qualsiasi altra cosa sia su PATH. Sono spesso proprio questi strumenti il punto in cui emergono segreti, accesso alla rete ed effetti collaterali. La maggior parte delle sandbox si limita a dare all'agente una politica generalizzata in cui un segreto è disponibile universalmente all'intero agente e a ogni strumento, ma nono è diverso:
nono può mettere gli strumenti delegati in sandbox figlie isolate, fuori dal controllo dell'agente. L'agente riceve la sua sandbox di sessione; quando chiama uno strumento controllato, il broker di nono avvia quello strumento con una politica separata, concessioni filesystem separate, regole di rete separate e credenziali separate. Lo strumento non eredita le ampie concessioni --allow dell'agente, l'accesso alla CWD, i percorsi grezzi delle credenziali o l'accesso alla rete, a meno che la sua politica non lo preveda.
Ciò significa che un profilo può esprimere regole come:
- l'agente può chiamare
git, magitriceve solo la repo, i file di configurazione Git attendibili e l'object store di Git - l'agente può chiamare
gh, maghriceve un token GitHub solo tramite il proxy delle credenziali di nono - quel token può essere usato solo su metodi e percorsi selezionati dell'API GitHub tramite filtraggio L7
gitpuò chiamaresshsotto una politica a catena, mentre l'sshdiretto dall'agente resta negato
La politica vive nel profilo, non nel prompt. L'agente può richiedere uno strumento, ma non può allargare la sandbox di quello strumento, creare nuove chiavi o bypassare la politica degli endpoint dall'interno della sessione.
{
"command_policies": {
"credentials": {
"github-api": {
"type": "proxy",
"upstream": "https://api.github.com",
"credential_key": "keyring://gh:github.com/example?decode=go-keyring",
"env_var": "GH_TOKEN",
"inject_header": "Authorization",
"credential_format": "Bearer {}"
}
},
"commands": {
"gh": {
"from": {
"session": {
"sandbox": {
"fs_read": ["."],
"credentials": [
{
"name": "github-api",
"endpoint_policy": {
"default": "deny",
"allow": [
{ "method": "GET", "path": "/repos/nolabs-ai/nono/issues/**" }
]
}
}
]
},
"invocation_policy": {
"default": "deny",
"allow": [
{ "argv": { "prefix": ["issue", "list"] } },
{ "argv": { "prefix": ["issue", "view"] } }
]
}
}
}
}
}
}
}
Leggi di più in Esecuzione di strumenti in sandbox.
Pronto ad andare in profondità?
Vai ai documenti e scopri il ricco sistema di policy componibili di nono, l'iniezione delle credenziali, il filtraggio L7, la sicurezza della supply chain, il rollback, il multiplexing, l'audit e altro.
Supporto per le librerie
nono fornisce binding FFI per Rust, Python, TypeScript e Go.
Disponibili anche come binding Python, TypeScript e Go.
Contribuire
Incoraggiamo l'uso di strumenti AI per contribuire. Tuttavia, devi comprendere e rivedere attentamente qualsiasi codice generato dall'AI prima di inviarlo. La sicurezza è fondamentale. Se non capisci come funziona una modifica, chiedi prima su Discord.
Sicurezza
Se scopri una vulnerabilità di sicurezza, per favore non aprire una segnalazione pubblica. Segui il processo descritto nella nostra Security Policy.
Licenza
Apache-2.0