Pular para o conteudo principal

Modo não interativo

O modo não interativo executa um único prompt e sai. Use quando quiser que o IaC Code produza uma saída para uma tarefa repetível sem permanecer no REPL.

Use --prompt para passar o prompt diretamente:

iac-code --prompt "Create an OSS Bucket"

Use --prompt - para ler o prompt da entrada padrão:

echo "Create a VPC and two ECS instances" | iac-code --prompt -

Use --output-format quando o chamador precisa de saída estruturada:

iac-code --prompt "Create an OSS Bucket" --output-format json

Use --max-turns para limitar quanto tempo o agente pode trabalhar:

iac-code --prompt "Create a VPC" --max-turns 20

Os formatos de saída suportados são:

FormatoFinalidade
textSaída legível para humanos. Este é o padrão.
jsonUm único resultado JSON para chamadores que analisam a resposta final.
stream-jsonEventos JSON em streaming para chamadores que processam progresso incremental.

Backups de sessão

Quando IAC_CODE_CONFIG_BACKUP_DIR está definido, execuções não interativas espelham a sessão v2 em checkpoints importantes. O checkpoint comum de fim de turno usa normal_turn_end; uma falha de backup nesse ponto é registrada como warning e gravada em .backup-state.json, sem falhar a resposta concluída nem adicionar um campo warning à saída final. O modo Pipeline tem seus próprios gates de backup crítico.

Controle de permissões na automação

Ao executar em modo não interativo, use --permission-mode para controlar como o agente lida com aprovações de ferramentas:

iac-code --prompt "Deploy the stack" --permission-mode bypass_permissions

Em bypass_permissions, ações de ferramentas são aprovadas automaticamente exceto verificações de segurança, mas toda decisão allow que exige um registro de auditoria ainda falha de forma fechada se a persistência de auditoria falhar. APIs de escrita Alibaba Cloud continuam protegidas separadamente fora de bypass_permissions; para uma automação confiável mais restrita, não use bypass_permissions e permita explicitamente cada API de escrita necessária:

iac-code --prompt "Deploy the stack" \
--allowed-tools 'aliyun_api(ros:CreateStack)' \
--permission-mode dont_ask

Para restringir o que o agente pode fazer, combine --allowed-tools e --disallowed-tools:

iac-code --prompt "Check the stack status" \
--allowed-tools 'bash(git *),bash(ls:*)' \
--disallowed-tools 'bash(rm *)' \
--permission-mode dont_ask

Para todos os parâmetros de inicialização, consulte Opções de linha de comando.