ProductOS Agent
Última atualização:
Um programa pequeno que roda na sua máquina. Ele executa a definição de mudança de uma dor no seu próprio repositório, com Claude Code ou Codex, e você acompanha tudo ao vivo no ProductOS.
Em resumo
- Instale o agente na sua máquina e entre com a sua conta do ProductOS.
- Vincule um checkout git de um repositório conectado no seu workspace.
- Numa dor, Entregar e depois Executar: escolha a máquina e a ferramenta.
- O resultado é um branch e um commit no seu repositório, com pull request quando o GitHub CLI está instalado.
1. O que é o ProductOS Agent
O ProductOS Agent é um executável pequeno que você instala na sua máquina. Ele entra como você, vincula seus checkouts git locais aos repositórios que seus workspaces conectam e detecta as ferramentas de código instaladas: Claude Code e Codex.
Quando você aciona Executar na janela Entregar de uma dor, o agente executa a definição de mudança no checkout vinculado: edita, roda os testes, cria um branch, faz o commit e abre um pull request.
A execução aparece numa gaveta no ProductOS, onde você acompanha cada passo e responde às perguntas da ferramenta. O código nunca sai da sua máquina para o ProductOS; só os eventos da execução.
2. Requisitos
Na máquina onde o agente vai rodar, você precisa de:
- git instalado.
- Claude Code (comando claude) ou Codex CLI (comando codex), instalado e com login feito nesta máquina. Pode ter os dois.
- Um repositório do GitHub conectado no seu workspace do ProductOS, e um checkout dele nesta máquina.
- Opcional: o GitHub CLI (comando gh), para que o agente abra o pull request ao final.
3. Instalação
Um binário estático para Linux, macOS e Windows, amd64 e arm64. Escolha o comando da sua plataforma:
- macOS
brew install productos-technology/tap/productos-agent- Linux e macOS
curl -fsSL https://productos.technology/install.sh | sh- Windows
winget install ProductOS.Agent
Ou baixe um arquivo nas releases no GitHub e coloque o binário productos-agent no seu PATH. As somas de verificação estão no arquivo checksums.txt de cada versão.
4. Primeiro uso
-
Entre com a sua conta. O comando abre o navegador, você aprova o agente e esta máquina é registrada como um dispositivo seu. O servidor é productos.technology; um ProductOS hospedado por você é passado como argumento.
productos-agent login -
Vincule um checkout. O remoto origin dele precisa ser um repositório conectado no seu workspace; se não for, o agente lista o que o ProductOS esperava.
productos-agent link ~/code/my-app -
Mantenha o agente conectado: em primeiro plano, ou como um serviço que inicia com a sua sessão (systemd no Linux, launchd no macOS, Agendador de Tarefas no Windows).
productos-agent run productos-agent service install -
No ProductOS, abra uma dor, acione Entregar, escolha esta máquina e a ferramenta e acione Executar.
productos-agent status mostra o servidor, o login, as ferramentas, o dispositivo e os checkouts vinculados; productos-agent doctor verifica cada requisito.
5. Como funciona uma execução
Do clique em Executar ao pull request, o agente segue os mesmos passos sempre:
- A execução chega pelo canal do dispositivo e o agente responde em até 15 segundos.
- O checkout precisa estar limpo. O agente busca o branch padrão no origin e cria a partir dele um branch com o nome que o ProductOS definiu, como
productos/mob-p7-offline-drafts-are-lost. - A ferramenta roda sem supervisão, com a definição de mudança como instrução: edita o código e roda os testes.
- Cada mensagem, chamada de ferramenta, arquivo alterado, teste e linha de log vira um evento na gaveta do ProductOS, em tempo real.
- Se a ferramenta fizer uma pergunta, a execução espera. Você responde na gaveta e a sessão continua de onde parou.
- Ao terminar, o trabalho é commitado como
MOB-P7: Offline drafts are lost, com o trailerProductOS: MOB-P7, o branch é enviado e, seghestiver instalado, um pull request é aberto. A gaveta mostra o branch, o commit, o link do pull request e um resumo.
Você pode cancelar a qualquer momento pela gaveta: o processo da ferramenta é encerrado. Uma execução que passe de 2 horas é encerrada pelo agente.
Uma execução sempre termina num resultado legível: “Código alterado”, com a branch, o commit e o pull request; “Nada a mudar”, quando a ferramenta encontrou a mudança já no código (ela diz onde; uma pessoa confirma no painel); ou uma falha com o motivo. O que a ferramenta editou antes de uma falha ou de um cancelamento fica commitado na branch da execução, e a próxima execução parte de um checkout limpo.
6. Atualizações
Antes de cada execução, o agente compara a própria versão com o último release que o ProductOS conhece. Se estiver atrasado, ele se atualiza primeiro (o arquivo é conferido contra os checksums do release) e só então executa a mudança, já na versão nova. Ele nunca se atualiza no meio de uma execução, e uma atualização que falha nunca derruba a execução.
Com o agente ocioso, a mesma atualização acontece assim que ele souber de uma versão nova. Você também pode atualizar à mão, ou só conferir o que há:
productos-agent update
productos-agent update --check
Instalado pelo Homebrew ou pelo winget, o agente não se substitui: ele imprime o comando do gerenciador de pacotes. Uma máquina abaixo da versão mínima que o ProductOS aceita não inicia execuções até atualizar; o diálogo Entregar avisa.
Para desligar a atualização automática, defina "auto_update": false no config.json do agente ou exporte PRODUCTOS_AGENT_NO_UPDATE=1.
7. Segurança
- O agente só executa em checkouts que você vinculou, e um checkout só é vinculado quando o remoto dele corresponde a um repositório conectado no seu workspace. O servidor confere isso a cada execução.
- O dispositivo pertence à sua conta. Só você pode iniciar execuções nele; para qualquer outra pessoa, ele não existe.
- Os tokens ficam no chaveiro do sistema operacional. Os tokens de acesso duram uma hora e são renovados com rotação.
- O agente nunca recebe cookies, tokens CSRF nem segredos de ninguém. A definição de mudança não traz o nome de nenhum cliente.
- Para revogar um dispositivo, use Conta e depois Dispositivos no ProductOS, ou
productos-agent logoutna máquina. Isso cancela as execuções em andamento e desfaz os vínculos.
8. Problemas comuns
- Dispositivo offline
-
O agente não está rodando ou não fala com o servidor há mais de 90 segundos. Veja o estado e volte a conectar, em primeiro plano ou pelo serviço:
productos-agent status productos-agent run productos-agent service start - Repositório não vinculado
-
A dor pertence a um produto cujo repositório não tem checkout vinculado nesta máquina. Entre no checkout e vincule:
cd ~/code/my-app productos-agent link - Ferramenta não encontrada
-
A ferramenta escolhida não está no PATH desta máquina ou não tem login. Instale o Claude Code ou o Codex, entre na ferramenta e confira:
productos-agent doctor
--verbose em qualquer comando também escreve o log no terminal. O log estruturado fica em agent.log, no diretório de estado do agente; tokens e definições de mudança nunca são gravados.
9. Código e licença
O código do agente é aberto, em github.com/productos-technology/productos-agent, sob a licença MIT.
O contrato entre o agente e o servidor está em docs/reference/agent-protocol.md, no repositório do ProductOS.