
ironclaw ironclaw-v1.1.0
Seguro, sistema operacional privado de agente de IA com armazenamento criptografado local, autenticação OAuth/SSO, controle de acesso baseado em políticas e estrutura extensível de criação de ferramentas para implantações pessoais e de produção.
IronClaw
Seu assistente pessoal de IA seguro, sempre ao seu lado
Inglês | 简体中文 | Русский | 日本語 | 한국어
Início Rápido do Reborn • Filosofia • Funcionalidades • Instalação • Configuração • Segurança • Arquitetura
IronClaw Reborn Início Rápido
IronClaw Reborn é o runtime independente no branch reborn-integration.
Ele usa o binário separado ironclaw-reborn do pacote
ironclaw_reborn_cli e uma raiz de estado separada do Reborn. Ele não usa
o diretório de estado legado ironclaw como sua raiz de configuração.
Para o binário ironclaw mais antigo, veja Instalação e
Uso Legado do IronClaw.
Construir ou executar o binário
A partir da raiz do repositório:```bash cargo run -q -p ironclaw_reborn_cli --bin ironclaw-reborn -- --help
Ou construa-o primeiro:```bash
cargo build -p ironclaw_reborn_cli --bin ironclaw-reborn
./target/debug/ironclaw-reborn --help
A home padrão do Reborn é $HOME/.ironclaw/reborn. Substitua-o por um caminho absoluto quando quiser um estado isolado:```bash
export IRONCLAW_REBORN_HOME="$PWD/.reborn-home"
cargo run -q -p ironclaw_reborn_cli --bin ironclaw-reborn -- config path
`config path` and `doctor` são diagnósticos seguros; eles relatam o home resolvido, perfil, `config.toml`, `providers.json` e `v1_state: not-used`.
Eles não criam estado do Reborn nem arquivos de configuração seed.
### Configurar a rota do modelo
A maneira nativa da CLI de configurar a rota padrão do modelo do Reborn é:```bash
export IRONCLAW_REBORN_HOME="$PWD/.reborn-home"
cargo run -q -p ironclaw_reborn_cli --bin ironclaw-reborn -- models set-provider openai --model gpt-5-mini
Isso escreve $IRONCLAW_REBORN_HOME/config.toml com [llm.default] e o nome da env-var da credencial do provedor. Verifique com:```bash
cargo run -q -p ironclaw_reborn_cli --bin ironclaw-reborn -- models status
cargo run -q -p ironclaw_reborn_cli --bin ironclaw-reborn -- models list openai
Para OpenAI, defina o valor secreto no ambiente antes de começar:```bash
export OPENAI_API_KEY="sk-..."
cargo run -q -p ironclaw_reborn_cli --bin ironclaw-reborn -- run --message "hello"
Omita --message ou use repl para uma sessão interativa de stdin:```bash
cargo run -q -p ironclaw_reborn_cli --bin ironclaw-reborn -- repl
### Forma do `config.toml`
`config init` cria arquivos iniciais editáveis:```bash
cargo run -q -p ironclaw_reborn_cli --bin ironclaw-reborn -- config init
Ele escreve:
$IRONCLAW_REBORN_HOME/config.toml$IRONCLAW_REBORN_HOME/providers.json
Uma rota de modelo minimamente configurada se parece com:```toml [llm.default] provider_id = "openai" model = "gpt-5-mini" api_key_env = "OPENAI_API_KEY"
`config.toml` pode também incluir secções opcionais como `[boot]`,
`[identity]`, `[runner]` e `[skills]`; `config init` escreve orientação comentada para os campos suportados.
Se `config.toml` faltar, a primeira inicialização do runtime stateful através de `run`,
`repl` ou `serve` cria um ficheiro esparso com `api_version` e o perfil de boot seguro
`local-dev`. Comandos só de leitura e `run --dry-run` permanecem sem efeitos colaterais. Seleções de ambiente avulsas como
`IRONCLAW_REBORN_PROFILE=local-dev-yolo` não são persistidas no ficheiro criado.
Importante: `api_key_env` é o nome de uma variável de ambiente, não o segredo
em si. Reborn rejeita valores com forma de segredo inline no `config.toml` e
`providers.json`.
O armazenamento de produção usa o mesmo padrão exclusivo de env. Uma configuração de produção do Reborn
pode nomear a variável URL do PostgreSQL, mas não deve conter a URL em bruto:```toml
[storage]
backend = "postgres"
url_env = "IRONCLAW_REBORN_POSTGRES_URL"
secret_master_key_env = "IRONCLAW_REBORN_SECRET_MASTER_KEY"
# Optional; defaults to 2. Keep below the PostgreSQL server or managed
# session-pool cap after reserving capacity for restarts and operator sessions.
pool_max_size = 2
[policy]
deployment_mode = "hosted_multi_tenant"
default_profile = "secure_default"
Definir IRONCLAW_REBORN_POSTGRES_URL no ambiente do processo e definir IRONCLAW_REBORN_SECRET_MASTER_KEY como material de chave criptográfica independente. Provedores PostgreSQL remotos gerenciados devem usar TLS, por exemplo, anexando sslmode=require. A execução de produção (run) também requer uma seção [policy] explícita. O primeiro bloco de inicialização de produção suporta políticas de tempo de execução que não exigem uma vinculação de processo de sandbox de locatário.
Assim que [llm.default] existir, essa configuração seleciona o provedor. LLM_BACKEND é apenas um fallback de ambiente quando nenhum slot LLM padrão está configurado. Para trocar de provedor após escrever a configuração, use models set-provider <provedor> ou edite [llm.default].provider_id.
Seleção de modelo apenas por ambiente
Se $IRONCLAW_REBORN_HOME/config.toml estiver ausente ou não tiver [llm.default], o Reborn pode resolver o LLM a partir de variáveis de ambiente. Uma configuração inicial esparsa não inclui [llm.default], portanto a seleção de modelo apenas por ambiente continua funcionando:```bash
export IRONCLAW_REBORN_HOME="$PWD/.reborn-env-only"
export LLM_BACKEND=openai
export OPENAI_API_KEY="sk-..."
cargo run -q -p ironclaw_reborn_cli --bin ironclaw-reborn -- run --message "hello"
Common provider env vars:
| Provider | Selector | Required env |
| --- | --- | --- |
| OpenAI | `LLM_BACKEND=openai` | `OPENAI_API_KEY`; opcional `OPENAI_MODEL`, `OPENAI_BASE_URL` |
| Anthropic | `LLM_BACKEND=anthropic` | `ANTHROPIC_API_KEY`; opcional `ANTHROPIC_MODEL`, `ANTHROPIC_BASE_URL` |
| OpenAI-compatible | `LLM_BACKEND=openai_compatible` | `LLM_BASE_URL`; opcional `LLM_API_KEY`, `LLM_MODEL` |
| OpenRouter | `LLM_BACKEND=openrouter` | `OPENROUTER_API_KEY`; opcional `OPENROUTER_MODEL` |
| Ollama | `LLM_BACKEND=ollama` | nenhuma chave; opcional `OLLAMA_BASE_URL`, `OLLAMA_MODEL` |
| Codex auth | `LLM_BACKEND=openai_codex` | `LLM_USE_CODEX_AUTH=true` ou `CODEX_AUTH_PATH`; opcional `OPENAI_CODEX_MODEL` |
Use `models list <provider>` para ver os metadados exatos do provedor compilados no branch atual.
### Variáveis de inicialização