
Células de execução governadas para agentes de IA.
O harness de governança de código aberto para agentes de IA.
Coloque políticas aplicáveis, aprovações humanas, execução isolada, orçamentos e evidências assinadas em torno de qualquer agente de IA. O Runeward funciona com um agente ou framework multiagente existente, em vez de exigir um novo modelo ou pilha de orquestração.
Pré-requisitos: um motor Docker/Podman em execução e o binário runeward.
runeward quickstart
O comando cria .runeward/quickstart.toml, verifica a política, o runtime, a imagem e o caminho de
estado, executa um comando permitido, comprova que um comando destrutivo é negado antes da execução
e verifica a trilha de auditoria assinada. Ele nunca sobrescreve uma política existente, a menos que
--force seja passado.
doctor e a prontidão do dashboard também resolvem as fontes de segredos necessárias. Um Charter que
referencia um valor env:// não definido não é apresentado como pronto para lançamento.
runeward doctor quickstart # explica problemas de configuração com segurança
runeward --config-dir .runeward serve # dashboard + API REST governada
runeward evidence export quickstart -o run.json
runeward evidence verify run.json # verificação independente de política/auditoria
Toda ação governada segue um único caminho:
solicitação do agente → política → aprovação humana quando necessária → limites → sandbox → evento de auditoria assinado
A documentação e a interface usam primeiro termos familiares. Os caminhos de API e campos de arquivo existentes mantêm os nomes temáticos originais por compatibilidade.
Veja a convenção completa de nomenclatura e escrita.
Escolha o pacote que corresponde à forma como você usa o Runeward:
Para uso local normal, instale a CLI com o Homebrew. Para uma integração de agente, instale também o SDK da linguagem correspondente. Os pacotes pip e npm se conectam a uma API do Runeward em execução; eles não substituem a CLI/runtime.
Sandboxes locais exigem um motor Docker, OrbStack ou Podman em execução.
brew install Runewardd/tap/runeward
runeward version
runeward quickstart
Requer Python 3.9 ou mais recente. O cliente base não tem dependências de runtime de terceiros.
python -m pip install runeward
python -c "import runeward; print(runeward.__version__)"
Requer Node.js 18 ou mais recente.
npm install @runeward/sdk
npm ls @runeward/sdk
Veja Adapters para opções de instalação de LangChain, CrewAI, LlamaIndex, OpenAI Agents, Strands, Vercel AI SDK e LangChain.js.
O instalador assinado para macOS/Linux requer
cosign para que possa falhar de
forma segura ao verificar o manifesto de checksums. Binários para Windows estão disponíveis em
Releases.
curl -fsSL https://raw.githubusercontent.com/Runewardd/runeward/main/install.sh | sh
Para compilar o branch main atual, use Go 1.26.6:
git clone https://github.com/Runewardd/runeward
cd runeward
go build -o bin/runeward ./cmd/runeward
./bin/runeward version
Exponha ferramentas governadas para uma IDE ou agente compatível com MCP:
{
"mcpServers": {
"runeward": {
"command": "runeward",
"args": ["mcp", "--config-dir", ".runeward"]
}
}
}
Ou coloque uma CLI de agente dentro de um sandbox e execute um ou vários workers governados:
runeward cohort --agent claude --model sonnet build "Build a tested API"
Adaptadores estão incluídos para LangChain, CrewAI, LlamaIndex, OpenAI Agents, Strands, Vercel AI SDK e LangChain.js. Veja Adapters e grupos de agentes.
O dashboard também tem um TTY Live chat somente leitura para cada Citadel. Harnesses de agentes
publicam turnos user, assistant, tool e system com runeward_publish_conversation (ou os
equivalentes REST, Python e TypeScript), e colegas autorizados podem acompanhar a conversa
redigida sem acesso de entrada ao terminal. O Runeward não consegue inferir texto de chat privado
da interface que o cliente do agente não publica; conecte a chamada de publicação ao callback de
turno do harness. O publicador deve se conectar ao mesmo plano de controle runeward serve que o
dashboard (por meio de /mcp, REST ou um SDK).
O Runeward é a fronteira de aplicação em torno de um agente, não o componente que decide como o agente raciocina. Encaminhe as chamadas de ferramentas de um agente pai e de cada subagente delegado pelo Runeward para dar a eles fronteiras explícitas de política, aprovação, isolamento, orçamento e evidências.
Os conceitos existentes mantêm seu significado: um Cohort é um grupo de workers pares que compartilham um quadro de tarefas; ele não está sendo renomeado para "subagentes". O orquestrador ainda decide quando delegar, enquanto o Runeward registra a linhagem pai/execução/provedor e impede que um Citadel filho amplie o tenant ou o Charter de seu pai. Cada agente participante pode receber seu próprio Citadel e Chronicle. Veja Agent harnessing.
As políticas suportam regras glob integradas, CEL, OPA/Rego e bundles OCI assinados. Teste-as em CI, comece a partir de um scaffold revisado ou derive propostas exatas a partir de evidências de produção verificadas:
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 nunca edita uma política automaticamente. Ele verifica primeiro as evidências, ignora
ações redigidas, produz correspondências exatas e exige que um humano as revise e amplie.
--allow-insecure-http reconheça explicitamente
que um proxy reverso confiável termina o TLS.RUNEWARD_ENABLE_EXPERIMENTAL_BROWSER=1 após revisar o
modelo de segurança. Charters com capacidade de navegador declaram
capabilities = ["browser"]; o dashboard então expõe ações governadas de texto renderizado e
captura de tela e seus resultados de política/egress.RUNEWARD_ENABLE_EXPERIMENTAL_IDE=1, Charter [ide], alvos ide / ide-agents do
Dockerfile.ide, exemplos ide-demo / / / .
Limitações: sem política por tecla digitada; sem GUIs do Cursor/Claude Desktop/Codex in-cell; sem
GitHub Copilot de primeira classe no code-server. Veja e o
.Contribuições são bem-vindas; veja CONTRIBUTING.md. Licenciado sob Apache 2.0.
| Preocupação | Apenas o contêiner | Runeward |
|---|
| Chamadas de ferramentas | Executa o que o processo solicita | Verifica primeiro cada ação de shell, código, arquivo, rede e navegador |
| Ações de risco | Específicas da aplicação | allow, deny ou require-approval com uma decisão atribuída |
| Rede | Geralmente aberta, a menos que configurada separadamente | Política de hostname com negação por padrão; aplicação estrita de L3 no Kubernetes |
| Limites | CPU/memória | Orçamentos de tempo de parede, exec, egress, tokens, custo e loops de repetição |
| Auditoria | Logs do runtime | Eventos somente-anexação, encadeados por hash e assinados com Ed25519 |
| Transferência | Logs e pastas ad-hoc | Tar do workspace, snapshots de recuperação e JSON de evidências assinadas portátil |
| Identidade do agente | Um processo opaco | Tenant, ator, execução pai, provedor, modelo e linhagem de execução durável |
| Interfaces | Específicas do runtime | CLI, REST, MCP, dashboard web, CRDs do Kubernetes e adaptadores de SDK locais |
| Termo em linguagem simples | Nome no Runeward | Superfície existente |
|---|
| Sandbox | Citadel | /v1/citadels, Kubernetes Citadel |
| Arquivo/perfil de política | Charter | /v1/charters, perfil *.toml |
| Aprovações | Conclave | /v1/conclave |
| Trilha de auditoria assinada | Chronicle | /v1/chronicle, [chronicle] |
| Controles de rede | Perimeter | /perimeter, [network] |
| Orçamentos e limites | Rationing | [rationing] |
| Grupo/frota de agentes | Cohort | /v1/cohorts, [cohort] |
| Instale com | O que instala | Comando |
|---|
| Homebrew | CLI do Runeward para macOS ou Linux | brew install Runewardd/tap/runeward |
| PyPI | Cliente Python e adaptadores de frameworks de agentes | python -m pip install runeward |
| npm | Cliente TypeScript e ferramentas de frameworks de agentes | npm install @runeward/sdk |
ide-claudeide-codexide-cursor