autodev sem comando nunca abre uma UI de terminal: o painel do VS Code é a única interface. O autodev sem comando é texto, e retoma o que uma reinicialização ou uma falha deixou para trás:
Uma execução que morreu com trabalho pendente é iniciada de novo sob o seu supervisor. Uma pausa deliberada, uma execução ociosa e uma execução concluída nunca são reiniciadas.
Um servidor web que estava rodando separado (autodev serve --daemon) é iniciado de novo.
Depois imprime o status da execução desta pasta e termina com Use autodev send <message> to start work.
Inicia a execução deste projeto, ou a retoma. Imprime Thread run started or already running. Não aceita argumentos nem flags: o que a execução faz vem de autodev send. Iniciar é uma intenção de continuar, então ele limpa um pedido de pausa que tenha ficado para trás.
Imprime o estado da execução: o projeto, o status, se o daemon está vivo, a tarefa atual, a iteração, o custo estimado, o último heartbeat (marcado com (stalled?) quando uma execução ativa fica 40 minutos em silêncio), quando a execução retoma, se o servidor web está no ar e, numa execução que espera, o que ela espera. --json imprime o envelope de estado legível por máquina (Command v1 StateSubset) em vez de texto.
Acompanha a atividade ao vivo do daemon e volta quando a execução termina. Ctrl+C só desconecta, e o daemon continua rodando. watch é um alias de attach. --json emite Envelope v1 NDJSON (RelayEnvelope) em vez de texto para pessoas.
Imprime a thread compartilhada: quem disse o quê, do mais antigo ao mais novo. Uma mensagem sua que nenhuma execução leu ainda aparece no fim como Queued for next run.
O que rodou durante a noite: trabalho feito, o que travou, cota gasta, o que precisa de você. --hours <n> define a janela do relatório em horas, e o padrão é 12. --json emite o modelo de visualização como JSON em vez de texto.
A capacidade da assinatura usada, deixada ociosa e convertida em commits. --days <n> define o período do relatório em dias, e o padrão é 7. --series imprime buckets por dia e por provider em vez dos totais do período. --json emite o modelo de visualização como JSON em vez de texto.
Posta uma mensagem na thread compartilhada. A primeira mensagem é o objetivo, e cada uma das seguintes conduz a execução. Cada mensagem também é escrita em .autodev/goal.md, sob um título com a hora, então o objetivo é um arquivo que você pode editar. Várias palavras são juntadas em uma única mensagem.
Se nenhuma execução está viva, send inicia uma e imprime Message sent; run started. Se há uma execução viva, ele enfileira a mensagem para ela e imprime Message queued.
Um projeto só roda quando tem um time que esta máquina confirmou. Antes disso, send imprime set up the team before sending a message e sai com código 1; autodev team monta um time. Uma mensagem vazia é recusada.
Flag
Padrão
O que faz
--image <file>
nenhum
Anexa uma imagem à mensagem. Repita a flag para mais, até 6 imagens de no máximo 8 MB cada. Só arquivos de imagem são aceitos.
Responde a um aviso: uma mensagem que um participante deixou para você enquanto a execução seguia. A resposta chega a esse participante em um turno posterior, e ela levanta a retenção que o aviso pôs sobre uma capacidade, a menos que você tenha segurado o aviso. O id é o que está em notices.json, n- seguido de oito dígitos hexadecimais. Com um id que nenhum aviso tem, imprime No notice with id <id>. e sai com código 1. O painel responde a um aviso sem pedir o id.
Muda um aviso sem respondê-lo. hold mantém o aviso aberto, e mantém suspensa a capacidade que ele suspendeu, até você liberá-lo: uma resposta ou uma mensagem sua deixam de soltá-lo. release encerra a retenção e levanta a suspensão. dismiss fecha o aviso sem resposta. Cada um imprime Notice updated., e um id desconhecido imprime No notice with id <id>. e sai com código 1.
Mata à força a árvore de processos do daemon, fecha o navegador que a execução manteve aberto e volta o estado para ocioso. Ele diz qual de duas coisas aconteceu: encerrou um daemon em execução e o agente que ele tinha iniciado, e o que estava inacabado pode ter ficado pela metade na árvore de trabalho; ou nada estava rodando, e ele limpou o estado que tinha sobrado.
Aprova o gate pendente de ação irreversível e inicia o daemon de novo, para que a ação seja executada. Ele se recusa, e diz por quê, quando não há gate pendente, quando a execução não está esperando no gate, ou quando uma mensagem sua está na fila e pode retirar o gate.
Recomeça do zero. Arquiva as sessões, a thread, os eventos e o estado da execução concluída, e limpa goal.md e memory.md, para que a próxima execução não retome a conversa da noite anterior. Uma cópia de cada um dos dois arquivos vai para o arquivo antes, e os participantes ficam intactos. O arquivo é uma pasta com o nome do dia, .run-YYYY-MM-DD, ao lado do estado da execução nesta máquina, e new-run imprime onde ela está.
Como esvazia dois arquivos que você escreveu, ele avisa e pergunta Start a new run? antes de mover qualquer coisa. --yes pula a pergunta. Ele se recusa enquanto um daemon está rodando e aponta para autodev stop. Quando terminar, escreva o novo objetivo com autodev send.
Imprime Team: e o seu estado, depois uma linha por participante: o id, o provider, e o modelo e o esforço, cada um mostrado como default quando não está definido. O estado é ready para um time que esta máquina confirmou, confirm para um time que veio com o projeto e ainda não foi confirmado aqui, use_default quando não há time e existe um time padrão nesta máquina, e setup quando ainda não há nada.
Adiciona um participante que roda em um provider. claude, codex e antigravity são os que o AutoDev conduz hoje. O id é o nome do provider, ou claude-2, claude-3 quando o nome já está em uso. Ele começa sem fixação, no modelo padrão do provider. Imprime o id e confirma o time nesta máquina.
Renomeia um participante. A conversa dele acompanha o novo nome. É recusado enquanto esse participante está em um turno. O agendador desempata em ordem alfabética, então o nome também decide quem abre uma thread.
autodev team pin <id> [--model <model>] [--effort <effort>]
Fixa o modelo e o esforço de um participante, escritos no arquivo dele. Nenhum dos dois é conferido contra uma lista, porque os providers acrescentam valores próprios. Ele recusa um id que não está no time.
Confirma o time nesta máquina. Um time que veio com o projeto não roda até você confirmar, porque um arquivo de participante vira flags e instruções para uma CLI. Imprime Team confirmed.
autodev team default use
autodev team default save
O time padrão pertence a esta máquina e é o time de que um projeto novo parte. O primeiro time que você monta é salvo como padrão sozinho; depois disso só save o muda. use copia o time padrão para este projeto e o confirma. save salva o time deste projeto como o padrão.
autodev team template
autodev team template <name> [--provider <id=cli>]... [--yes]
Sem nome, lista os modelos: solo (um participante, builder), builder-reviewer (um construtor e um revisor que confere cada mudança) e manager-builder-reviewer (um gerente que atribui blocos, um construtor e um revisor). Com um nome, aplica um: escreve os participantes do modelo, remove os outros participantes do projeto e confirma o time.
--provider <id>=<cli> define a CLI de um participante do modelo, e pode ser repetida. Um id que não está no modelo é um erro. Se o projeto já tem participantes, o comando lista os arquivos que substituiria e pede --yes. É recusado enquanto um participante está em um turno.
autodev providers
autodev providers use <provider> <binPath>
Lista as CLIs de agente adotadas nesta máquina, uma por linha como name: path, com PATH quando a CLI é encontrada no PATH. Sem nenhuma, imprime No providers adopted on this machine.use registra o binário a executar para um provider, para uma CLI instalada fora do PATH. O login continua com a CLI do próprio provider: o AutoDev nunca pede nem guarda uma credencial.
Sem id, lista os checkpoints do AutoDev. Com um id, volta o código para aquele checkpoint e imprime onde ele chegou, e a branch que guardou o trabalho de que ele se afastou, quando há uma.
Ele se recusa enquanto um daemon está rodando, imprime Stop the run before restoring — restore resets the project tree. e sai com código 1.
Lista todo projeto do AutoDev nesta máquina. forget <path> tira um do índice de workspaces. Qualquer outra ação, ou forget sem caminho, imprime um erro e sai com código 1.
Estes comandos leem os arquivos que o AutoDev guarda de um projeto. As chaves, os padrões e as variáveis de ambiente de config têm página própria, Todas as chaves de configuração.
Vê ou muda as configurações da execução. Sem subcomando, imprime cada chave com o valor efetivo e de onde ele vem: uma variável de ambiente, o arquivo de configuração ou o padrão. set grava um valor e unset o remove. Algumas chaves pertencem à máquina e vão para ~/.autodev/config.json; as demais vão para o .autodev/config.json do projeto. set nunca imprime um valor secreto: imprime (hidden) no lugar.
Abre o perfil de navegador próprio do AutoDev, visível, numa página de login. Entre uma vez e o login permanece para todas as execuções seguintes. As ferramentas de navegador usam esse perfil, que é separado do seu navegador do dia a dia. O endereço precisa ser uma URL completa, com http:// ou https://.
Se uma execução tem esse navegador aberto e visível, a página abre numa nova aba dele, e você fecha a aba depois do login. Se a execução o mantém oculto, não há janela onde entrar, e o comando diz para entrar depois que a execução terminar. Sem Chrome nem Edge, ele pede que você aponte AUTODEV_BROWSER para um deles. O painel tem a mesma ação.
Serve o plano web (eventos SSE e comandos POST) em 127.0.0.1, para uma UI local ou para a extensão. Ele não inicia uma execução. Sem --daemon, roda neste terminal. Qualquer ação além de stop e pair imprime um erro e sai com código 1.
Flag
Padrão
O que faz
--daemon
desligada
Roda separado e supervisionado. Sobrevive ao terminal e, depois de uma reinicialização, volta a subir quando você roda autodev em qualquer projeto.
--port <n>
8787
A porta a usar. 0 escolhe uma porta efêmera.
--token <t>
gerado
O token bearer que os clientes precisam apresentar. Usa AUTODEV_WEB_TOKEN quando ela está definida, e é gerado caso contrário.
--tier <t>
full
O nível de telemetria do fluxo de eventos: status, events ou full. Qualquer outro valor é lido como full.
--tunnel
desligada
Expõe o plano publicamente por um quick tunnel do cloudflared, para o check-in remoto.
Com --daemon, imprime o endereço e diz onde o token fica guardado, ~/.autodev/serve.json.
Pede ao servidor em execução um código de pareamento, e imprime o código, quando ele expira e, com um túnel no ar, o endereço público para abrir no celular. Sem servidor em execução, imprime remote access is not running e sai com código 1.
Serve as ferramentas do AutoDev para um participante por MCP stdio: a thread, a memória, os avisos e, quando estão ligadas, as ferramentas de navegador. A CLI de um participante o inicia, e ele encontra o projeto por AUTODEV_ROOT.
Despacha um envelope Command v1, dado como JSON: a interface de máquina para comandos. Imprime uma linha JSON, ok, kind e result ou reason, e sai com código diferente de zero numa rejeição ou num envelope malformado.